JP2005071031A - Queuing system, and method and program for queue process - Google Patents
Queuing system, and method and program for queue process Download PDFInfo
- Publication number
- JP2005071031A JP2005071031A JP2003298938A JP2003298938A JP2005071031A JP 2005071031 A JP2005071031 A JP 2005071031A JP 2003298938 A JP2003298938 A JP 2003298938A JP 2003298938 A JP2003298938 A JP 2003298938A JP 2005071031 A JP2005071031 A JP 2005071031A
- Authority
- JP
- Japan
- Prior art keywords
- request
- requests
- classification
- response
- 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.)
- Withdrawn
Links
Images
Landscapes
- Multi Processors (AREA)
Abstract
Description
本発明は、リクエストに対する処理の一部または全部を共通処理により一括して実行し得る分類毎に複数のリクエストに対する処理を実行し、複数のリクエストに対する処理を効率的に実行することができるキューイング装置、キュー処理方法およびキュー処理プログラムに関する。 The present invention executes a process for a plurality of requests for each classification in which a part or all of the processes for a request can be collectively executed by a common process, and can efficiently execute a process for a plurality of requests. The present invention relates to an apparatus, a queue processing method, and a queue processing program.
従来、サーバ/クライアント方式のシステムにおいては、サーバに対するクライアントからのリクエストの待ち行列であるリクエストキューを格納し、複数のサーバプロセスもしくはサーバコンピュータによってリクエストキューから順次リクエストを取り出し、各リクエストに対する処理をしたあと、そのリクエスト元に対する返答を行っている。 Conventionally, in a server / client system, a request queue that is a queue of requests from clients to a server is stored, and requests are sequentially extracted from the request queue by a plurality of server processes or server computers, and processing is performed for each request. After that, it responds to the request source.
上記のようなクライアントからの要求に対する返答を行うための要求返答処理においては、サービスの質を保証するために、帯域やアプリケーション属性、あるいは要求元のIPアドレスによってリクエストキューをグループ化する方法が提案されている(例えば、特許文献1参照)。 In request response processing for responding to requests from clients as described above, a method of grouping request queues according to bandwidth, application attributes, or requesting IP address is proposed to guarantee the quality of service. (For example, refer to Patent Document 1).
また、要求返答処理において、複数の要求を一括して処理するために、検索要求の中のキーが同一であるものを同じ領域に格納し、同じ領域に格納されている検索要求に対する処理をまとめて実行するものもある(例えば、特許文献2参照)。 Also, in request reply processing, in order to process a plurality of requests at once, the same key in the search request is stored in the same area, and the processing for the search request stored in the same area is summarized. (For example, refer to Patent Document 2).
ところで、要求返答処理を実行するシステムでは、リクエストの増加に比例してサーバでの処理能力を必要とするため、全てのリクエストに対して一定時間内の処理を保証するためには、例えば一時的な過負荷状態であっても、そのすべてを処理可能な能力でサーバを構成・運用する必要がある。しかし、一般には、過負荷状態が発生せず問題とならない可能性もあるし、たとえ過負荷状態となっても時間的にわずかなことが多いため、過負荷に対する備えを万全なものとしておくことは、システムの性能面やコスト面において困難である。 By the way, in a system that executes request response processing, processing capacity at the server is required in proportion to the increase in requests, so in order to guarantee processing within a certain time for all requests, for example, temporarily It is necessary to configure and operate the server with the ability to handle all of them even in an overloaded state. However, in general, there is a possibility that an overload condition will not occur and it will not be a problem, and even if it becomes an overload condition, there are many times in time, so be prepared for overload. Is difficult in terms of system performance and cost.
従って、全部のリクエストに対する要求返答処理を実行することが困難な状況となった場合には、例えば、特許文献1のように、優先度の低いキューに格納されたリクエストの処理を断念することで対応している。 Therefore, when it becomes difficult to execute the request response processing for all requests, for example, as in Patent Document 1, by abandoning the processing of requests stored in a low priority queue. It corresponds.
なお、特許文献2では、複数の要求を一括して処理するようにしているが、同一の検索結果をそのまま返答することができる同一の要求が複数ある場合にしか対応することができない。すなわち、返答内容が一部でも異なる場合や、要求タイミングによって返答内容を異らせる必要がある場合などには、一括処理により対応することができない。よって、過負荷に対する備えが万全なものとなっているとは言えない。
In
本発明は、上述した問題を解消し、複数のリクエストに対する返答を行うための処理を効率よく実行することができ、一時的な高負荷時であっても、通常の運用時と同じサーバの処理能力で全てのリクエストを処理することができるようにすることを目的とする。 The present invention solves the above-described problems, can efficiently execute processing for responding to a plurality of requests, and can perform the same server processing as during normal operation even during a temporary high load. The goal is to be able to handle all requests with the ability.
本発明によるキューイングシステムは、通信ネットワークを介して受けたリクエストをキューイングして、リクエストに対する返答を行うためにキュー内のリクエストを処理するキューイングシステム(例えばキューイングシステム100)であって、受信したリクエストの内容に応じて複数の分類から当該リクエストの分類を特定し、特定した分類に従ってリクエストを振り分けるリクエスト振分手段(例えば振り分け器21)と、複数の分類のいずれかが割り当てられており、リクエスト振分手段によって振り分けされたリクエストのうち、割り当てられている分類のリクエストをそれぞれ記憶する複数のリクエストキュー(例えばリクエストキュー22a,22b,22c)と、リクエストキューに記憶されている複数のリクエストに返答するための返答情報を、当該リクエストキュー毎に生成する返答処理(例えばステップS302〜S305)を実行する返答処理実行手段(例えば、図1に示すサーバ31,32,33、あるいは図4に示すサーバ31)とを備え、複数の分類は、それぞれ、返答処理の一部または全部が共通処理(例えばステップS302)によって実行される複数のリクエストが同一分類に属するように、リクエストの内容毎に区分けされてあらかじめ設定されており、返答処理実行手段は、リクエストキューに記憶されている複数のリクエストを読み出し(例えばステップS301)、当該複数のリクエストに対する返答を行うための返答処理の一部または全部(例えば、データベース40,41,42の記憶内容を検索する処理、検索結果に応じて各種の判定を行う処理、判定結果に応じて返答情報を生成する処理などの各種の処理のうちの少なくとも一部)を共通処理により一括して行うことを特徴とする。
A queuing system according to the present invention is a queuing system (eg, queuing system 100) that queues a request received via a communication network and processes a request in the queue to reply to the request. Depending on the content of the received request, the request classification is specified from a plurality of classifications, and a request distribution unit (for example, distribution unit 21) that distributes the requests according to the specified classification is assigned to one of the plurality of classifications. Among the requests distributed by the request distribution means, a plurality of request queues (for example, request
返答処理実行手段が、返答処理にて、各リクエスト毎の個別処理を実行する必要があるか否か判定し(例えばステップS303)、必要があれば個別処理(例えばステップS304)を実行して各リクエスト毎に返答するために当該リクエスト毎の返答情報を生成するようにしてもよい。 The response processing execution means determines whether or not individual processing for each request needs to be executed in the response processing (for example, step S303), and executes individual processing (for example, step S304) if necessary. Response information for each request may be generated in order to respond for each request.
所定の分類変更条件が成立したことに応じて(例えばステップS201)、複数の分類の設定内容を変更する分類設定変更手段(例えば分類変更部23)を備え、分類設定変更手段が、分類の内容を変更する処理を実行するとともに、変更後の複数の分類それぞれにリクエストキューのいずれかを割り当てる処理を実行する(ステップS202)ことで設定内容を変更するようにしてもよい。 In response to the establishment of a predetermined classification change condition (for example, step S201), a classification setting changing unit (for example, a classification changing unit 23) that changes the setting contents of a plurality of classifications is provided. The setting content may be changed by executing a process of changing one of the request queues to each of the changed classifications (step S202).
分類変更条件は、単位時間あたりに受信したリクエスト数が所定数(例えば1万件)以上となったときに成立し、分類設定変更手段が、分類変更条件が成立したときに、分類の数を減少(例えば3分類から2分類に減少させる)させて各分類に属するリクエストの範囲を拡大させる処理を実行するようにしてもよい。 The classification change condition is established when the number of requests received per unit time exceeds a predetermined number (for example, 10,000), and the classification setting changing means sets the number of classifications when the classification change condition is established. You may make it perform the process which reduces (for example, reduces from 3 classifications to 2 classifications), and expands the range of the request which belongs to each classification.
分類変更条件は、所定の変更指示(例えばキューイング装置20が備える入力装置を用いたシステム管理者による分類の変更指示)があったときに成立し、分類設定変更手段は、変更指示に従って設定内容を変更する構成とされていてもよい。 The classification change condition is satisfied when there is a predetermined change instruction (for example, a classification change instruction by a system administrator using an input device included in the queuing device 20). May be configured to change.
複数の返答処理実行手段(例えばサーバ31,32,33)を備え、複数の返答処理実行手段は、それぞれ、リクエストキューのいずれかに割り当てられ(例えば、各サーバ31,32,33がそれぞれリクエストキュー22a,22b,22cに割り当てられる)、割り当てられたリクエストキューに記憶されている複数のリクエストに返答するために返答処理を実行し、分類変更手段が、所定の分類変更条件が成立したときに、複数の返答処理実行手段それぞれにおけるリクエストキューの割り当てを変更するようにしてもよい。
A plurality of response processing execution means (for example,
リクエストは、周辺地図を要求するための位置情報を含み、複数の分類は、それぞれ、位置情報が示す位置の範囲毎に区分けされてあらかじめ設定されており、返答処理実行手段が、地図情報が記憶されている地図データベースを検索し、リクエストキューに記憶されている複数のリクエストに応じたそれぞれの周辺地図を含む共通地図を生成する共通処理を実行するようにしてもよい。すなわち、キューイングシステムが、リクエストに応じて周辺地図を提供するための地図情報システム100aであってもよい。 The request includes position information for requesting a surrounding map, and the plurality of classifications are set in advance by being classified for each position range indicated by the position information, and the response processing execution means stores the map information. The common map database may be searched and a common process may be executed to generate a common map including each neighboring map corresponding to a plurality of requests stored in the request queue. That is, the queuing system may be the map information system 100a for providing a surrounding map in response to a request.
リクエストは、チケット予約を要求するための予約依頼情報を含み、複数の分類は、それぞれ、少なくともチケット予約の受付けを行うイベント毎に区分けされてあらかじめ設定されており、返答処理実行手段が、チケットの予約状況情報が記憶されているチケットデータベースを検索し、リクエストキューに記憶されている複数のリクエストに応じて当該リクエストの一部または全部について予約を受け付けるか否かを判定し、その判定結果に応じて当該リクエストの一部または全部について共通の予約結果メッセージを生成する共通処理を実行する構成とされていてもよい。すなわち、キューイングシステムが、リクエストに応じてチケットの予約受付を行うためのチケット予約システム100bであってもよい。 The request includes reservation request information for requesting a ticket reservation. Each of the plurality of classifications is set in advance for each event that accepts at least a ticket reservation. Search the ticket database that stores reservation status information, determine whether or not to accept a reservation for some or all of the requests in response to multiple requests stored in the request queue, and depending on the determination result Thus, a common process for generating a common reservation result message for a part or all of the request may be executed. That is, the queuing system may be a ticket reservation system 100b for accepting a ticket reservation in response to a request.
リクエストは、答案の添削を要求するための添削依頼情報を含み、複数の分類は、それぞれ、試験問題毎に区分けされてあらかじめ設定されており、返答処理実行手段が、試験問題の解答情報が記憶されているチケットデータベースを検索し、リクエストキューに記憶されている複数のリクエストに応じて当該リクエストの一部または全部について正解とするか否かを判定し、その判定結果に応じて当該リクエストの一部または全部について共通の添削結果メッセージを生成する共通処理を実行する構成とされていてもよい。すなわち、キューイングシステムが、リクエストに応じて試験問題の答案の正否を判定するための試験添削システム(試験採点システム100c)であってもよい。 The request includes correction request information for requesting correction of the answer, and a plurality of classifications are set in advance for each test question, and the response processing execution means stores the answer information of the test question. The ticket database is searched, and it is determined whether or not some or all of the requests are correct according to a plurality of requests stored in the request queue, and one of the requests is determined according to the determination result. It may be configured to execute a common process for generating a common correction result message for some or all. In other words, the queuing system may be a test correction system (test scoring system 100c) for determining whether or not an answer to a test question is correct in response to a request.
また、本発明のキューイング装置は、通信ネットワークを介して受けたリクエストをキューイングして、リクエストに対する返答を行うためにキュー内のリクエストを所定の分類毎に振り分けて記憶するキューイング装置(例えばキューイング装置20)であって、受信したリクエストの内容に応じて複数の分類から当該リクエストの分類を特定し、特定した分類に従ってリクエストを振り分けるリクエスト振分手段と、複数の分類のいずれかが割り当てられており、リクエスト振分手段によって振り分けされたリクエストのうち、割り当てられている分類のリクエストをそれぞれ記憶する複数のリクエストキューとを備え、複数のリクエストキューは、それぞれ、当該リクエストキューに記憶されているリクエストを通信ネットワークを介して読み出して当該リクエストキューに記憶されている複数のリクエストに返答するための返答情報を生成する返答処理を実行する返答処理実行装置に対し、当該リクエストキュー毎に返答情報を生成させて返答処理の一部または全部を共通処理により一括して実行させるために、割り当てられている分類のリクエストを記憶し、リクエスト振分手段が振り分けの際に用いる複数の分類は、それぞれ、返答処理の一部または全部が共通処理によって実行される複数のリクエストが同一分類に属するように、リクエストの内容毎に区分けされてあらかじめ設定されていることを特徴とする。 In addition, the queuing device of the present invention queues a request received via a communication network, and distributes and stores the requests in the queue for each predetermined classification in order to reply to the request (for example, A queuing device 20) that identifies a request classification from a plurality of classifications according to the content of the received request and distributes the requests according to the identified classification, and assigns one of the plurality of classifications Among the requests distributed by the request distribution means, and a plurality of request queues each storing a request of the assigned classification, and each of the plurality of request queues is stored in the request queue. Requests that are made over a communications network The response processing execution device that executes response processing for generating response information for responding to a plurality of requests stored in the request queue is generated by generating response information for each request queue. In order to execute a part or all of them in a batch by a common process, a request for the assigned classification is stored, and the plurality of classifications used by the request distribution means for distribution are respectively a part of the response process or It is characterized in that a plurality of requests that are all executed by a common process are classified and set in advance so as to belong to the same classification.
所定の分類変更条件が成立したことに応じて、複数の分類の設定内容を変更する分類設定変更手段を備え、分類設定変更手段が、分類の内容を変更する処理を実行するとともに、変更後の複数の分類それぞれにリクエストキューのいずれかを割り当てる処理を実行することで設定内容を変更するように構成されていてもよい。 A classification setting changing unit that changes setting contents of a plurality of classifications in response to the establishment of a predetermined classification changing condition, and the classification setting changing unit executes a process of changing the contents of the classification, and The setting content may be changed by executing a process of assigning one of the request queues to each of the plurality of classifications.
分類変更条件は、単位時間あたりに受信したリクエスト数が所定数以上となったときに成立し、分類設定変更手段が、分類変更条件が成立したときに、分類の数を減少させて各分類に属するリクエストの範囲を拡大させる処理を実行するように構成されていてもよい。 The classification change condition is satisfied when the number of requests received per unit time exceeds a predetermined number, and the classification setting change means reduces the number of classifications to each classification when the classification change condition is satisfied. It may be configured to execute processing for expanding the range of the request to which it belongs.
分類変更条件は、所定の変更指示があったときに成立し、分類設定変更手段が、変更指示に従って設定内容を変更するように構成されていてもよい。 The classification change condition may be satisfied when a predetermined change instruction is given, and the classification setting change unit may be configured to change the setting contents according to the change instruction.
返答処理実行装置によってリクエストキュー毎に生成された返答情報を通信ネットワークを介して受信する返答情報受信手段と、受信した返答情報と、当該返答情報によりリクエストに対する返答内容が一意に定まることとなったと認識したとき(例えば、予約受付が終了している場合)にはその旨を示す情報(例えば予約受付が終了したことを示す情報)とを、リクエストキューに対応付けして保存する返答情報保存手段と、所定のリクエストキューに記憶されているリクエストに対する返答内容が一意に定まることとなっている場合(例えば予約受付が終了したことを示す情報が記憶されている場合)には、返答処理実行装置に返答処理を実行させることなく、当該所定のリクエストキューに記憶されている各リクエストそれぞれのリクエスト元に向けて、返答情報保存手段に保存されている返答情報(例えば、予約できない旨の共通メッセージ)を通信ネットワークを介して送信する返答情報送信手段とを備えていてもよい。 The response information receiving means for receiving the response information generated for each request queue by the response processing execution device via the communication network, the received response information, and the response content uniquely determined by the response information When the information is recognized (for example, when the reservation reception has ended), information indicating that (for example, information indicating that the reservation reception has ended) and response information storage means for storing the information in association with the request queue If the response content to the request stored in the predetermined request queue is uniquely determined (for example, when information indicating that the reservation reception is completed is stored), the response processing execution device The request for each request stored in the predetermined request queue Towards strike source reply information stored in the response information storage means (e.g., a common message that can not be reserved) may include a response information transmitting means for transmitting through the communication network.
また、本発明のキューイング装置は、通信ネットワークを介して受けたリクエストをキューイングして、リクエストに対する返答を行うためにキュー内のリクエストを所定の分類毎に振り分けて記憶するキューイング装置であって、受信したリクエストの内容に応じて複数の分類から当該リクエストの分類を特定し、特定した分類に従ってリクエストを振り分けるリクエスト振分手段と、複数の分類のいずれかが割り当てられており、リクエスト振分手段によって振り分けされたリクエストのうち、割り当てられている分類のリクエストをそれぞれ記憶する複数のリクエストキューと、リクエストキューに記憶されているリクエストのうち所定個(例えば1個、2個)のリクエストを通信ネットワークを介して読み出して当該所定個の読み出したリクエストに返答するための返答情報を生成する返答処理を実行する返答処理実行装置から、当該所定個のリクエスト毎に生成された返答情報を通信ネットワークを介して受信する返答情報受信手段と、受信した返答情報を、該当するリクエストのリクエスト元に向けて通信ネットワークを介して送信する返答情報送信手段とを備え、リクエスト振分手段が振り分けの際に用いる複数の分類は、それぞれ、返答処理実行装置によって生成される返答情報が共通して使用され得る複数のリクエストが同一分類に属するように、リクエストの内容毎に区分けされてあらかじめ設定されており、返答情報送信手段は、受信した返答情報が示す返答内容が所定内容(例えば予約できない旨のメッセージ)であったときには、対応するリクエストキューに記憶されている各リクエストそれぞれのリクエスト元に向けて、当該受信した返答情報と同一の返答情報(例えば予約できない旨のメッセージ)を送信するとともに、当該リクエストキューに記憶されていたリクエストを削除する処理を実行することを特徴とする。 The queuing device of the present invention is a queuing device that queues requests received via a communication network, and distributes and stores the requests in the queue for each predetermined classification in order to respond to the request. Depending on the content of the received request, the request classification means that identifies the classification of the request from the plurality of classifications and distributes the requests according to the identified classification, and one of the plurality of classifications is assigned. Among the requests distributed by the means, a plurality of request queues each storing a request of the assigned classification, and a predetermined number (for example, one or two) of the requests stored in the request queue are communicated Read through the network and read the predetermined number A response information receiving means for receiving, via a communication network, response information generated for each predetermined number of requests from a response processing execution device for executing response processing for generating response information for responding to the received request; Response information transmitting means for transmitting the received response information to the request source of the corresponding request via a communication network, and the plurality of classifications used by the request distribution means for distribution are each a response processing execution device Are set in advance so that a plurality of requests that can be used in common by the response information belong to the same category, and the response information transmitting means indicates the received response information. If the response content is a predetermined content (for example, a message indicating that reservation is not possible), the corresponding request key The same response information as the received response information (for example, a message indicating that the reservation cannot be made) is sent to the request source of each request stored in-and the request stored in the request queue is deleted. The process which performs is performed.
また、本発明のキュー処理方法は、通信ネットワークを介して受けたリクエストをキューイングし、リクエストに対する返答を行うためにキュー内のリクエストを処理するキュー処理方法であって、受信したリクエストの内容に応じて複数の分類から当該リクエストの分類を特定するステップと、特定した分類に従ってリクエストを振り分けるステップと、複数の分類のいずれかが割り当てられており、リクエスト振分手段によって振り分けされたリクエストのうち、割り当てられている分類のリクエストを複数のリクエストキューにそれぞれ記憶するステップと、リクエストキューに記憶されている複数のリクエストを読み出すステップと、読み出した複数のリクエストに返答するための返答情報を当該リクエストキュー毎に生成する返答処理の一部または全部を共通処理により一括して行うステップとを含み、複数の分類は、それぞれ、返答処理の一部または全部が共通処理によって実行される複数のリクエストが同一分類に属するように、リクエストの内容毎に区分けされてあらかじめ設定されていることを特徴とする。 Further, the queue processing method of the present invention is a queue processing method for queuing a request received via a communication network and processing a request in the queue in order to reply to the request. Accordingly, a step of identifying the request classification from a plurality of classifications, a step of distributing requests according to the identified classification, and a plurality of classifications are assigned, and among the requests distributed by the request distribution means, A step of storing the assigned classification request in each of the plurality of request queues, a step of reading out the plurality of requests stored in the request queue, and response information for replying to the plurality of read requests. Response generated every time And performing a part or all of the processing in a batch by a common process, and the plurality of classifications are such that a plurality of requests executed by the common processing are partly or entirely part of the reply process belong to the same class. , And is preset according to the contents of the request.
所定の分類変更条件が成立したことに応じて、分類の内容を変更する処理を実行するとともに、変更後の複数の分類それぞれにリクエストキューのいずれかを割り当てる処理を実行することで、複数の分類の設定内容を変更するステップを含む構成とされていてもよい。 In response to the establishment of a predetermined classification change condition, a process for changing the contents of the classification is executed, and a process for assigning one of the request queues to each of the plurality of changed classifications is executed, whereby a plurality of classifications are executed. It may be configured to include a step of changing the setting contents.
さらに、本発明のキュー処理プログラムは、通信ネットワークを介して受けたリクエストをキューイングし、リクエストに対する返答を行うためにキュー内のリクエストを処理させるためのキュー処理プログラムであって、コンピュータ(例えばキューイング装置20、サーバ31,32,33)に、受信したリクエストの内容に応じて複数の分類から当該リクエストの分類を特定するステップと、特定した分類に従ってリクエストを振り分けるステップと、複数の分類のいずれかが割り当てられており、リクエスト振分手段によって振り分けされたリクエストのうち、割り当てられている分類のリクエストを複数のリクエストキューにそれぞれ記憶するステップと、リクエストキューに記憶されている複数のリクエストを読み出すステップと、読み出した複数のリクエストに返答するための返答情報を当該リクエストキュー毎に生成する返答処理の一部または全部を共通処理により一括して行うステップとを実行させ、複数の分類は、それぞれ、返答処理の一部または全部が共通処理によって実行される複数のリクエストが同一分類に属するように、リクエストの内容毎に区分けされてあらかじめ設定されていることを特徴とする。
Further, the queue processing program of the present invention is a queue processing program for queuing a request received via a communication network and processing a request in the queue in order to respond to the request. In the
コンピュータに、さらに、所定の分類変更条件が成立したことに応じて、分類の内容を変更する処理を実行するとともに、変更後の複数の分類それぞれにリクエストキューのいずれかを割り当てる処理を実行することで、複数の分類の設定内容を変更するステップを実行させるように構成されていてもよい。 In addition to executing a process for changing the contents of the classification and a process for assigning one of the request queues to each of the plurality of changed classifications according to the fact that a predetermined classification changing condition is satisfied on the computer. Thus, the step of changing the setting contents of the plurality of classifications may be executed.
本発明によれば、共通処理によって一括して処理できる可能性を持つ分類をあらかじめ設定し、その分類に属する複数のリクエストを、その分類に対応して設けられたリクエストキューにまとめて格納する構成としたので、1つのリクエストキューに格納されている複数のリクエストに返答するための処理の一部または全部を、一回の共通処理で同時に処理することができるようになり、複数のリクエストに対する返答を行うための処理を効率よく実行することができ、サーバの処理負荷を軽減させることができ、通常の運用時と同様のサーバ能力のままで一時的な高負荷時における対応能力を向上させることができる。よって、一時的な高負荷時であっても全てのリクエストに対する返答を完了させる期待度を向上させることができる。 According to the present invention, a configuration is set in which a category having a possibility of being processed in a batch by common processing is set in advance, and a plurality of requests belonging to the category are collectively stored in a request queue provided for the category. As a result, part or all of the processing for responding to multiple requests stored in one request queue can be processed simultaneously in one common process, and responses to multiple requests can be made simultaneously. Can efficiently execute the processing to perform server processing, reduce the processing load on the server, and improve the response capability at the time of temporary high load while maintaining the same server capability as during normal operation Can do. Therefore, it is possible to improve the degree of expectation that responses to all requests are completed even during a temporary high load.
また、サーバの負荷が増大したときに、分類数を減少させる分類変更を行い、共通処理で対応することとする範囲を拡大させる構成としたことで、各サーバの負荷を軽減させることができる。よって、一時的に負荷が増大した場合であっても、サーバの処理能力を向上させることなく、リクエストに対応した処理を実行することができる。 In addition, when the load on the server increases, the load on each server can be reduced by performing a classification change that reduces the number of classifications and expanding the range to be handled by common processing. Therefore, even if the load temporarily increases, the processing corresponding to the request can be executed without improving the processing capability of the server.
以下、本発明の一実施の形態について図面を参照して説明する。
図1は、本発明の一実施の形態におけるキューイング装置20を含むキューイングシステム100の構成の例を示すブロック図である。キューイングシステム100は、クライアントコンピュータ(以下、「クライアント」という)10と、キューイング装置20と、複数のサーバコンピュータ(以下、単に「サーバ」という)31,32,33とを含む。
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram illustrating an example of a configuration of a
クライアント10とキューイング装置20は、インターネットなどの通信ネットワークに接続されている。また、キューイング装置20と、各サーバ31,32,33は、専用回線などの通信ネットワークによって接続されている。なお、クライアント10は、いくつ設けられていてもよい。
The
クライアント10は、例えばパーソナルコンピュータなどの情報処理装置によって構成され、本システム100の利用者によって管理される。ユーザ端末40は、通信ネットワークに接続するための接続機能や、例えばHTML(HyperText Markup Language)などのマークアップ言語を表示するためのブラウザ機能などの各種の機能を備えている。
The
キューイング装置20は、例えばWWW(World Wide Web)サーバなどの情報処理装置によって構成される。キューイング装置20は、クライアント10から通信ネットワークを介して送信されてきたリクエストを、そのリクエストの内容に応じた分類に振り分けて保持する機能などの各種の機能を有する。
The queuing
リクエストは、クライアントを特定するためのユーザ情報と、リクエストの内容を示す情報とを含む。リクエストの内容を示す情報には、分類を決定するためのキーとなる情報(例えば、周辺地図をリクエストする場合には、周辺地図の中心位置を示す位置情報(実施例1参照))が含まれる。 The request includes user information for specifying the client and information indicating the content of the request. The information indicating the content of the request includes information serving as a key for determining the classification (for example, when requesting a surrounding map, position information indicating the center position of the surrounding map (see Example 1)). .
キューイング装置20は、振り分け器21と、複数のリクエストキュー22a,22b,22cと、分類変更部23とを含む。各リクエストキュー22a,22b,22cは、あらかじめ「分類」が割り当てられている。なお、キューイング装置20には装置20全体を制御する図示しない制御手段が備えられ、この制御手段は、装置20が備える記憶媒体(例えばROM)に格納されている制御プログラムに従って処理を実行する。この例では、制御手段が、振り分け器21と分類変更部23とにそれぞれ搭載されているものとする。
The queuing
振り分け器21は、クライアント10から送信されてきたリクエストを、そのリクエストの内容と、各リクエストキュー22a,22b,22cに割り当てられている分類とに従って、各リクエストキュー22a,22b,22cに振り分ける処理を実行する機能を有する。
The
各リクエストキュー22a,22b,22cは、それぞれ、例えばRAMなどの書き換え可能な記憶媒体によって構成される。各リクエストキュー22a,22b,22cには、それぞれ、あらかじめ割り当てられた分類に適合するリクエストがキューイング(リクエストの待ち行列として格納されることを意味する)される。
Each of the
各リクエストキュー22a,22b,22cに割り当てられる「分類」は、例えば、リクエストの内容の範囲別に区分けされた分類とされる。具体的には、取り扱う可能性のある各リクエストを、その内容に応じてリクエストA,B,Cの3つの分類のいずれかに割り当てることにあらかじめ定めておくようにする。この場合、各リクエストA,B,Cは、各サーバ31,32,33が共通処理によって一括して処理できる可能性を有するリクエストの内容の範囲毎に区分けされる。そして、あらかじめ定められているリクエストの各分類(リクエストA,B,C)が、それぞれ各リクエストキュー22a,22b,22cのいずれかに割り当てられる。
The “classification” assigned to each of the
分類変更部23は、各リクエストキュー22a,22b,22cに割り当てられているリクエストの分類を任意に変更する機能を有する。例えば、分類変更部23は、リクエストの分類の数を変更するとともに、各分類の範囲を変更し、変更後の分類と各リクエストキュー22a,22b,22cとの対応関係を決定する処理を実行する。さらに、分類変更部23は、分類を変更したときに、各リクエストキュー22a,22b,22cと、各リクエストキュー22a,22b,22cに記憶されているリクエストに応じた処理を実行するサーバ31,32,33との新たな対応関係を決定し、その決定結果を必要な各サーバ31,32,33に通知する機能を有する。
The
なお、分類変更部23は、分類の変更などを自動的に処理する機能を有するが、例えばシステム管理者がキューイング装置20の外部より任意に分類の変更指示を行うためのインタフェースとして用いられるようにしてもよい。このように構成すれば、システム管理者による分類変更指示に従って、分類の変更を行うことができ、システム管理を円滑に遂行することができるようになる。
The
各サーバ31,32,33は、それぞれ、例えばWWWサーバなどの情報処理装置によって構成される。各サーバ31,32,33は、それぞれ、キューイング装置20を介して入力したクライアント10からのリクエストに応じて各種の処理を行う機能などの各種の処理を実行するサーバ装置である。
Each of the
各サーバ31,32,33は、各リクエストキュー22a,22b,22cに格納されているリクエストすなわちキュー内のリクエストを読み出し、そのリクエストに応じた処理を実行する機能を有する。
Each of the
なお、キューイング装置20および各サーバ31,32,33は、各サーバ31,32,33を用いて提供される所定のサービス(例えば、地図や飲食店などの検索サービス)の提供者によって管理される。
Note that the queuing
次に、本発明の一実施の形態におけるキューイングシステム100の動作について図面を参照して説明する。
Next, the operation of the
先ず、キューイング装置20によってリクエストが振り分けされて各リクエストキュー22a,22b,22cに保存されるまでの処理について説明する。図2は、キューイング装置20におけるリクエストを振り分けて保存するリクエスト格納処理の例を示すフローチャートである。
First, processing until a request is distributed by the queuing
なお、キューイング装置20には、分類の初期設定として、リクエストの分類と、各分類と各リクエストキュー22a,22b,22cとの対応関係とがあらかじめ設定されている。ここでは、初期設定として、リクエストの内容に応じた3つの分類A,B,Cが定められ、各分類A,B,Cにそれぞれ各リクエストキュー22a,22b,22cが対応付けされているものとする。なお、初期設定は、例えばキューイング装置20の起動時に自動的に設定されるようにしてもよく、システム管理者が事前に装置20が備える入力装置(例えばキーボードやマウス)を操作して設定するようにしてもよい。
In the queuing
リクエスト格納処理において、キューイング装置20の分類変更部23は、分類変更条件が成立したか否か確認し(ステップS201)、成立していれば成立した条件の内容に応じて分類変更処理を実行する(ステップS202)。
In the request storing process, the
分類変更条件は、サーバアプリケーションの種類により定められていてもよいし、サーバの台数、想定されるリクエストの処理数、現在のリクエストキューに格納されているリクエスト数などにより定められていてもよい。また、分類変更処理は、サーバ管理者の指示によって実行する構成としてとしてもよいし、現在のサーバの運用状況によって自動的に実行するようにしてもよい。 The classification change condition may be determined by the type of server application, or may be determined by the number of servers, the number of requests processed, the number of requests stored in the current request queue, and the like. Further, the classification change process may be executed according to an instruction from the server administrator, or may be automatically executed according to the current operation status of the server.
この例では、分類変更条件には、例えば、単位時間あたりの受信リクエスト数が所定数(例えば1万件)を超えたときに成立する条件(分類変更条件X)や、単位時間あたりの受信リクエスト数が所定数(例えば5千件)以下となったときに成立する条件(分類変更条件Y)など複数の条件があるものとする。また、分類変更処理は、分類変更条件が成立したときに自動的に実行されるものとする。 In this example, the classification change condition includes, for example, a condition (classification change condition X) that is established when the number of received requests per unit time exceeds a predetermined number (for example, 10,000), or a received request per unit time. It is assumed that there are a plurality of conditions such as a condition (classification change condition Y) that is satisfied when the number becomes a predetermined number (for example, 5,000) or less. The classification change process is automatically executed when the classification change condition is satisfied.
ステップS202の分類変更処理では、成立した分類変更条件の内容に応じて、分類の数や、新たな各分類と各リクエストキュー22a,22b,22cとの対応関係を変更するための処理が実行される。なお、分類変更部23は、分類変更処理にて、各リクエストキュー22a,22b,22cと、各リクエストキュー22a,22b,22cに記憶されているリクエストに対応する処理を実行する各サーバ31,32,33との新たな対応関係をも決定する。この決定結果は、分類変更部23により必要なサーバ31,32,33にそれぞれ通知される。
In the classification change process in step S202, processing for changing the number of classifications and the correspondence between each new classification and each
具体的には、分類変更条件Xが成立したときには、各サーバ31,32,33の負荷が大きくなっているので、分類の数を例えば3分類(分類A,B,C)から2分類(分類a,b)に減らし、分類a,bに各リクエストキュー22a,22bを対応させるように変更する。この場合、リクエストキュー22cは使用されない。なお、サーバ33は、例えばリクエストキュー22bに格納されているリクエストに対応した処理をサーバ32と分担して行うようにすればよい。また、サーバ33が、例えば、リクエストキュー22aに格納されているリクエストに対応した処理をサーバ31と分担して行うとともに、リクエストキュー22bに格納されているリクエストに対応した処理をサーバ32と分担して行うようにしてもよい。
Specifically, when the classification change condition X is satisfied, the load on each of the
上記のように分類変更を行えば、負荷が増大してきたときに、共通処理で対応することとする範囲を広げることができ、各サーバ31,32,33の負荷を軽減させることができる。よって、各サーバ31,32,33の処理能力を向上させることなく、リクエストに対応した処理を実行することができる。
If the classification is changed as described above, the range to be dealt with by the common processing when the load increases can be widened, and the load on each
また、具体的には、分類変更条件Yが成立したときには、各サーバ31,32,33の負荷が小さくなっているので、分類の数を例えば3分類(分類A,B,C)から4分類(分類x、y、z、v)に増やし、分類x、y、z、vに各リクエストキュー22a,22b,22c,22d(リクエストキュー22dは図示されていない)を対応させるように変更する。なお、サーバ33は、例えばリクエストキュー22cおよびリクエストキュー22dに格納されているリクエストに対応した処理を順次行うようにすればよい。また、例えば、リクエストキュー22dに格納されているリクエストに対応した処理を、サーバ31,32,33のうちの少なくとも2つで分担して行うようにしてもよい。
Specifically, when the classification change condition Y is satisfied, the load on each of the
上記のように分類変更を行えば、負荷が縮小してきたときに、共通処理で対応することとする範囲を狭めることができ、各サーバ31,32,33の処理能力を十分に発揮させてクライアントコンピュータ10への返答を早期に行うことができる。
If the classification is changed as described above, the range to be dealt with by the common processing when the load is reduced can be narrowed, and the processing capability of each of the
次いで、クライアント10からのリクエストを受信すると(ステップS203)、キューイング装置20の振り分け器21は、受信したリクエストの内容に応じてそのリクエストがどの分類に属するか判定し、その判定結果に応じて振り分け先を決定し、振り分け先のリクエストキュー22a,22b,22cにリクエストを送信する(ステップS204)。
Next, when a request from the
そして、リクエストキュー22a,22b,22cは、送信されてきたリクエストをそれぞれ保存する(ステップS205)。よって、各リクエストキュー22a,22b,22cに、それぞれ、割り当てられている分類のリクエストが保存される。すなわち、各リクエストキュー22a,22b,22cに保存されるリクエスト群は、それぞれ、各サーバ31,32,33が一括処理できる可能性のあるものとなっている。
Then, the
上記のようにして、クライアント10などの各クライアントからのリクエストが、一括処理できる可能性のあるいずれかの分類に振り分けされて各リクエストキュー22a,22b,22cに保存される。すなわち、各リクエストキュー22a,22b,22cに、それぞれ、一括処理できる可能性のあるリクエスト群が保存される。
As described above, requests from each client such as the
次に、各クライアントからのリクエストが各リクエストキュー22a,22b,22cに振り分けされて保存されたあと、各サーバ31,32,33が各リクエストに応じた処理を実行し、各リクエストに対する返答を行う処理について説明する。
Next, after a request from each client is distributed and stored in each
図3は、キューイングシステム100における各サーバ31,32,33が実行するリクエスト対応処理の例を示すフローチャートである。なお、ここでは、クライアント10からのリクエストが各リクエストキュー22a,22b,22cに既に記憶されているものとする。また、ここでは、サーバ31が、対応するリクエストキュー22aに記憶されている各リクエストに応じた処理を実行する場合を例に説明する。
FIG. 3 is a flowchart illustrating an example of a request handling process executed by each
リクエスト対応処理は、例えば、各サーバ31,32,33それぞれにおいて、一定時間毎に実行される。一定時間は、例えば返答を早期に行う必要があるかなどの取り扱うリクエストの内容に応じてあらかじめ定められる。具体的には、一定時間は、例えば、1秒ごと、1分ごと、1時間ごとなどのように定められる。なお、一定時間毎に限らず、各リクエストキュー22a,22b,22cにリクエストキューが保存されたことをキューイング装置20から通知されたときに、リクエスト対応処理を実行するようにしてもよい。
The request handling process is executed at regular intervals in each of the
リクエスト対応処理において、サーバ31は、リクエストキュー22aに記憶されている全てのリクエストを読み出し(ステップS301)、全リクエストについての共通処理を実行する(ステップS302)。
In the request handling process, the
共通処理とは、複数のリクエストそれぞれに返答できるようにするために一括して実行される処理であって、複数のリクエストに対するそれぞれの処理を網羅した共通の処理を意味する。 The common process is a process that is collectively executed so as to be able to respond to each of a plurality of requests, and means a common process that covers each process for a plurality of requests.
なお、共通処理では、全てのリクエストについて一括して処理される場合と、全リクエストのうちの一部で構成される複数のリクエストについて一括して処理される場合とがある。後者の場合には、ステップS302にて、全てのリクエストを網羅するまで共通処理が複数回実行されることになる。 In the common processing, there are a case where all requests are processed in batch and a case where a plurality of requests configured by a part of all requests are processed in batch. In the latter case, the common process is executed a plurality of times until all requests are covered in step S302.
共通処理を終えると、サーバ31は、個別処理が必要か否か確認する(ステップS303)。すなわち、共通処理のみによって全てのリクエストに対する返答を行うことができるか否か確認する。例えば、共通処理の結果により全てのリクエストの返答を行うことができる場合は個別処理を行う必要がないことになり、共通処理の結果では全てのリクエストの返答を行うことができない場合(例えば、返答する情報の内容が不足している場合)は個別処理を行う必要があることになる。
When the common process is finished, the
個別処理が必要であると判定した場合には、サーバ31は、個別処理が必要な各リクエストについて、個別処理を実行する(ステップS304)。
If it is determined that the individual processing is necessary, the
各リクエストに対する返答を示す返答情報の作成を終えると、サーバ31は、通信ネットワークを介して、リクエスト元であるクライアント10などの各クライアントに向けて返答情報を送信する(ステップS305)。この処理結果は、全てのリクエストに対して共通の結果である場合と、全リクエストの一部または全部について個別の結果である場合とがある。
When the creation of the response information indicating the response to each request is completed, the
以上説明したように、上述した一実施の形態では、クライアントからのリクエストをあらかじめ定められた分類に振り分けて、分類毎に設けられたリクエストキューに格納し、各リクエストキューに保存されたリクエストの全部または一部を一括して処理する構成としたので、リクエストに対応する各サーバの処理の負荷を軽減させることができる。 As described above, in the above-described embodiment, the requests from the client are assigned to predetermined classifications, stored in the request queue provided for each classification, and all the requests stored in each request queue are stored. Alternatively, since a part is processed in batch, the processing load of each server corresponding to the request can be reduced.
また、上述したように、共通処理によって一括して処理できる可能性を持つ分類をあらかじめ設定し、その分類に属する複数のリクエストを、その分類に対応して設けられたリクエストキューにまとめて格納する構成としたので1つのリクエストキューに格納されている複数のリクエストに返答するための処理の一部または全部を、一回の共通処理で同時に処理することができるようになり、各サーバの処理負荷を軽減させることができ、通常の運用時と同様のサーバ能力のままで一時的な高負荷時における対応能力を向上させることができる。よって、一時的な高負荷時であっても全てのリクエストに対する返答を完了させる期待度を向上させることができる。 In addition, as described above, a category having a possibility of being processed in a batch by common processing is set in advance, and a plurality of requests belonging to the category are collectively stored in a request queue provided corresponding to the category. Because it is configured, part or all of the processing for responding to multiple requests stored in one request queue can be processed simultaneously in one common processing, and the processing load of each server Can be mitigated, and the response capability at the time of temporary high load can be improved while maintaining the same server capability as during normal operation. Therefore, it is possible to improve the degree of expectation that responses to all requests are completed even during a temporary high load.
また、上述したように、サーバ31,32,33の負荷が増大したときに、分類数を減少させる分類変更を行い、共通処理で対応することとする範囲を拡大させる構成としたことで、各サーバ31,32,33の負荷を軽減させることができる。よって、一時的に負荷が増大した場合であっても、各サーバ31,32,33の処理能力を向上させることなく、リクエストに対応した処理を実行することができる。
In addition, as described above, when the load on the
なお、上述した実施の形態では、分類変更条件が成立したか否かを監視し、条件が成立したときに分類変更処理を行う構成としていたが、分類を変更することなく初期設定時のまま固定する構成(例えば、ステップS201,S202を実行しない構成)としてもよい。この場合、分類変更部23は、システム管理者により初期設定の変更指示があったことにもとづいて、分類の内容の初期設定を変更する処理を実行する。
In the above-described embodiment, whether or not the classification change condition is satisfied is monitored, and the classification change process is performed when the condition is satisfied. However, the classification is not changed and the initial setting is fixed. It is good also as a structure to perform (for example, the structure which does not perform step S201, S202). In this case, the
また、上述した実施の形態では、3つのサーバ31,32,33を設ける構成としていたが、全部のリクエストキューに格納されている各リクエストに対応する処理を1つのサーバにより行う構成としてもよい。この場合、例えば図4に示すように、リクエストキュー22a,22b,33cに格納されているそれぞれのリクエスト群に対応する処理を、1つのサーバ31が順次実行する構成とすればよい。このような構成としても、上述した効果と同様の効果を得ることができる。
In the above-described embodiment, the three
また、上述した実施の形態では、キューイング装置20とサーバ31,32,33とをそれぞれ別の情報処理装置で構成していたが、キューイング装置20とサーバ31,32,33とが同一の情報処理装置により構成されていてもよい。
In the above-described embodiment, the queuing
また、上述した実施の形態におけるキューイング装置20や各サーバ31,32,33には、キューイング装置20や各サーバ31,32,33に、通信ネットワークを介して受けたリクエストをキューイングさせ、リクエストに対する返答を行うためにキュー内のリクエストを処理させるためのキュー処理プログラムが搭載されている。例えば、キュー処理プログラムは、キューイング装置20や各サーバ31,32,33に、受信したリクエストの内容に応じて複数の分類から当該リクエストの分類を特定するステップ(ステップS204)と、特定した分類に従ってリクエストを振り分けるステップ(ステップS205)と、複数の分類のいずれかが割り当てられており、リクエスト振分手段によって振り分けされたリクエストのうち、割り当てられている分類のリクエストを複数のリクエストキュー22a,22b,22cにそれぞれ記憶するステップ(ステップS205)と、リクエストキュー22a,22b,22cに記憶されている複数のリクエストを読み出すステップ(ステップS301)と、読み出した複数のリクエストに返答するための返答情報を当該リクエストキュー毎に生成する返答処理の一部または全部を共通処理により一括して行うステップ(ステップS302)とを実行させる制御プログラムである。なお、複数の分類は、それぞれ、返答処理の一部または全部が共通処理によって実行される複数のリクエストが同一分類に属するように、リクエストの内容毎に区分けされてあらかじめ設定されている。
In addition, the queuing
また、キュー処理プログラムは、キューイング装置20に、さらに、所定の分類変更条件が成立したことに応じて、分類の内容を変更する処理を実行するとともに、変更後の複数の分類それぞれにリクエストキューのいずれかを割り当てる処理を実行することで、複数の分類の設定内容を変更するステップ(例えばステップS201,S202)を実行させる制御プログラムである。
In addition, the queue processing program further executes a process for changing the contents of the classification in response to the establishment of a predetermined classification change condition in the
以下、第1の実施例として、上述した本発明の一実施の形態におけるキューイングシステム100を、地図情報の閲覧リクエストをキューイングするための地図情報システム100aに適用した例について説明する。
Hereinafter, an example in which the
図5は、地図情報システム100aの構成の例を示すブロック図である。地図情報システム100aは、クライアント10(図5では図示せず)と、キューイング装置20と、サーバ31,32,33と、地図情報データベース40とを含む。
FIG. 5 is a block diagram illustrating an example of the configuration of the map information system 100a. The map information system 100a includes a client 10 (not shown in FIG. 5), a queuing
地図情報データベース40は、例えばハードディスクなどの大容量記憶媒体によって構成され、地図を表示するためのベクトルデータや、地図に表示される記号や図形などの各種のデータが保存されている。 The map information database 40 is composed of, for example, a large-capacity storage medium such as a hard disk, and stores vector data for displaying a map and various data such as symbols and figures displayed on the map.
この例では、各リクエストキュー22a,22b,22cは、それぞれ、一定の各地域ブロックに対応して分類されているものとする。
In this example, it is assumed that the
また、この例では、各サーバ31,32,33は、それぞれ、対応するリクエストキュー22a,22b,22cに格納されているリクエストに従って、地図情報データベース40からベクトルデータを読み出し、2次元の平面地図の作成して返答を行う機能を有している。2次元の平面地図は、例えばGIF(Graphics Interchange Format)などの画像フォーマットで作成される。
In this example, each
次に、この例におけるリクエスト格納処理について説明する。リクエスト格納処理において、キューイング装置20の分類変更部23は、クライアント10からのリクエストを受信すると(ステップS203参照)、リクエストの内容に応じて分類を決定する(ステップS204参照)。
Next, request storage processing in this example will be described. In the request storing process, when the
この例では、リクエストには、例えばクライアント10のアドレスを特定するためのユーザ情報と、周辺地図を希望する場所を特定するための場所情報とが含まれる。場所情報には、例えば、緯度および経度を示す情報や、地名、あるいは所在地を示す情報が用いられる。
In this example, the request includes, for example, user information for specifying the address of the
また、リクエストの分類は、例えば、そのリクエストにおける場所情報が示す地点(例えば緯度と経度によって特定される地点)が含まれている地域ブロックが、どの分類とされているかによって決定される。すなわち、受信したリクエストにおける場所情報が示す地点を含む地域ブロックに割り当てられている分類が、リクエストの分類とされる。 Further, the classification of the request is determined by, for example, the classification of the area block including the point indicated by the location information in the request (for example, the point specified by the latitude and longitude). That is, the classification assigned to the regional block including the point indicated by the location information in the received request is the classification of the request.
具体的には、例えば図6に示すように、地域ブロックがブロックA〜ブロックCの範囲の3ブロックに分類され、それぞれのブロックA〜Cに対応して分類A〜Cが割り当てられている場合、受信したリクエストが示す場所がブロックAの範囲に含まれていたとすると、ブロックAに割り当てられている分類Aがリクエストの分類とされる。 Specifically, for example, as shown in FIG. 6, the regional blocks are classified into three blocks ranging from block A to block C, and classifications A to C are assigned to the respective blocks A to C. If the location indicated by the received request is included in the range of the block A, the classification A allocated to the block A is set as the classification of the request.
なお、地域ブロックA〜Cは、周辺地図の提供要求のためのリクエストに含まれる場所情報が示す地点が指定され得る範囲とされている。この例では、リクエストに含まれる場所情報が示す地点を中心とした所定範囲の周辺地図が提供されるため、地域ブロックA〜Cの範囲は、図6に示すように、リクエストに応じて作成される地図の範囲よりも狭い範囲となっている。なお、リクエストに応じて作成される地図は、リクエストに含まれる場所情報が示す地点を含むものであればよく、リクエストに含まれる場所情報が示す地点を中心とした地図でなくてもよい。 In addition, the area blocks A to C are within a range in which the point indicated by the location information included in the request for providing the surrounding map can be specified. In this example, since a surrounding map of a predetermined range centering on the point indicated by the location information included in the request is provided, the range of the regional blocks A to C is created according to the request as shown in FIG. The range is narrower than the range of the map. Note that the map created in response to the request only needs to include the point indicated by the location information included in the request, and may not be a map centered on the point indicated by the location information included in the request.
次いで、振り分け器21は、決定した分類Aに対応して割当されているリクエストキュー(例えばリクエストキュー22a)を振り分け先のリクエストキューに決定し、リクエストキュー22aに向けてリクエストを送信する(ステップS204参照)。
Next, the
そして、リクエストキュー22aは、送信されてきたリクエストを受信し、受信したリクエストを保存する(ステップS205参照)。
Then, the
上記のようにして、各リクエストキュー22a,22b,22cに、それぞれ、あらかじめ割り当てられている分類の各リクエストが保存される。例えば、ブロックAとリクエストキュー22aとを分類Aとし、ブロックBとリクエストキュー22bとを分類Bとし、ブロックCとリクエストキュー22cとを分類Cとすることに各分類設定がなされていた場合には、各クライアントからの複数のリクエストが送られてくると、リクエストキュー22aにブロックA内の所定地点の周辺地図を要求する複数のリクエストが保存され、リクエストキュー22bにブロックB内の所定地点の周辺地図を要求する複数のリクエストが保存され、リクエストキュー22cにブロックC内の所定地点の周辺地図を要求する複数のリクエストが保存されることになる。
As described above, each request of the classification assigned in advance is stored in each of the
次に、この例におけるリクエスト対応処理について説明する。ここでは、サーバ31が、対応するリクエストキュー22aに記憶されているリクエストに応じた処理を実行する場合を例に説明する。
Next, request response processing in this example will be described. Here, a case where the
リクエスト対応処理において、サーバ31は、リクエストキュー22aに記憶されている全てのリクエストを読み出し(ステップS301参照)、全リクエストについての共通処理を実行する(ステップS302参照)。この例では、共通処理において、リクエストキュー22aに記憶されている各リクエストそれぞれの地図情報が示す各地点を含むブロックAの周辺地図を一括して生成する処理を行う。具体的には、図7(A)に示すような、5つのリクエストそれぞれの場所情報が示す各地点の周辺地図(地図Aa,地図Ab,地図Ac,地図Ad,地図Ae)を含む共通地図を生成する。
In the request handling process, the
次いで、サーバ31は、個別処理が必要か否か確認する(ステップS303参照)。この例では、共通処理により作成された周辺地図が、各リクエストそれぞれに返答するための周辺地図と一致していないため、サーバ31は、個別処理が必要であると判断する。なお、各リクエストそれぞれに返答するための返答情報として、図7(A)に示すような共通地図を共通に用いる場合には、サーバ31は、個別処理は必要ないと判断する。なお、共通地図により返答するか個別処理により作成した個別の地図により返答するかは、あらかじめ決められているものとする。
Next, the
個別処理が必要であると判定されると、サーバ31は、各リクエストそれぞれに対応した個別地図を作成するための個別処理を実行する(ステップS304参照)。
If it is determined that the individual process is necessary, the
個別処理では、サーバ31は、共通地図から各リクエストに対応した周辺地図の地図領域をそれぞれ切り出して、各リクエストそれぞれに返答するための返答情報として用いる個別地図を作成する。個別地図は、例えば図7(B)に示すように、共通地図の一部を切り出して作成された地図であって、各リクエストそれぞれの場所情報が示す地点それぞれの周辺地図である。
In the individual processing, the
返答情報である個別地図を作成すると、サーバ31は、リクエスト元であるそれぞれのクライアントに向けて、通信ネットワークを介して返答情報を送信する処理を行う(ステップS305参照)。
When the individual map that is the response information is created, the
上述したように、本例では、クライアントからの地図要求のリクエストを、あらかじめ地域ブロック毎に定められた分類別に別個のリクエストキューに格納し、各リクエストキューに保存された各リクエストに対応して共通地図を作成する一括処理を行う構成としたので、地図要求のリクエストに対応する各サーバの処理の負荷を軽減させることができる。 As described above, in this example, a request for a map request from a client is stored in a separate request queue according to a predetermined classification for each region block, and is common to each request stored in each request queue. Since the configuration is such that the batch processing for creating the map is performed, it is possible to reduce the processing load of each server corresponding to the request for the map request.
すなわち、共通処理によって共通地図を作成したあとその共通地図を用いて個別地図を作成する構成としたので、共通地図を作成することなく各リクエストに応じて個別地図を個別に作成する場合と比較すると、地図情報データベース40から地図データを読み出す処理によるサーバの負荷や、個別地図を作成する処理によるサーバの負荷を軽減させることができる。 In other words, after creating a common map by common processing, it is configured to create an individual map using the common map. Compared to creating an individual map according to each request without creating a common map, The load on the server due to the process of reading the map data from the map information database 40 and the load on the server due to the process of creating the individual map can be reduced.
また、上述したように、共通処理によって一括して処理できる可能性を持つ分類をあらかじめ設定し、その分類に属する複数のリクエストを、その分類に対応して設けられたリクエストキューにまとめて格納する構成としたので1つのリクエストキューに格納されている複数のリクエストに返答するための処理の一部または全部を、一回の共通処理で同時に処理することができるようになり、サーバの処理負荷を軽減させることができ、通常の運用時と同様のサーバ能力のままで一時的な高負荷時における対応能力を向上させることができる。よって、一時的な高負荷時であっても全てのリクエストに対する返答を完了させる期待度を向上させることができる。 In addition, as described above, a category having a possibility of being processed in a batch by common processing is set in advance, and a plurality of requests belonging to the category are collectively stored in a request queue provided corresponding to the category. Since it is configured, part or all of the processing for responding to multiple requests stored in one request queue can be processed simultaneously in one common processing, and the processing load on the server is reduced. It is possible to reduce this, and it is possible to improve the response capability at the time of temporary high load while maintaining the same server capability as during normal operation. Therefore, it is possible to improve the degree of expectation that responses to all requests are completed even during a temporary high load.
以下、第2の実施例として、上述した本発明の一実施の形態におけるキューイングシステム100を、チケットの予約の受付や管理を行うためのチケット予約システム100bに適用した例について説明する。
Hereinafter, as a second example, an example in which the above-described
図10は、チケット予約システム100bの構成の例を示すブロック図である。チケット予約システム100bは、クライアント10(図10では図示せず)と、キューイング装置20と、サーバ31,32,33と、チケットデータベース41とを含む。
FIG. 10 is a block diagram showing an example of the configuration of the ticket reservation system 100b. The ticket reservation system 100b includes a client 10 (not shown in FIG. 10), a queuing
チケットデータベース41は、例えばハードディスクなどの大容量記憶媒体によって構成され、チケットの予約状況を示す情報などの各種のデータが保存されている。 The ticket database 41 is configured by a large-capacity storage medium such as a hard disk, for example, and stores various data such as information indicating the ticket reservation status.
この例では、各リクエストキュー22a,22b,22cは、それぞれ、コンサートや公演などのチケットの予約を受け付けるイベント毎に分類されているものとする。なお、説明を簡単にするために、各イベントには座席の等級(例えばS席、A席など)はないものとし、予約のリクエストは1席単位でなされるものとする。
In this example, it is assumed that the
また、この例では、各サーバ31,32,33は、それぞれ、対応するリクエストキュー22a,22b,22cに格納されているリクエストに従って、チケットデータベース41からチケット情報を読み出し、空いている座席があるか否かを確認し、空いている座席の中から予約を受け付ける座席を決定し、予約を受け付けた座席を示す予約受付情報を作成して返答を行う機能を有している。
Also, in this example, each
次に、この例におけるリクエスト格納処理について説明する。リクエスト格納処理において、キューイング装置20の分類変更部23は、クライアント10からのリクエストを受信すると(ステップS203参照)、リクエストの内容に応じて分類を決定する(ステップS204参照)。
Next, request storage processing in this example will be described. In the request storing process, when the
この例では、リクエストには、例えばクライアント10のアドレスを特定するためのユーザ情報と、予約を希望するイベントを特定するためのイベント種別情報とが含まれる。イベント種別情報には、例えば、あらかじめ割り当てられている識別番号や、イベント名を示す情報が用いられる。
In this example, the request includes, for example, user information for specifying the address of the
また、リクエストの分類は、例えば、そのリクエストにおけるイベント種別情報が示すイベントがどの分類とされているかによって決定される。すなわち、受信したリクエストにおけるイベント種別情報が示すイベントに割り当てられている分類が、リクエストの分類とされる。 Further, the classification of the request is determined by, for example, the classification of the event indicated by the event type information in the request. That is, the classification assigned to the event indicated by the event classification information in the received request is the classification of the request.
具体的には、チケット予約の受け付けサービスの対象となるそれぞれのイベントA〜Cに対応して分類A〜Cが割り当てられている場合、受信したリクエストが示すイベントがイベントAであったとすると、イベントAに割り当てられている分類Aがリクエストの分類とされる。 Specifically, when the classifications A to C are assigned to the respective events A to C that are subject to the ticket reservation reception service, and the event indicated by the received request is the event A, the event The classification A assigned to A is the request classification.
次いで、振り分け器21は、決定した分類Aに対応して割当されているリクエストキュー(例えばリクエストキュー22a)を振り分け先のリクエストキューに決定し、リクエストキュー22aに向けてイベントAのチケット予約要求を含むリクエストを送信する(ステップS204参照)。
Next, the
そして、リクエストキュー22aは、送信されてきたリクエストを受信し、受信したリクエストを保存する(ステップS205参照)。
Then, the
上記のようにして、各リクエストキュー22a,22b,22cに、それぞれ、あらかじめ割り当てられている分類の各リクエストが保存される。例えば、イベントAとリクエストキュー22aとを分類Aとし、イベントBとリクエストキュー22bとを分類Bとし、イベントCとリクエストキュー22cとを分類Cとすることに各分類設定がなされていた場合には、各クライアントからの複数のリクエストが送られてくると、リクエストキュー22aにイベントAについてのチケット予約を要求する複数のリクエストが保存され、リクエストキュー22bにイベントBについてのチケット予約を要求する複数のリクエストが保存され、リクエストキュー22cにイベントCについてのチケット予約を要求する複数のリクエストが保存されることになる。
As described above, each request of the classification assigned in advance is stored in each of the
次に、この例におけるリクエスト対応処理について説明する。ここでは、主として、サーバ31が、対応するリクエストキュー22aに記憶されているリクエストに応じた処理を実行する場合を例に説明する。
Next, request response processing in this example will be described. Here, a case where the
また、ここでは、イベントAとリクエストキュー22aとを分類Aとし、イベントBとリクエストキュー22bとを分類Bとし、イベントCとリクエストキュー22cとを分類Cとすることに各分類設定がなされているものとする。
Also, here, each classification setting is made such that the event A and the
図9は、チケットデータベース41の格納情報の一部を示す説明図である。チケットデータベース41には、図9に示すように、各イベントについての現在の予約状況を示す予約状況情報が格納されている。ここでは、図9に示すように、イベントAは、全座席数が2000人分で現在1900人分の座席が予約されており、イベントBは、全座席数が5000人分で現在全ての座席が予約されており、イベントCは、全座席数が10000人分で現在8500人分の座席が予約されているものとする。 FIG. 9 is an explanatory diagram showing a part of information stored in the ticket database 41. As shown in FIG. 9, the ticket database 41 stores reservation status information indicating the current reservation status for each event. Here, as shown in FIG. 9, in Event A, all seats are reserved for 2000 people, and currently 1900 seats are reserved, and in Event B, all seats are currently reserved for 5000 people. Is reserved, and in event C, the total number of seats is 10,000 and seats for 8500 are currently reserved.
リクエスト対応処理において、サーバ31は、リクエストキュー22aに記憶されている全てのリクエストを読み出し(ステップS301参照)、全リクエストについての共通処理を実行する(ステップS302参照)。この例では、共通処理において、リクエストキュー22aに記憶されている各リクエストが示すイベントについての座席予約を一括して処理するとともに、予約の可否を示す応答メッセージを一括して作成する処理を実行する。
In the request handling process, the
具体的には、サーバ31は、リクエストキュー22aに記憶されているリクエストの数を確認し、何席予約すべきなのかを判定する。次いで、チケットデータベース41にイベントAの残り座席数を問い合わせる。
Specifically, the
問い合わせの結果、必要数以上の残り座席数があれば、チケットデータベース41におけるイベントAの残り座席数を新たに予約する座席数減算し、全ての予約者に関する情報をチケットデータベース41に格納する。 If the number of remaining seats exceeds the required number as a result of the inquiry, the number of seats to be newly reserved is subtracted from the number of remaining seats of event A in the ticket database 41 and information regarding all the reservation persons is stored in the ticket database 41.
具体的には、図9に示すように、イベントAの残り座席数が100席であるため、サーバ31は、リクエストキュー22aに記憶されているリクエストの数(すなわち予約希望の数)が100以下であれば、チケットデータベース41に格納されている予約状況情報のうち、予約済数にリクエストの数を加算するとともに、残り座席数からリクエストの数を減算する処理を行う。そして、新たに予約を受け付けた予約者を特定するための情報をチケットデータベース41に格納する。
Specifically, as shown in FIG. 9, since the number of remaining seats for event A is 100, the
問い合わせの結果、必要数以上の残り座席数はないが、残り座席数はある場合には、リクエストメッセージの到着順に予約可能者を決定し、チケットデータベース41におけるイベントAの残り座席数を新たに予約する座席数減算し、予約可能者に関する情報をチケットデータベース41に格納する。 As a result of the inquiry, there is no remaining number of seats more than the necessary number, but if there is a remaining number of seats, a person who can make a reservation is determined in the order of arrival of the request message, and a new number of remaining seats for event A in the ticket database 41 The number of seats to be subtracted is subtracted, and information relating to the person who can make a reservation is stored in the ticket database 41.
具体的には、図9に示すように、イベントAの残り座席数が100席であるため、サーバ31は、リクエストキュー22aに記憶されているリクエストの数(すなわち予約希望の数)が101以上であれば、チケットデータベース41に格納されている予約状況情報のうち、予約済数に予約可能数の100を加算するとともに、残り座席数から予約可能数である100を減算する処理を行う。そして、新たに予約を受け付けた予約者を特定するための情報をチケットデータベース41に格納する。
Specifically, as shown in FIG. 9, since the number of remaining seats for event A is 100, the
問い合わせの結果、残り座席数が1つもない場合には、チケットデータベース41の更新処理は行わない。 If there is no remaining number of seats as a result of the inquiry, the ticket database 41 is not updated.
次いで、サーバ31は、共通処理(ステップS302参照)において、予約できたそれぞれのユーザに対しては予約を受け付けた旨の共通メッセージ(例えば、「イベントAのチケットの予約を受け付けました。」)を作成し、予約できなかったそれぞれのユーザに対しては予約できない旨の共通メッセージ(例えば、「イベントAの残りチケットはありませんでした。」)を作成する。
Next, in the common process (see step S302), the
そして、サーバ31は、個別処理が必要であれば、個別処理を実行する(ステップS303,S304参照)。例えば、チケットの予約ができない旨のメッセージとして、「○○さん、残りチケットはありませんでした。」というメッセージを各クライアントに送信するシステムであるとすると、「残りチケットはありませんでした。」の部分が共通処理で作成される。そして、個別の氏名である「○○さん、」の部分が個別処理で実行される。従って、上記のような個別のメッセージを含む返答情報を作成することとされている場合には、個別処理が必要であると判定される。なお、ここでは、個別処理にて、例えばCookieと称されるユーザ識別情報を利用して個別の氏名を抽出し、各クライアントへの返答情報を完成させる処理が実行される。
If the individual process is necessary, the
返答情報としてのメッセージを作成すると、サーバ31は、リクエスト元であるクライアント10等の各クライアントに向けて、対応するメッセージを送信する処理を行う(ステップS305参照)。
When a message as response information is created, the
上述したように、クライアントからのチケット予約要求のリクエストをあらかじめイベント毎に個別に定められた分類別に別個のリクエストキューに格納し、各リクエストキューに保存された各リクエストに対応した予約状況の確認や予約の受け付けなどの処理と、各リクエストに対応した共通メッセージを作成する処理とを一括処理で行う構成としたので、チケット予約要求のリクエストに応じた処理を実行するサーバの処理の負荷を軽減させることができる。 As described above, the ticket reservation request from the client is stored in a separate request queue for each event, and the reservation status corresponding to each request stored in each request queue can be confirmed. The process of accepting reservations and the process of creating a common message corresponding to each request are configured as a batch process, reducing the processing load on the server that executes the process according to the request for the ticket reservation request be able to.
また、上述したように、共通処理によって一括して処理できる可能性を持つ分類をあらかじめ設定し、その分類に属する複数のリクエストを、その分類に対応して設けられたリクエストキューにまとめて格納する構成としたので1つのリクエストキューに格納されている複数のリクエストに返答するための処理の一部または全部を、一回の共通処理で同時に処理することができるようになり、サーバの処理負荷を軽減させることができ、通常の運用時と同様のサーバ能力のままで一時的な高負荷時における対応能力を向上させることができる。よって、一時的な高負荷時であっても全てのリクエストに対する返答を完了させる期待度を向上させることができる。 In addition, as described above, a category having a possibility of being processed in a batch by common processing is set in advance, and a plurality of requests belonging to the category are collectively stored in a request queue provided corresponding to the category. Since it is configured, part or all of the processing for responding to multiple requests stored in one request queue can be processed simultaneously in one common processing, and the processing load on the server is reduced. It is possible to reduce this, and it is possible to improve the response capability at the time of temporary high load while maintaining the same server capability as during normal operation. Therefore, it is possible to improve the degree of expectation that responses to all requests are completed even during a temporary high load.
なお、上述した第2の実施例では、各リクエストに応じた全ての処理を終えたあとは、サーバ31,32,33が、リクエスト元であるクライアント10などの各クライアントに処理結果(予約結果を示すメッセージ)を返答する処理を行う構成としていたが、例えば特定のリクエストキューに記憶されているリクエストに対する返答内容が一意に定まることとなっている場合などであれば、キューイング装置20を経由してクライアントに返答する構成としてもよい。
In the second embodiment described above, after all the processes corresponding to each request are completed, the
この場合、キューイング装置20は、サーバ31,32,33から予約できない旨の共通メッセージを受けたときには、リクエストに対する返答内容が一意に定まることとなったと認識し、該当するイベントは予約受付が終了している旨の情報と、予約できない旨の共通メッセージとを対象となるリクエストキュー(リクエストキュー22a,22b,22c)あるいは分類に対応付けて装置内の記憶装置(返答情報保存手段の一例)に保持しておく。そして、キューイング装置20は、その後、例えば定期的にリクエストキュー(リクエストキュー22a,22b,22c)の記憶状態を確認し、予約受付が終了しているイベントの予約要求を示すリクエストが格納されるリクエストキュー(リクエストキュー22a,22b,22c)にリクエストが格納されていれば、リクエストの送信元のクライアントに対して予約できない旨の共通メッセージを送信するとともに、該当するリクエストキューに格納されているリクエストを削除する処理を実行する。
In this case, when the queuing
上記のように構成すれば、予約により満席となり予約受付が終了しているイベントに対して座席予約の要求があったときに、キューイング装置20内で対応することができる。よって、サーバは、予約受付が終了したイベントに対して予約希望のリクエストが送られてきても、予約状況の確認のための処理、共通メッセージを作成するための処理、および共通メッセージを送信するための処理を新たに行う必要をなくすことができ、サーバの処理負荷を大幅に軽減させることができる。
If configured as described above, when there is a request for seat reservation with respect to an event in which the seat is full due to the reservation and the reservation reception has been completed, it is possible to respond within the queuing
また、上述した第2の実施例では、サーバ31,32,33が対応するリクエストキュー22a,22b,22cに記憶されている複数のリクエストの全てを一括処理し、各リクエストに応じた全ての処理を終えたあとは、サーバ31,32,33が、リクエスト元であるクライアント10などの各クライアントに処理結果(予約結果を示すメッセージ)を返答する処理を行う構成としていたが、サーバ31,32,33が対応するリクエストキュー22a,22b,22cに記憶されているリクエストを所定個毎(例えば1個毎、2個毎)に処理する構成とし、例えば特定のリクエストキューに記憶されているリクエストに対する返答内容が所定内容となったときに、その特定のリクエストキューに格納されている他のリクエストに対する返答をキューイング装置20が独自に行う構成としてもよい。
In the second embodiment described above, all of the plurality of requests stored in the
この場合、サーバ31,32,33は、対応するリクエストキュー22a,22b,22cに記憶されている複数のリクエストのうちあらかじめ設定された所定個毎にリクエストを読み出し、その所定個のリクエストの一部または全部に対する共通メッセージを生成し、生成した共通メッセージを含む返答情報をキューイング装置20に送信する。具体的には、例えば、サーバ31が、リクエストキュー22aに記憶されている複数のリクエストのうち最先に記憶された1個のリクエストを読み出し、そのリクエストに応じて予約を受けるか否か判定し、その判定結果にもとづく返答情報をキューイング装置20に送信する。1個のリクエストに対する返答情報を送信すると、次のリクエストを読み出して同様に処理する。このような処理を、リクエストキュー22a内にリクエストがなくなるまで実行する。
In this case, the
また、キューイング装置20は、サーバ31,32,33から返答情報を受信する毎に、リクエスト元であるクライアントに予約結果を示すメッセージを含む返答情報を送信する。ただし、キューイング装置20は、受信した返答情報が示すメッセージが予約できない旨のメッセージであったときには、リクエスト元であるクライアントの他、対応するリクエストキューに保存されている他のリクエストのリクエスト元の各クライアントに対しても、同時刻に受けたリクエストであるとみなして、予約できない旨のメッセージを含む返答情報を送信するとともに、該当するリクエストキューに格納されているリクエストを削除する処理を実行する。なお、キューイング装置20は、対応するリクエストキューに保存されている各リクエストのリクエスト元に共通メッセージとしての予約できない旨のメッセージを送信したあとは、新たに受信したリクエストをリクエストキューに蓄積する処理を実行し、対応するサーバに返答情報の生成のための処理を実行させる通常の状態に戻る。
Further, each time the response information is received from the
なお、上記の例においては、分類は、同時刻に受けたリクエストであるとみなすことができる複数のリクエストであって、サーバ31,32,33によって生成される返答情報を共通して使用することができる可能性のある複数のリクエストが同一分類に属するように、リクエストの内容毎に区分けしてあらかじめ設定しておくようにすればよい。具体的には、例えば上記のようなチケット予約のシステムであれば、同一イベント毎などに区分けして設定しておくようにすればよい。
In the above example, the classification is a plurality of requests that can be regarded as requests received at the same time, and the response information generated by the
上記のように構成すれば、予約により満席となり予約受付が終了したときに、予約受付が終了したイベントに対する座席予約の要求が他にもあったときには、キューイング装置20内によって予約できない旨の共通メッセージを送信することができることになる。よって、サーバは、予約受付が終了したときは、予約受付が終了したイベントに対する予約希望の他のリクエストが存在していても、予約状況の確認のための処理、共通メッセージを作成するための処理、および共通メッセージを送信するための処理を新たに行う必要をなくすことができる。従って、サーバの処理負荷を大幅に軽減させることができる。 If configured as described above, when the reservation is completed and the reservation reception ends, and there is another request for a seat reservation for the event for which the reservation reception has ended, it is common that the reservation cannot be made within the queuing device 20 A message can be sent. Therefore, when the reservation acceptance is completed, the server processes the confirmation of the reservation status and the process for creating a common message even if there is another request for reservation for the event for which the reservation acceptance is finished. It is possible to eliminate the need to newly perform a process for transmitting the common message. Therefore, the processing load on the server can be greatly reduced.
また、上記のように、キューイング装置20が共通メッセージを送信したあと通常の状態に戻る構成とされているので、既に満席となっていてキャンセルも発生していないときには、リクエストキューに記憶されている複数のリクエストのうち例えば1個のリクエストについてだけサーバでの処理を実行すればよく、他のリクエストについてはキューイング装置20が予約できない旨の共通メッセージを送信することができるので、サーバの処理負荷を大幅に軽減させることができる。また、満席となっていたがキャンセルが発生した場合には、その後にサーバに読み込まれたリクエストについて、さらに満席となるまで予約を受けることができる。すなわち、キャンセルが発生した場合に、新たな予約を受け付けることができる状態とすることができる。
In addition, as described above, since the queuing
また、上述した第2の実施例では、各リクエストキュー22a,22b,22cが、それぞれ、チケットの予約を受け付けるイベント毎に分類されているものとしていたが、各イベントの座席の等級毎にリクエストキューを分類する構成としてもよい。このように構成すれば、イベントの座席の各等級毎に共通処理を実行することができるため、等級別に座席予約を行うイベントの座席予約の受け付け処理を行う場合についても、サーバの処理負荷を軽減させることができる。
In the second embodiment described above, the
以下、第3の実施例として、上述した本発明の一実施の形態におけるキューイングシステム100を、試験の採点を行うための試験採点システム100cに適用した例について説明する。なお、試験採点システム100cは、採点までは行わず解答の正否の判定を行う試験添削システムであってもよい。
Hereinafter, as a third example, an example in which the above-described
図10は、試験採点システム100cの構成の例を示すブロック図である。試験採点システム100cは、クライアント10(図10では図示せず)と、キューイング装置20と、サーバ31,32,33と、試験データベース42とを含む。
FIG. 10 is a block diagram showing an example of the configuration of the test scoring system 100c. The test scoring system 100c includes a client 10 (not shown in FIG. 10), a queuing
試験データベース42は、例えばハードディスクなどの大容量記憶媒体によって構成され、試験問題を示す情報、試験問題の解答を示す情報、試験結果を示す情報、受験者に関する情報などの各種のデータが保存されている。
The
この例では、各リクエストキュー22a,22b,22cは、それぞれ、試験問題の設問毎に分類されているものとする。なお、説明を簡単にするために、試験問題は、同時期には1つしかないものとする。
In this example, it is assumed that the
また、この例では、各サーバ31,32,33は、それぞれ、対応するリクエストキュー22a,22b,22cに格納されているリクエストに従って、試験データベース42から試験情報を読み出し、該当する設問の解答を確認し、正解/不正解の別を判定し、その結果を示す採点情報を作成して受験者である各クライアントに返答を行う機能を有している。
In this example, each
次に、この例におけるリクエスト格納処理について説明する。リクエスト格納処理において、キューイング装置20の分類変更部23は、クライアント10からのリクエストを受信すると(ステップS203参照)、リクエストの内容に応じて分類を決定する(ステップS204参照)。
Next, request storage processing in this example will be described. In the request storing process, when the
リクエストは、採点を希望する1または複数の設問を指定して行われる。この例では、リクエストには、例えばクライアント10のアドレスを特定するためのユーザ情報と、答案を作成した各設問を示す設問情報と、各設問それぞれに対する答案を示す答案情報とが含まれる。設問情報は、例えば、あらかじめ割り当てられている識別番号などを用いるようにすればよい。なお、この例では、説明を簡単にするために、各設問は、選択肢式の問題であるものとする。
The request is made by designating one or more questions for which scoring is desired. In this example, the request includes, for example, user information for specifying the address of the
また、リクエストの分類は、例えば、そのリクエストにおける設問情報が示す設問がどの分類とされているかによって決定される。すなわち、受信したリクエストに含まれている設問情報が示す設問に割り当てられている分類が、リクエストの分類とされる。 Further, the classification of the request is determined by, for example, the classification of the question indicated by the question information in the request. That is, the classification assigned to the question indicated by the question information included in the received request is the request classification.
リクエストにおける設問情報が示す設問が複数ある場合には、振り分け器21は、リクエストを設問別に分割し、分割したリクエストに含まれている設問情報が示す設問に割り当てられている分類を、分割したリクエストの分類とする。
When there are a plurality of questions indicated by the question information in the request, the
具体的には、図11(A)に示すように、リクエストに設問1〜3の3つの設問が含まれていた場合には、そのリクエストは、図11(B)に示すように、設問1および設問1の答案を含むリクエストAと、設問2および設問2の答案を含むリクエストBと、設問3および設問3の答案を含むリクエストCとに分割される。なお、分割された各リクエストA,B,Cには、それぞれユーザ情報が含まれている。
Specifically, as shown in FIG. 11 (A), when the request includes three questions 1 to 3, the request is sent to question 1 as shown in FIG. 11 (B). And the request A including the answer to the question 1, the request B including the answer to the
そして、採点サービスの対象となるそれぞれの設問1〜3に対応して分類A〜Cが割り当てられている場合、分割された各リクエストのうち、リクエストAは設問1に割り当てられている分類Aとされ、リクエストBは設問2に割り当てられている分類Bとされ、リクエストCは設問3に割り当てられている分類Cとされる。
And when classification | category AC is allocated corresponding to each question 1-3 used as the object of scoring service, request A is the classification | category A currently allocated to question 1 among each divided | segmented request. The request B is classified as the category B assigned to the
次いで、振り分け器21は、決定した分類Aに対応して割当されているリクエストキュー(例えばリクエストキュー22a)をリクエストAの振り分け先のリクエストキューに決定し、リクエストキュー22aに向けて設問1の採点要求を含むリクエストAを送信する(ステップS204参照)。同様にして、設問2の採点要求を含むリクエストBをリクエストキュー22bに向けて送信し、設問3の採点要求を含むリクエストCをリクエストキュー22cに向けて送信する。
Next, the
そして、リクエストキュー22a,22b,22cは、送信されてきたリクエストを受信し、受信したリクエストを保存する(ステップS205参照)。
Then, the
上記のようにして、各リクエストキュー22a,22b,22cに、それぞれ、あらかじめ割り当てられている分類の各リクエスト(分割されたリクエストを含む)が保存される。
As described above, each request (including divided requests) of a class assigned in advance is stored in each of the
次に、この例におけるリクエスト対応処理について説明する。ここでは、サーバ31が、対応するリクエストキュー22aに記憶されているリクエストに応じた処理を実行する場合を例に説明する。
Next, request response processing in this example will be described. Here, a case where the
リクエスト対応処理において、サーバ31は、リクエストキュー22aに記憶されている全てのリクエストを読み出し(ステップS301参照)、全リクエストについての共通処理を実行する(ステップS302参照)。この例では、共通処理において、リクエストキュー22aに記憶されている各リクエストが示す設問1についての採点を一括して処理する。
In the request handling process, the
具体的には、サーバ31は、試験データベース41に設問1の正解を問い合わせる。次いで、サーバ31は、リクエストキュー22aに記憶されている各リクエストにおける答案内容毎にグループ分けする。この例では、例えば正解の選択肢を選択しているグループと、不正解の選択肢を選択しているグループとに分ける。また、サーバ31は、正解した旨の共通メッセージと、不正解の旨の共通メッセージとを作成する。
Specifically, the
次いで、サーバ31は、リクエスト者の情報を示すユーザ情報(例えばユーザ名、ユーザID、設問Qに対する解答・正解/不正解の別など)と、設問1の識別情報とを組にして試験データベース41に格納する。
Next, the
また、サーバ31は、個別処理が必要であるか否かを確認し、必要であれば個別処理を実行する(ステップS303,S304参照)。なお、個別処理は、例えば、上述したように、返答するメッセージをクライアント別に作成する場合(ユーザ名を入れるなど)などに実行するようにすればよい。
Further, the
そして、各リクエストに応じた全ての処理を終えると、サーバ31は、リクエスト元である各クライアントに対して、処理結果として、正解した者に対しては正解した旨の共通メッセージ(例えば、「設問1は正解です」)を送信し、不正解した者に対しては不正解である旨の共通メッセージ(例えば、「設問1は不正解です」)を送信する処理を行う(ステップS305参照)。
When all the processes corresponding to each request are completed, the
上述したように、クライアントからの採点要求のリクエストをあらかじめ設問毎に個別に定められた分類別に別個のリクエストキューに格納し、各リクエストキューに保存された各リクエストに対応した採点処理と、各リクエストに対応した共通メッセージを作成する処理とを一括処理で行う構成としたので、採点要求のリクエストに対応するサーバの処理の負荷を軽減させることができる。 As described above, scoring request requests from clients are stored in separate request queues according to classifications determined individually for each question, scoring processing corresponding to each request saved in each request queue, and each request Since the process of creating a common message corresponding to is performed in a batch process, it is possible to reduce the processing load on the server corresponding to the scoring request.
また、上述したように、クライアントからの採点要求のリクエストに複数の設問の答案が含まれている場合には、設問毎にリクエストを分割し、分割した各リクエストをあらかじめ設問毎に個別に定められた分類別に別個のリクエストキューに格納する構成としたので、リクエストに複数の設問の答案が含まれている場合であっても、設問毎にまとめて処理することができ、採点要求のリクエストに対応するサーバの処理の負荷を軽減させることができる。 In addition, as described above, when a scoring request request from a client includes answers to multiple questions, the request is divided for each question, and each divided request is individually determined for each question in advance. Since each request is stored in a separate request queue, even if multiple requests are included in the request, they can be processed together for each question, and the request for scoring requests can be handled. Server processing load can be reduced.
また、上述したように、共通処理によって一括して処理できる可能性を持つ分類をあらかじめ設定し、その分類に属する複数のリクエストを、その分類に対応して設けられたリクエストキューにまとめて格納する構成としたので、1つのリクエストキューに格納されている複数のリクエストに返答するための処理の一部または全部を、一回の共通処理で同時に処理することができるようになり、サーバの処理負荷を軽減させることができ、通常の運用時と同様のサーバ能力のままで一時的な高負荷時における対応能力を向上させることができる。よって、一時的な高負荷時であっても全てのリクエストに対する返答を完了させる期待度を向上させることができる。 In addition, as described above, a category having a possibility of being processed in a batch by common processing is set in advance, and a plurality of requests belonging to the category are collectively stored in a request queue provided corresponding to the category. Since it is configured, part or all of the processing for responding to multiple requests stored in one request queue can be processed simultaneously in one common processing, and the server processing load Can be mitigated, and the response capability at the time of temporary high load can be improved while maintaining the same server capability as during normal operation. Therefore, it is possible to improve the degree of expectation that responses to all requests are completed even during a temporary high load.
なお、1つのリクエストで複数の設問についての採点要求がなされた場合には、各サーバ31,32,33が採点結果をキューイング装置20に送信し、キューイング装置20が各サーバ31,32,33から受信した処理結果をクライアント毎にまとめる処理を実行し、複数の設問についての採点結果をまとめてクライアントに返答する構成としてもよい。この場合、返答に用いられるメッセージは、例えば「全問正解です」、「設問1は正解、設問2は不正解、設問3は正解です」などのような内容とすればよい。
In addition, when the request for scoring about a plurality of questions is made by one request, each
10 クライアントコンピュータ
20 キューイング装置
21 振り分け器
22a,22b,22c リクエストキュー
23 分類変更部
31,32,33 サーバ
40 地図情報データベース
41 チケットデータベース
42 試験データベース
100 キューイングシステム
100a 地図情報システム
100b チケット予約システム
100c 試験採点システム
DESCRIPTION OF
Claims (19)
受信したリクエストの内容に応じて複数の分類から当該リクエストの分類を特定し、特定した分類に従ってリクエストを振り分けるリクエスト振分手段と、
前記複数の分類のいずれかが割り当てられており、前記リクエスト振分手段によって振り分けされたリクエストのうち、割り当てられている分類のリクエストをそれぞれ記憶する複数のリクエストキューと、
前記リクエストキューに記憶されている複数のリクエストに返答するための返答情報を、当該リクエストキュー毎に生成する返答処理を実行する返答処理実行手段とを備え、
前記複数の分類は、それぞれ、前記返答処理の一部または全部が共通処理によって実行される複数のリクエストが同一分類に属するように、前記リクエストの内容毎に区分けされてあらかじめ設定されており、
前記返答処理実行手段は、前記リクエストキューに記憶されている複数のリクエストを読み出し、当該複数のリクエストに対する返答を行うための前記返答処理の一部または全部を前記共通処理により一括して行う
ことを特徴とするキューイングシステム。 A queuing system for queuing a request received via a communication network and processing a request in the queue in order to respond to the request,
A request distribution unit that identifies a classification of the request from a plurality of classifications according to the content of the received request, and distributes the requests according to the identified classification;
One of the plurality of classifications is assigned, and among the requests distributed by the request distribution means, a plurality of request queues each storing requests of the assigned classification,
Reply processing execution means for executing reply processing for generating reply information for replying to a plurality of requests stored in the request queue for each request queue;
The plurality of classifications are set in advance so as to be classified according to the contents of the request so that a plurality of requests that are executed by a common process in a part or all of the response processes belong to the same classification.
The response processing execution means reads out a plurality of requests stored in the request queue, and performs part or all of the response processing for performing a response to the plurality of requests collectively by the common processing. A characteristic queuing system.
請求項1記載のキューイングシステム。 The response processing execution means determines whether it is necessary to execute individual processing for each request in the response processing, and if necessary, executes the individual processing and responds to each request. The queuing system according to claim 1, wherein reply information for each is generated.
前記分類設定変更手段は、分類の内容を変更する処理を実行するとともに、変更後の複数の分類それぞれにリクエストキューのいずれかを割り当てる処理を実行することで前記設定内容を変更する
請求項1または請求項2記載のキューイングシステム。 In accordance with the establishment of a predetermined classification change condition, a classification setting change means for changing the setting contents of a plurality of classifications is provided.
The classification setting changing unit executes a process of changing the contents of the classification and changes the setting contents by executing a process of assigning any of the request queues to each of the plurality of changed classifications. The queuing system according to claim 2.
分類設定変更手段は、前記分類変更条件が成立したときに、分類の数を減少させて各分類に属するリクエストの範囲を拡大させる処理を実行する
請求項3記載のキューイングシステム。 The classification change condition is met when the number of requests received per unit time exceeds the specified number.
The queuing system according to claim 3, wherein the classification setting change unit executes a process of reducing the number of classifications and expanding a range of requests belonging to each classification when the classification change condition is satisfied.
分類設定変更手段は、前記変更指示に従って設定内容を変更する
請求項3または請求項4記載のキューイングシステム。 The classification change condition is satisfied when a predetermined change instruction is given,
The queuing system according to claim 3 or 4, wherein the classification setting change means changes the setting contents in accordance with the change instruction.
前記複数の返答処理実行手段は、それぞれ、リクエストキューのいずれかに割り当てられ、割り当てられたリクエストキューに記憶されている複数のリクエストに返答するために返答処理を実行し、
分類変更手段は、所定の分類変更条件が成立したときに、前記複数の返答処理実行手段それぞれにおける前記リクエストキューの割り当てを変更する
請求項3から請求項5のうちいずれかに記載のキューイングシステム。 A plurality of response processing execution means,
The plurality of response processing execution means are each assigned to one of the request queues, execute response processing to reply to the plurality of requests stored in the assigned request queue,
6. The queuing system according to claim 3, wherein the classification changing unit changes the allocation of the request queue in each of the plurality of response processing execution units when a predetermined classification changing condition is satisfied. .
複数の分類は、それぞれ、前記位置情報が示す位置の範囲毎に区分けされてあらかじめ設定されており、
返答処理実行手段は、地図情報が記憶されている地図データベースを検索し、リクエストキューに記憶されている複数のリクエストに応じたそれぞれの周辺地図を含む共通地図を生成する共通処理を実行する
請求項1から請求項6のうちいずれかに記載のキューイングシステム。 The request includes location information for requesting a surrounding map,
Each of the plurality of classifications is divided and set in advance for each position range indicated by the position information,
The response process execution means searches a map database in which map information is stored, and executes a common process for generating a common map including each neighboring map according to a plurality of requests stored in the request queue. The queuing system according to any one of claims 1 to 6.
複数の分類は、それぞれ、少なくともチケット予約の受付けを行うイベント毎に区分けされてあらかじめ設定されており、
返答処理実行手段は、チケットの予約状況情報が記憶されているチケットデータベースを検索し、リクエストキューに記憶されている複数のリクエストに応じて当該リクエストの一部または全部について予約を受け付けるか否かを判定し、その判定結果に応じて当該リクエストの一部または全部について共通の予約結果メッセージを生成する共通処理を実行する
請求項1から請求項6のうちいずれかに記載のキューイングシステム。 The request includes reservation request information for requesting a ticket reservation,
Each of the plurality of categories is set in advance by dividing each event at least for accepting a ticket reservation,
The response processing execution means searches the ticket database storing the ticket reservation status information, and determines whether or not to accept a reservation for a part or all of the request according to a plurality of requests stored in the request queue. The queuing system according to any one of claims 1 to 6, wherein determination is performed, and common processing is performed to generate a common reservation result message for some or all of the requests according to the determination result.
複数の分類は、それぞれ、試験問題毎に区分けされてあらかじめ設定されており、
返答処理実行手段は、試験問題の解答情報が記憶されているチケットデータベースを検索し、リクエストキューに記憶されている複数のリクエストに応じて当該リクエストの一部または全部について正解とするか否かを判定し、その判定結果に応じて当該リクエストの一部または全部について共通の添削結果メッセージを生成する共通処理を実行する
請求項1から請求項6のうちいずれかに記載のキューイングシステム。 The request includes correction request information for requesting correction of the answer,
Each of the multiple categories is divided into test questions and set in advance.
The response processing execution means searches the ticket database in which the answer information of the test questions is stored, and determines whether or not to correct some or all of the requests according to a plurality of requests stored in the request queue. The queuing system according to any one of claims 1 to 6, wherein determination is performed, and common processing is performed to generate a common correction result message for a part or all of the request according to the determination result.
受信したリクエストの内容に応じて複数の分類から当該リクエストの分類を特定し、特定した分類に従ってリクエストを振り分けるリクエスト振分手段と、
前記複数の分類のいずれかが割り当てられており、前記リクエスト振分手段によって振り分けされたリクエストのうち、割り当てられている分類のリクエストをそれぞれ記憶する複数のリクエストキューとを備え、
前記複数のリクエストキューは、それぞれ、当該リクエストキューに記憶されているリクエストを通信ネットワークを介して読み出して当該リクエストキューに記憶されている複数のリクエストに返答するための返答情報を生成する返答処理を実行する返答処理実行装置に対し、当該リクエストキュー毎に前記返答情報を生成させて前記返答処理の一部または全部を共通処理により一括して実行させるために、割り当てられている分類のリクエストを記憶し、
前記リクエスト振分手段が振り分けの際に用いる前記複数の分類は、それぞれ、前記返答処理の一部または全部が前記共通処理によって実行される複数のリクエストが同一分類に属するように、前記リクエストの内容毎に区分けされてあらかじめ設定されている
ことを特徴とするキューイング装置。 A queuing device that queues requests received via a communication network and distributes and stores the requests in the queue for each predetermined classification in order to reply to the request,
A request distribution unit that identifies a classification of the request from a plurality of classifications according to the content of the received request, and distributes the requests according to the identified classification;
One of the plurality of classifications is assigned, and among the requests distributed by the request distribution means, a plurality of request queues each storing requests of the assigned classifications,
Each of the plurality of request queues performs a response process for reading out the requests stored in the request queue via a communication network and generating response information for replying to the plurality of requests stored in the request queue. Stores the request of the assigned classification in order to cause the response processing execution device to execute to generate the response information for each request queue and execute a part or all of the response processing collectively by common processing. And
The plurality of classifications used by the request distribution means for distribution are the contents of the requests so that a plurality of requests that are partly or wholly executed by the common processing belong to the same classification. A queuing device characterized in that it is classified and set in advance.
前記分類設定変更手段は、分類の内容を変更する処理を実行するとともに、変更後の複数の分類それぞれにリクエストキューのいずれかを割り当てる処理を実行することで前記設定内容を変更する
請求項10記載のキューイング装置。 In accordance with the establishment of a predetermined classification change condition, a classification setting change means for changing the setting contents of a plurality of classifications is provided.
The classification setting changing unit executes a process of changing the contents of the classification and changes the setting contents by executing a process of assigning one of the request queues to each of the plurality of changed classifications. Queuing device.
分類設定変更手段は、前記分類変更条件が成立したときに、分類の数を減少させて各分類に属するリクエストの範囲を拡大させる処理を実行する
請求項11記載のキューイング装置。 The classification change condition is met when the number of requests received per unit time exceeds the specified number.
The queuing device according to claim 11, wherein the classification setting changing unit executes a process of reducing the number of classifications and expanding a range of requests belonging to each classification when the classification changing condition is satisfied.
分類設定変更手段は、前記変更指示に従って設定内容を変更する
請求項11または請求項12記載のキューイング装置。 The classification change condition is satisfied when a predetermined change instruction is given,
The queuing device according to claim 11 or 12, wherein the classification setting changing means changes the setting contents in accordance with the change instruction.
受信した返答情報と、当該返答情報によりリクエストに対する返答内容が一意に定まることとなったと認識したときにはその旨を示す情報とを、リクエストキューに対応付けして保存する返答情報保存手段と、
所定のリクエストキューに記憶されているリクエストに対する返答内容が一意に定まることとなっている場合には、前記返答処理実行装置に返答処理を実行させることなく、当該所定のリクエストキューに記憶されている各リクエストそれぞれのリクエスト元に向けて、前記返答情報保存手段に保存されている返答情報を通信ネットワークを介して送信する返答情報送信手段とを備えた
請求項10から請求項13のうちいずれかに記載のキューイング装置。 Response information receiving means for receiving response information generated for each request queue by the response processing execution device via a communication network;
A response information storage means for storing the received response information and information indicating that when the response content is uniquely determined by the response information in association with the request queue;
When the response content for the request stored in the predetermined request queue is uniquely determined, the response processing execution device does not execute the response processing and is stored in the predetermined request queue. A response information transmission unit that transmits response information stored in the response information storage unit via a communication network toward a request source of each request. The queuing device described.
受信したリクエストの内容に応じて複数の分類から当該リクエストの分類を特定し、特定した分類に従ってリクエストを振り分けるリクエスト振分手段と、
前記複数の分類のいずれかが割り当てられており、前記リクエスト振分手段によって振り分けされたリクエストのうち、割り当てられている分類のリクエストをそれぞれ記憶する複数のリクエストキューと、
前記リクエストキューに記憶されているリクエストのうち所定個のリクエストを通信ネットワークを介して読み出して当該所定個の読み出したリクエストに返答するための返答情報を生成する返答処理を実行する返答処理実行装置から、当該所定個のリクエスト毎に生成された前記返答情報を通信ネットワークを介して受信する返答情報受信手段と、
受信した返答情報を、該当するリクエストのリクエスト元に向けて通信ネットワークを介して送信する返答情報送信手段とを備え、
前記リクエスト振分手段が振り分けの際に用いる前記複数の分類は、それぞれ、前記返答処理実行装置によって生成される返答情報が共通して使用され得る複数のリクエストが同一分類に属するように、前記リクエストの内容毎に区分けされてあらかじめ設定されており、
前記返答情報送信手段は、受信した返答情報が示す返答内容が所定内容であったときには、対応するリクエストキューに記憶されている各リクエストそれぞれのリクエスト元に向けて、当該受信した返答情報と同一の返答情報を送信するとともに、当該リクエストキューに記憶されていたリクエストを削除する処理を実行する
ことを特徴とするキューイング装置。 A queuing device that queues requests received via a communication network and distributes and stores the requests in the queue for each predetermined classification in order to reply to the request,
A request distribution unit that identifies a classification of the request from a plurality of classifications according to the content of the received request, and distributes the requests according to the identified classification;
One of the plurality of classifications is assigned, and among the requests distributed by the request distribution means, a plurality of request queues each storing requests of the assigned classification,
From a response process execution device that executes a response process for reading a predetermined number of requests stored in the request queue via a communication network and generating response information for replying to the predetermined number of read requests Response information receiving means for receiving the response information generated for each predetermined number of requests via a communication network;
Response information transmitting means for transmitting the received response information to the request source of the corresponding request via a communication network,
The plurality of classifications used by the request distribution means for distribution are such that the plurality of requests that can be used in common by the response information generated by the response processing execution device belong to the same classification. It is divided and set in advance according to the contents of
When the response content indicated by the received response information is a predetermined content, the response information transmission means is the same as the received response information for each request source stored in the corresponding request queue. A queuing device that transmits response information and executes a process of deleting a request stored in the request queue.
受信したリクエストの内容に応じて複数の分類から当該リクエストの分類を特定するステップと、
特定した分類に従ってリクエストを振り分けるステップと、
前記複数の分類のいずれかが割り当てられており、前記リクエスト振分手段によって振り分けされたリクエストのうち、割り当てられている分類のリクエストを複数のリクエストキューにそれぞれ記憶するステップと、
前記リクエストキューに記憶されている複数のリクエストを読み出すステップと、
読み出した複数のリクエストに返答するための返答情報を当該リクエストキュー毎に生成する返答処理の一部または全部を共通処理により一括して行うステップとを含み、
前記複数の分類は、それぞれ、前記返答処理の一部または全部が共通処理によって実行される複数のリクエストが同一分類に属するように、前記リクエストの内容毎に区分けされてあらかじめ設定されている
ことを特徴とするキュー処理方法。 A queue processing method for queuing a request received via a communication network and processing a request in the queue in order to respond to the request,
Identifying a classification of the request from a plurality of classifications according to the content of the received request;
Distributing requests according to the identified classification,
One of the plurality of classifications is allocated, and among the requests distributed by the request distribution unit, the requests of the allocated classification are respectively stored in a plurality of request queues;
Reading a plurality of requests stored in the request queue;
Including a step of performing a part or all of response processing for generating response information for replying to a plurality of read requests for each request queue in a batch by common processing,
The plurality of classifications are set in advance so as to be classified according to the contents of the requests so that a plurality of requests executed by a common process in a part or all of the response processes belong to the same classification. A characteristic queue processing method.
請求項16記載のキュー処理方法。 In response to the establishment of a predetermined classification change condition, a process for changing the contents of the classification is executed, and a process for assigning one of the request queues to each of the plurality of changed classifications is executed, whereby a plurality of classifications are executed. The queue processing method according to claim 16, further comprising a step of changing the setting contents.
コンピュータに、
受信したリクエストの内容に応じて複数の分類から当該リクエストの分類を特定するステップと、
特定した分類に従ってリクエストを振り分けるステップと、
前記複数の分類のいずれかが割り当てられており、前記リクエスト振分手段によって振り分けされたリクエストのうち、割り当てられている分類のリクエストを複数のリクエストキューにそれぞれ記憶するステップと、
前記リクエストキューに記憶されている複数のリクエストを読み出すステップと、
読み出した複数のリクエストに返答するための返答情報を当該リクエストキュー毎に生成する返答処理の一部または全部を共通処理により一括して行うステップとを実行させ、
前記複数の分類は、それぞれ、前記返答処理の一部または全部が共通処理によって実行される複数のリクエストが同一分類に属するように、前記リクエストの内容毎に区分けされてあらかじめ設定されている
ことを特徴とするキュー処理プログラム。 A queue processing program for queuing a request received via a communication network and processing a request in the queue in order to respond to the request,
On the computer,
Identifying a classification of the request from a plurality of classifications according to the content of the received request;
Distributing requests according to the identified classification,
One of the plurality of classifications is allocated, and among the requests distributed by the request distribution unit, the requests of the allocated classification are respectively stored in a plurality of request queues;
Reading a plurality of requests stored in the request queue;
Performing a step of performing a part or all of the response processing for generating the response information for replying to the plurality of read requests for each request queue in a batch by the common processing,
The plurality of classifications are set in advance so as to be classified according to the contents of the request so that a plurality of requests executed by a common process in a part or all of the response processes belong to the same classification. Feature queue processing program.
請求項18記載のキュー処理プログラム。 In addition to executing a process for changing the contents of the classification and a process for assigning one of the request queues to each of the plurality of changed classifications according to the fact that a predetermined classification changing condition is satisfied on the computer. The queue processing program according to claim 18, wherein a step of changing setting contents of a plurality of classifications is executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003298938A JP2005071031A (en) | 2003-08-22 | 2003-08-22 | Queuing system, and method and program for queue process |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003298938A JP2005071031A (en) | 2003-08-22 | 2003-08-22 | Queuing system, and method and program for queue process |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008039510A Division JP2008159081A (en) | 2008-02-21 | 2008-02-21 | Queuing device, queue processing method, and queue processing program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005071031A true JP2005071031A (en) | 2005-03-17 |
Family
ID=34404289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003298938A Withdrawn JP2005071031A (en) | 2003-08-22 | 2003-08-22 | Queuing system, and method and program for queue process |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005071031A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007219651A (en) * | 2006-02-14 | 2007-08-30 | Toshiba Corp | Job processing order control method, network computer system using this, and its program |
JP2009042940A (en) * | 2007-08-07 | 2009-02-26 | Nippon Telegr & Teleph Corp <Ntt> | Information processing system |
JP2009282807A (en) * | 2008-05-23 | 2009-12-03 | Fujitsu Ltd | Apparatus, method and program for message binding processing |
JP2011513807A (en) * | 2008-02-26 | 2011-04-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method, computer program, and data processing system for calculating dispatcher share in workload manager |
JP2012230667A (en) * | 2011-04-26 | 2012-11-22 | Sap Ag | High-load business process scalability |
JP2014149809A (en) * | 2013-01-11 | 2014-08-21 | Ricoh Co Ltd | Information processing system, information processing apparatus, program, and processing execution method |
JP2015532073A (en) * | 2012-09-19 | 2015-11-05 | オラクル・インターナショナル・コーポレイション | System and method for small batch processing of usage requests |
-
2003
- 2003-08-22 JP JP2003298938A patent/JP2005071031A/en not_active Withdrawn
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007219651A (en) * | 2006-02-14 | 2007-08-30 | Toshiba Corp | Job processing order control method, network computer system using this, and its program |
JP2009042940A (en) * | 2007-08-07 | 2009-02-26 | Nippon Telegr & Teleph Corp <Ntt> | Information processing system |
JP4585554B2 (en) * | 2007-08-07 | 2010-11-24 | 日本電信電話株式会社 | Information processing system |
JP2011513807A (en) * | 2008-02-26 | 2011-04-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method, computer program, and data processing system for calculating dispatcher share in workload manager |
US8245238B2 (en) | 2008-02-26 | 2012-08-14 | International Business Machines Corporation | Routing workloads based on relative queue lengths of dispatchers |
US8875153B2 (en) | 2008-02-26 | 2014-10-28 | International Business Machines Corporation | Routing workloads based on relative queue lengths of dispatchers |
US9582338B2 (en) | 2008-02-26 | 2017-02-28 | International Business Machines Corporation | Calculating a dispatcher's relative share based on relative queue length and capacity value of a plurality of workload types and computing systems combinations |
JP2009282807A (en) * | 2008-05-23 | 2009-12-03 | Fujitsu Ltd | Apparatus, method and program for message binding processing |
US8533334B2 (en) | 2008-05-23 | 2013-09-10 | Fujitsu Limited | Message binding processing technique |
JP2012230667A (en) * | 2011-04-26 | 2012-11-22 | Sap Ag | High-load business process scalability |
JP2015532073A (en) * | 2012-09-19 | 2015-11-05 | オラクル・インターナショナル・コーポレイション | System and method for small batch processing of usage requests |
JP2014149809A (en) * | 2013-01-11 | 2014-08-21 | Ricoh Co Ltd | Information processing system, information processing apparatus, program, and processing execution method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108989588B (en) | Call distribution method, call center, electronic device, and storage medium | |
KR102047150B1 (en) | Empirical expert determination and question routing system and method | |
US6970929B2 (en) | Vector-based, clustering web geographic information system and control method thereof | |
Henderson et al. | Ambulance service planning: simulation and data visualisation | |
CA2047886A1 (en) | Method and apparatus for electronic corroboration of documents in a data processing system | |
JP2008159081A (en) | Queuing device, queue processing method, and queue processing program | |
CN108416519A (en) | A kind of guest room method for allocating tasks, server and computer readable storage medium | |
US11575740B2 (en) | Load balancing method based on resource utilization and geographic location in associative container environment | |
US20050129214A1 (en) | Method and apparatus for selecting an agent to handle a call | |
CN112491719A (en) | Network node selection method, equipment and storage medium | |
CN115099727A (en) | Customer service routing method and device and computer readable storage medium | |
JP2005071031A (en) | Queuing system, and method and program for queue process | |
CN109495565A (en) | High concurrent service request processing method and equipment based on distributed ubiquitous computation | |
CN110233840B (en) | Service processing method, device, equipment and storage medium | |
JP6229354B2 (en) | Demand forecasting device, demand forecasting method, and demand forecasting program | |
CN112396300A (en) | Customer service resource allocation method and device, storage medium and electronic equipment | |
US20080228696A1 (en) | Optimization of analytical effectiveness in an analyst network | |
CN110750350A (en) | Large resource scheduling method, system, device and readable storage medium | |
CN116611749A (en) | Intelligent electric power data input method and system based on micro-service architecture | |
JP4196310B2 (en) | Message control method for information management system | |
JP2019028744A (en) | Data processing system, data processing method and program | |
CN110135610B (en) | Unified number pool management system | |
CN101482816B (en) | Middleware bridge system and method | |
US7912797B2 (en) | Monitoring and control of analytical effectiveness in an analyst network | |
JP2001052061A (en) | Care support system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050422 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20051117 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20051117 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070426 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070626 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070824 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071023 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071220 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080122 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080221 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20080221 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20080221 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080331 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080523 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20080604 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20090508 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20100419 |