JP2016018222A - Queue server - Google Patents

Queue server Download PDF

Info

Publication number
JP2016018222A
JP2016018222A JP2014138236A JP2014138236A JP2016018222A JP 2016018222 A JP2016018222 A JP 2016018222A JP 2014138236 A JP2014138236 A JP 2014138236A JP 2014138236 A JP2014138236 A JP 2014138236A JP 2016018222 A JP2016018222 A JP 2016018222A
Authority
JP
Japan
Prior art keywords
queue
request
priority
server
requests
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.)
Granted
Application number
JP2014138236A
Other languages
Japanese (ja)
Other versions
JP6518411B2 (en
Inventor
広貴 堀江
Hirotaka Horie
広貴 堀江
木下 雅文
Masafumi Kinoshita
雅文 木下
神谷 俊之
Toshiyuki Kamiya
俊之 神谷
隆文 小池
Takafumi Koike
隆文 小池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2014138236A priority Critical patent/JP6518411B2/en
Publication of JP2016018222A publication Critical patent/JP2016018222A/en
Application granted granted Critical
Publication of JP6518411B2 publication Critical patent/JP6518411B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To solve the problem in which the background art is incapable of controlling in units of internal requests of queue for each service realization system per queue, although it can guarantee the order of priority, making it necessary to design a queue for each service realization system and bringing about complexity in operation, and also has a drawback in that, since the queue is processed in order of storage, if a request at the top of queue results in an error, a subsequent process is delayed although it has no interrelation with the top.SOLUTION: When requests in a queue have no interrelation in the processing in order of storage in the same queue that is the feature of a queue, it is allowed that the requests are assigned with priority and processed in order of priority. The queue and queue management are thereby facilitated. A priority management table for managing the interrelation of messages in a queue is prepared, and, when requests are stored in a queue, they are assigned with a priority determination key, so that, even when they have no interrelation in the same queue, no requests are kept resident in the queue.SELECTED DRAWING: Figure 1

Description

本発明は、各サービスを実現するシステムにおいて、キューを扱うシステムに関する。   The present invention relates to a system for handling queues in a system for realizing each service.

従来のキューを保持するシステムは、各用途においてキューを作成し、キューごとに、各リクエストをメッセージとして扱い、FIFO(ファーストインファーストアウト)で制御している。たとえば、メールシステムなどで使用されている、サービス加入/解約といったサービスを行う際に現状は、キューを用いたサーバを用いたシステム構成をしている場合が一般的である。キューを用いる理由としては、端末(クライアントサーバ)からの処理を遅延させることなく処理するため、また、サービスを実現する各サーバの障害時にも、リクエストを失わないようにするためである。   A system that holds a conventional queue creates a queue for each application, and handles each request as a message for each queue and controls the request by FIFO (first in first out). For example, when a service such as service subscription / cancellation used in a mail system or the like is performed, a system configuration using a server using a queue is generally used. The reason for using the queue is that processing from the terminal (client server) is performed without delay, and that requests are not lost even when a failure occurs in each server that implements the service.

関連する技術として、特許文献1がある。この文献に開示されているのは、「順序依存性を持つキュー群を正しい順序でコンシューマシステムごとに統合できるキュー統合システム」であり、キュー内部ではなく、キュー間で優先順位を持たせて処理する技術である。そのため、サービスごとに、キューを作成し、さらに、キュー間での優先順位を管理させる結合キューを新たに設けることにより、キュー間での、リクエストの優先順位を決定し、優先順位どおりに処理をしている(要約参照)。   There exists patent document 1 as a related technique. What is disclosed in this document is a "queue integration system that can integrate a group of queues with order dependencies in the correct order for each consumer system". Processing is performed with priority between queues, not within the queue. Technology. Therefore, by creating a queue for each service and further providing a combined queue that manages the priority between the queues, the priority of requests between the queues is determined, and processing is performed according to the priority. (See summary).

特開2007−266724号公報JP 2007-266724 A

特許文献1が開示する技術では、キューごとの各サービス実現システムに対しての、優先順位保証は可能であるが、キュー内部のリクエスト単位での、順序制御はできない。また、各サービス実現システムごとのキューの設計が必要となり、運用面においても複雑な運用となる。   With the technique disclosed in Patent Document 1, priority can be guaranteed for each service realization system for each queue, but the order cannot be controlled in units of requests in the queue. In addition, it is necessary to design a queue for each service realization system, and the operation is complicated.

また、図9に示すようにキューを用いたシステムでは、キューは格納順に処理する。格納順で処理するため、キューに格納した相互関係が無い他のリクエストの処理の影響を受け、処理遅延が起きる課題がある。また、図10で示すように、先頭のリクエストがエラーとなった場合に、後続の処理が先頭と相互関係が無い場合にも遅延してしまう課題がある。   Further, in a system using queues as shown in FIG. 9, the queues are processed in the order of storage. Since processing is performed in the order of storage, there is a problem that processing delay occurs due to the influence of processing of other requests stored in the queue that have no mutual relationship. Also, as shown in FIG. 10, there is a problem that when the head request becomes an error, the subsequent processing is delayed even if there is no correlation with the head.

上述したリクエストに限らず、キューに格納するメッセージとして扱えるデータ、例えば、各種通信プロトコルを用いてパソコンや携帯電話や携帯情報端末間で送受信される、文字、図、画像、音声、動画等を含む電子メールなどの情報や、センサ情報や、車などモノが発信するデータ、などについても同様の課題がある。   Not only the above-mentioned requests, but also data that can be handled as messages to be stored in a queue, for example, characters, diagrams, images, sounds, videos, etc. that are sent and received between personal computers, mobile phones, and personal digital assistants using various communication protocols There are similar problems with information such as e-mail, sensor information, and data transmitted by things such as cars.

本発明は、同一キュー内において、キューの特徴である格納順での処理の中で、キュー内のメッセージにおいて、他のメッセージとの相互関係に基づいた処理順序の制御を可能とし、さらに、これによりキュー管理を容易にするキュー制御技術を提供する。   The present invention makes it possible to control the processing order of messages in a queue based on the interrelationship with other messages in the processing in the storage order that is a characteristic of the queue within the same queue. Provides queue control technology that facilitates queue management.

本発明は、キュー内部のメッセージの相互関係を管理する優先順位管理テーブルを用意し、キュー格納時に、相互関係のあるメッセージを関連付けるキー(以下、優先順位決定キーという)を付与することにより、同一キュー内での相互関係がないメッセージ同士の独立した処理を可能とし、優先順位決定キーを用いた順序制御によりキュー滞留を発生させないことを特徴とする。   The present invention provides a priority management table for managing the mutual relationship of messages in a queue, and assigns a key (hereinafter referred to as a priority determination key) for associating mutually related messages when storing the queue. It is characterized by enabling independent processing of messages having no mutual relationship in the queue and preventing queue retention by order control using a priority determination key.

より具体的な本発明の態様は、クライアントサーバから受信するサービスリクエストを、複数のサービス実現サーバへ中継するキューサーバである。
上記キューサーバは、キューとキュー情報管理部とを備え、キュー情報管理部は、受信した、いずれかのサービス実現サーバを宛先とするメッセージに、当該メッセージを相互関係のある他のメッセージと関連付けるキーを付して上記キューへ格納し、上記キューから取得した、上記メッセージと、当該メッセージに付された上記キーと同じキーが付された他の上記メッセージとに対して、上記キーと同じキーが付されていない他の上記メッセージとは独立して、いずれかの上記サービス実現サーバへの送信処理を行うことを特徴とする。
また、上記キュー情報管理部は、上記キューへの上記メッセージの格納時に、同一の上記キーが付された上記メッセージを互いに関連付け、上記キューから上記メッセージを取得する際に、上記関連付けを参照するように構成しても良い。
A more specific aspect of the present invention is a queue server that relays a service request received from a client server to a plurality of service realization servers.
The queue server includes a queue and a queue information management unit. The queue information management unit associates the received message destined for one of the service realization servers with another message having a correlation with the message. Is stored in the queue, and the same key as the key is acquired for the message acquired from the queue and the other message with the same key as the key attached to the message. A transmission process to any one of the service realization servers is performed independently of the other messages not attached.
The queue information management unit associates the messages with the same key with each other when storing the message in the queue, and refers to the association when acquiring the message from the queue. You may comprise.

本発明によれば、キューへのリクエスト格納時、キューからのリクエスト取得時において、キュー設計の簡略化や、相互関係がないリクエストの影響を受けた処理遅延を排除することが可能である。   According to the present invention, when a request is stored in a queue and when a request is acquired from a queue, it is possible to simplify the queue design and to eliminate a processing delay affected by an unrelated request.

本実施例の論理構成とテーブルを例示する図The figure which illustrates the logical structure and table of a present Example 本実施例での優先順位決定キーがすべて同一の場合の通常処理を例示するシーケンス図Sequence diagram illustrating normal processing when priority determination keys are all the same in this embodiment 本実施例での優先順位決定キーがすべて同一の場合のエラー処理を例示するシーケンス図Sequence diagram illustrating error processing when priority determination keys are all the same in this embodiment 本実施例での優先順位決定キーがリクエストBのみ異なる場合の通常処理を例示するシーケンス図Sequence diagram illustrating normal processing when priority determination key in this embodiment is different only in request B 本実施例での優先順位決定キーがリクエストBのみ異なる場合のエラー処理を例示するシーケンス図Sequence diagram illustrating error processing when priority determination keys in this embodiment differ only in request B キューへリクエスト格納時のフローチャートを例示する図The figure which illustrates the flowchart when the request is stored in the queue キューからリクエスト取得時のフローチャートを例示する図The figure which illustrates the flowchart at the time of request acquisition from the queue キューからリクエスト削除時のフローチャートを例示する図Diagram illustrating a flowchart when deleting a request from the queue 従来のキューを用いたサーバでの通常処理を表すシーケンス図Sequence diagram showing normal processing on a server using a conventional queue 従来のキューを用いたサーバでのエラー処理を表すシーケンス図Sequence diagram showing error handling at a server using a conventional queue

以下、本実施例の実施の形態について図面により詳細に説明する。以下の実施例では、メッセージの一例として、サービスのリクエストを取り上げて説明する。その他のメッセージについても同様に実施可能である。   Hereinafter, embodiments of the present embodiment will be described in detail with reference to the drawings. In the following embodiment, a service request will be described as an example of a message. Other messages can be similarly implemented.

図1は本実施例の実施の形態の論理構成とテーブル図を示したものである。300はキューサーバであり、以下、優先順位保証サーバという。優先順位保証サーバ300は、各サービスのリクエストを送信するクライアントサーバ102と、優先順位保証サーバ300が中継するリクエストに基づいて、要求されたサービスを提供するサービス実現サーバ104〜106と接続される。   FIG. 1 shows a logical configuration and a table diagram of the embodiment of the present embodiment. Reference numeral 300 denotes a queue server, which is hereinafter referred to as a priority guarantee server. The priority guarantee server 300 is connected to the client server 102 that transmits a request for each service and the service implementation servers 104 to 106 that provide the requested service based on the request relayed by the priority guarantee server 300.

優先順位保証サーバ300は、クライアントサーバ102からのリクエストを受信する入力インタフェース302、入力インタフェースからリクエストを格納するキュー303、リクエストをキュー303に格納したりキュー303から出力したりする場合の管理を行うキュー情報管理部304、出力インタフェース305を備える。   The priority guarantee server 300 manages an input interface 302 that receives a request from the client server 102, a queue 303 that stores a request from the input interface, and a case where a request is stored in the queue 303 or output from the queue 303. A queue information management unit 304 and an output interface 305 are provided.

キュー情報管理部304は、キュー格納管理テーブル309、キュー取得管理テーブル313、優先順位制御テーブル310をメモリ上に保持する。   The queue information management unit 304 holds a queue storage management table 309, a queue acquisition management table 313, and a priority order control table 310 on the memory.

キュー格納管理テーブル309は、リクエストをキューへ格納する際に、リクエストID307と優先順位決定キー308とを対応付けたリストを格納し、格納したリクエストを管理するために用いる。キュー取得管理テーブル313は、キュー303からのリクエスト取得時に、リクエストID314を格納し、キュー303から取得したリクエストを管理するために用いる。   The queue storage management table 309 stores a list in which request IDs 307 and priority determination keys 308 are associated with each other when storing requests in the queue, and is used for managing the stored requests. The queue acquisition management table 313 stores a request ID 314 when a request is acquired from the queue 303 and is used to manage the request acquired from the queue 303.

優先順位制御テーブル310は、優先順位決定キー308を一意のキーとして、それぞれの優先順位決定キー308に関連付くリクエストID307a、307bをリストとして持つテーブルである。キュー情報管理部304は、リクエストをキューへ格納する時とキューから取得する時に優先順位制御テーブル310を参照することにより、リクエストの送信順番の制御を行う。   The priority order control table 310 is a table having a priority order determination key 308 as a unique key and a list of request IDs 307a and 307b associated with each priority order determination key 308. The queue information management unit 304 controls the transmission order of requests by referring to the priority control table 310 when storing a request in the queue and when acquiring the request from the queue.

キューからリクエストを取得する場合は、キュー格納管理テーブル309を検索し、取得できるリクエストを抽出する。取得しようとしたリクエストIDに優先順位決定キー308が設定されている場合は、当該リクエストIDの取得可否を判断するために、優先順位制御テーブル310を参照する。   When acquiring a request from the queue, the queue storage management table 309 is searched to extract a request that can be acquired. When the priority determination key 308 is set for the request ID to be acquired, the priority control table 310 is referred to in order to determine whether or not the request ID can be acquired.

優先順位決定キー308は、キューからリクエストを取り出す際に、取得するリクエストが、送信する際の順序制御の対象になるかどうかを判断する情報となる。キューに格納されたリクエストのうち、同一の優先順位決定キー308が付与されているリクエストは、格納順に送信する。たとえば、電話番号とか、イベント情報を優先順位決定キーに設定することで、他の電話番号、イベント情報と関係なくリクエストが送信可能となる。   The priority determination key 308 is information for determining whether a request to be acquired is a target of order control at the time of transmission when the request is extracted from the queue. Of the requests stored in the queue, requests to which the same priority determination key 308 is assigned are transmitted in the order of storage. For example, by setting a telephone number or event information as a priority determination key, a request can be transmitted regardless of other telephone numbers and event information.

優先順位保証サーバ300は、プロセッサと記憶装置と通信装置とを備える一般的な計算機を用いて実現することが可能である。より具体的には、プロセッサが記憶装置に格納されたプログラムを実行することにより、キュー情報管理部304を実現し、キュー303を記憶装置上に構成することができる。また、プロセッサがプログラムを実行し通信装置と協働させることにより、入力インタフェース302と出力インタフェース305を実現できる。   The priority guarantee server 300 can be realized by using a general computer including a processor, a storage device, and a communication device. More specifically, the queue information management unit 304 can be realized by the processor executing a program stored in the storage device, and the queue 303 can be configured on the storage device. Further, the input interface 302 and the output interface 305 can be realized by the processor executing the program and cooperating with the communication apparatus.

次に、本実施例での優先順位決定キー308がすべて同一の値を設定した場合の通常処理を図2のシーケンスに従って説明する。   Next, normal processing when all the priority determination keys 308 in this embodiment are set to the same value will be described according to the sequence of FIG.

顧客端末101からクライアントサーバ102にリクエストA407を送信する。   A request A 407 is transmitted from the customer terminal 101 to the client server 102.

クライアントサーバ102は優先順位保証サーバ300へ転送し、409の処理でキュー303にリクエストAを格納する。   The client server 102 transfers the request A to the priority guarantee server 300, and stores the request A in the queue 303 in the process of 409.

優先順位保証サーバ300は、クライアントサーバ102へ正常応答410を応答し、クライアントサーバ102は、顧客端末101に正常応答411を応答する。   The priority guarantee server 300 returns a normal response 410 to the client server 102, and the client server 102 returns a normal response 411 to the customer terminal 101.

次に、リクエストBについてもリクエストAと同じシーケンスで処理する。   Next, request B is processed in the same sequence as request A.

顧客端末101からクライアントサーバ102へリクエストB412を送信し、クライアントサーバ102は、優先順位保証サーバ300にリクエストB413を転送する。   The request B 412 is transmitted from the customer terminal 101 to the client server 102, and the client server 102 transfers the request B 413 to the priority guarantee server 300.

優先順位保証サーバ300は、414の処理でキュー303にリクエストBを格納する。   The priority guarantee server 300 stores the request B in the queue 303 by the process of 414.

優先順位保証サーバ300は、414の処理後に、クライアントサーバ102に正常応答415を応答し、クライアントサーバ102は、顧客端末101へ正常応答416を応答する。   After the processing of 414, the priority guarantee server 300 returns a normal response 415 to the client server 102, and the client server 102 returns a normal response 416 to the customer terminal 101.

続いて、リクエストCについても、リクエストA、リクエストBと同じシーケンスで処理を実行する。   Subsequently, the request C is processed in the same sequence as the request A and the request B.

顧客端末101からクライアントサーバ102へリクエストC417を送信し、クライアントサーバ102は、優先順位保証サーバ300にリクエストC418を転送する。   The request C417 is transmitted from the customer terminal 101 to the client server 102, and the client server 102 transfers the request C418 to the priority guarantee server 300.

優先順位保証サーバ300は、419の処理でキュー303にリクエストCを格納する。   The priority guarantee server 300 stores the request C in the queue 303 in the process of 419.

優先順位保証サーバ300は、419の処理後に、クライアントサーバ102に正常応答420を応答し、クライアントサーバ102は、顧客端末101へ正常応答421を応答する。   After the processing of 419, the priority guarantee server 300 returns a normal response 420 to the client server 102, and the client server 102 returns a normal response 421 to the customer terminal 101.

優先順位保証サーバ300では、リクエストA、リクエストB、リクエストCの順番でキュー303に格納され、優先順位保証キーが同一であるので、422の処理で、キュー303からリクエストを取得し、サービス実現サーバA104へリクエストAを送信し、サービス実現サーバA104は正常応答424を応答する。   In the priority guarantee server 300, the request A, the request B, and the request C are stored in the queue 303 in the order, and since the priority guarantee keys are the same, the request is obtained from the queue 303 in the process 422, and the service realization server Request A is transmitted to A 104, and service realization server A 104 responds with normal response 424.

422の処理後、425の処理で、キュー303からリクエストAを削除する。   After the process 422, the request A is deleted from the queue 303 in the process 425.

続けて、426の処理で、キュー303からリクエストBを取得し、サービス実現サーバB105にリクエストB427を送信し、サービス実現サーバB105は正常応答428を応答する。   Subsequently, in the process of 426, the request B is acquired from the queue 303, the request B427 is transmitted to the service realization server B105, and the service realization server B105 responds with a normal response 428.

426の処理後、429の処理で、キュー303からリクエストBを削除する。   After the process of 426, the request B is deleted from the queue 303 in the process of 429.

最後に、430の処理でキュー303からリクエストCを取得し、サービス実現サーバC106へリクエストC431を送信し、サービス実現サーバC106は正常応答432を応答する。   Finally, request C is acquired from the queue 303 in the process of 430, the request C431 is transmitted to the service realization server C106, and the service realization server C106 responds with a normal response 432.

430の処理後、433の処理で、キュー303からリクエストCを削除する。   After the process of 430, the request C is deleted from the queue 303 in the process of 433.

図2の詳細に説明したとおり、リクエストA、リクエストB、リクエストCと連続で優先順位保証サーバ300が受信した場合、且つ、優先順位決定キー308が同一の場合は、リクエストを格納順に処理する。   As described in detail in FIG. 2, when the priority guarantee server 300 receives the request A, the request B, and the request C continuously, and the priority determination key 308 is the same, the requests are processed in the storage order.

図3は、本実施例での優先順位決定キー308がすべて同一の値を設定した場合のエラー処理時の図であり、シーケンスに従って説明する。   FIG. 3 is a diagram at the time of error processing when all of the priority determination keys 308 in this embodiment are set to the same value, and will be described according to the sequence.

顧客端末101からクライアントサーバ102にリクエストA507を送信する。   A request A 507 is transmitted from the customer terminal 101 to the client server 102.

クライアントサーバ102は優先順位保証サーバ300へ転送し、509の処理でキュー303にリクエストAを格納する。   The client server 102 transfers the request A to the priority guarantee server 300 and stores the request A in the queue 303 in the process of 509.

優先順位保証サーバ300は、クライアントサーバ102へ正常応答510を応答し、クライアントサーバ102は、顧客端末101に正常応答511を応答する。   The priority guarantee server 300 sends a normal response 510 to the client server 102, and the client server 102 sends a normal response 511 to the customer terminal 101.

次に、リクエストBについてもリクエストAと同じシーケンスで処理する。   Next, request B is processed in the same sequence as request A.

顧客端末101からクライアントサーバ102へリクエストB512を送信し、クライアントサーバ102は、優先順位保証サーバ300にリクエストB513を転送する。   The request B 512 is transmitted from the customer terminal 101 to the client server 102, and the client server 102 transfers the request B 513 to the priority guarantee server 300.

優先順位保証サーバ300は、514の処理でキュー303にリクエストBを格納する。   The priority guarantee server 300 stores the request B in the queue 303 in the process of 514.

優先順位保証サーバ300は、514の処理後に、クライアントサーバ102に正常応答515を応答し、クライアントサーバ102は、顧客端末101へ正常応答516を応答する。   After the processing of 514, the priority guarantee server 300 returns a normal response 515 to the client server 102, and the client server 102 returns a normal response 516 to the customer terminal 101.

続いて、リクエストCについても、リクエストA、リクエストBと同じシーケンスで処理を実行する。   Subsequently, the request C is processed in the same sequence as the request A and the request B.

顧客端末101からクライアントサーバ102へリクエストB517を送信し、クライアントサーバ102は、優先順位保証サーバ300にリクエストC518を転送する。   The request B517 is transmitted from the customer terminal 101 to the client server 102, and the client server 102 transfers the request C518 to the priority guarantee server 300.

優先順位保証サーバ300は、519の処理でキュー303にリクエストCを格納する。   The priority guarantee server 300 stores the request C in the queue 303 in the process of 519.

優先順位保証サーバ300は、519の処理後に、クライアントサーバ102に正常応答520を応答し、クライアントサーバ102は、顧客端末101へ正常応答521を応答する。   After the processing of 519, the priority guarantee server 300 returns a normal response 520 to the client server 102, and the client server 102 returns a normal response 521 to the customer terminal 101.

次に優先順位保証サーバ300は、522の処理でキュー303からリクエストAを取得し、リクエストAをサービス実現サーバA104へ送信する。   Next, the priority guarantee server 300 acquires the request A from the queue 303 in the process of 522, and transmits the request A to the service realization server A104.

サービス実現サーバA104はエラー応答524を応答する。   The service realization server A104 returns an error response 524.

優先順位保証サーバ300は、エラー応答を受けたため、525の処理でリクエストAのリトライ処理を実行する。   Since the priority guarantee server 300 receives the error response, the priority guarantee server 300 executes the retry process of the request A in the process of 525.

キュー303に格納されているリクエストB、リクエストCについては、525の処理でリクエストAの処理を実行しているため、図2に示したリクエストB、リクエストCの処理は実行されない。   Regarding the request B and the request C stored in the queue 303, the request A and the request C shown in FIG. 2 are not executed because the process of the request A is executed by the process of 525.

次に、本実施例での優先順位決定キー308がリクエストBのみ異なる値を設定した場合の通常処理を図4のシーケンスに従って説明する。   Next, normal processing when the priority determination key 308 in this embodiment sets a different value only for the request B will be described according to the sequence of FIG.

顧客端末101からクライアントサーバ102にリクエストA607を送信する。   A request A 607 is transmitted from the customer terminal 101 to the client server 102.

クライアントサーバ102は優先順位保証サーバ300へ転送し、609の処理でキュー303にリクエストAを格納する。   The client server 102 transfers the request A to the priority guarantee server 300 and stores the request A in the queue 303 in the process of 609.

優先順位保証サーバ300は、クライアントサーバ102へ正常応答610を応答し、クライアントサーバ102は、顧客端末101に正常応答611を応答する。   The priority guarantee server 300 returns a normal response 610 to the client server 102, and the client server 102 returns a normal response 611 to the customer terminal 101.

次に、リクエストBについてもリクエストAと同じシーケンスで処理する。   Next, request B is processed in the same sequence as request A.

顧客端末101からクライアントサーバ102へリクエストB612を送信し、クライアントサーバ102は、優先順位保証サーバ300にリクエストB613を転送する。   The request B 612 is transmitted from the customer terminal 101 to the client server 102, and the client server 102 transfers the request B 613 to the priority guarantee server 300.

優先順位保証サーバ300は、614の処理でキュー303にリクエストBを格納する。   The priority guarantee server 300 stores the request B in the queue 303 in step 614.

優先順位保証サーバ300は、614の処理後に、クライアントサーバ102に正常応答615を応答し、クライアントサーバ102は、顧客端末101へ正常応答616を応答する。   The priority guarantee server 300 returns a normal response 615 to the client server 102 after the processing of 614, and the client server 102 returns a normal response 616 to the customer terminal 101.

続いて、リクエストCについても、リクエストA、リクエストBと同じシーケンスで処理を実行する。   Subsequently, the request C is processed in the same sequence as the request A and the request B.

顧客端末101からクライアントサーバ102へリクエストC617を送信し、クライアントサーバ102は、優先順位保証サーバ300にリクエストC618を転送する。   The request C617 is transmitted from the customer terminal 101 to the client server 102, and the client server 102 transfers the request C618 to the priority guarantee server 300.

優先順位保証サーバ300は、619の処理でキュー303にリクエストCを格納する。   The priority guarantee server 300 stores the request C in the queue 303 in the process of 619.

優先順位保証サーバ300は、619の処理後に、クライアントサーバ102に正常応答620を応答し、クライアントサーバ102は、顧客端末101へ正常応答621を応答する。   The priority guarantee server 300 returns a normal response 620 to the client server 102 after the processing of 619, and the client server 102 returns a normal response 621 to the customer terminal 101.

優先順位保証サーバ300では、リクエストA、リクエストB、リクエストCの順番でキュー303に格納される。   In the priority guarantee server 300, the request A, the request B, and the request C are stored in the queue 303 in the order.

622の処理で、キュー303からリクエストを取得し、サービス実現サーバA104へリクエストAを送信し、サービス実現サーバA104は正常応答624を応答する。   In the process of 622, a request is acquired from the queue 303, the request A is transmitted to the service realization server A104, and the service realization server A104 responds with a normal response 624.

622の処理後、625の処理で、キュー303からリクエストAを削除する。   After the process 622, the request A is deleted from the queue 303 in the process 625.

図3で示した条件とは異なり、優先順位保証キーがリクエストBのみ異なるため、626の処理で、キュー303からリクエストCを取得し、サービス実現サーバC106にリクエストC627を送信し、サービス実現サーバC106は正常応答628を応答する。   Unlike the conditions shown in FIG. 3, the priority guarantee key is different only in request B. Therefore, in step 626, request C is acquired from queue 303, request C627 is transmitted to service realization server C106, and service realization server C106. Responds with a normal response 628.

626の処理後、629の処理で、キュー303からリクエストCを削除する。   After the process of 626, the request C is deleted from the queue 303 in the process of 629.

最後に、630の処理でキュー303からリクエストBを取得し、サービス実現サーバB105へリクエストB631を送信し、サービス実現サーバB105は正常応答632を応答する。   Finally, request B is acquired from the queue 303 in the process of 630, the request B631 is transmitted to the service realization server B105, and the service realization server B105 responds with a normal response 632.

630の処理後、633の処理で、キュー303からリクエストBを削除する。   After the process 630, the request B is deleted from the queue 303 in the process 633.

図4の詳細に説明したとおり、リクエストA、リクエストB、リクエストCと連続で優先順位保証サーバ300が受信した場合、且つ、優先順位決定キー308がリクエストBのみ異なる場合は、リクエストA、リクエストCを格納順に処理するが、リクエストBは、リクエストA、リクエストCの処理とは関係なく、処理が可能となる。   As described in detail in FIG. 4, when the priority guarantee server 300 continuously receives request A, request B, and request C, and when the priority determination key 308 is different only in request B, request A, request C Are processed in the storage order, but request B can be processed regardless of the processing of request A and request C.

図5は、本実施例での優先順位決定キー308がリクエストBのみが異なる値を設定した場合のエラー処理時の図であり、シーケンスに従って説明する。   FIG. 5 is a diagram at the time of error processing when the priority order determination key 308 in this embodiment sets different values only for the request B, and will be described according to the sequence.

顧客端末101からクライアントサーバ102にリクエストA707を送信する。   A request A 707 is transmitted from the customer terminal 101 to the client server 102.

クライアントサーバ102は優先順位保証サーバ300へ転送し、709の処理でキュー303にリクエストAを格納する。   The client server 102 transfers the request A to the priority guarantee server 300 and stores the request A in the queue 303 in the process of 709.

優先順位保証サーバ300は、クライアントサーバ102へ正常応答710を応答し、クライアントサーバ102は、顧客端末101に正常応答711を応答する。   The priority guarantee server 300 returns a normal response 710 to the client server 102, and the client server 102 returns a normal response 711 to the customer terminal 101.

次に、リクエストBについてもリクエストAと同じシーケンスで処理する。   Next, request B is processed in the same sequence as request A.

顧客端末101からクライアントサーバ102へリクエストB712を送信し、クライアントサーバ102は、優先順位保証サーバ300にリクエストB713を転送する。   The request B 712 is transmitted from the customer terminal 101 to the client server 102, and the client server 102 transfers the request B 713 to the priority guarantee server 300.

優先順位保証サーバ300は、714の処理でキュー303にリクエストBを格納する。   The priority guarantee server 300 stores the request B in the queue 303 by the process of 714.

優先順位保証サーバ300は、714の処理後に、クライアントサーバ102に正常応答715を応答し、クライアントサーバ102は、顧客端末101へ正常応答716を応答する。   After the processing of 714, the priority guarantee server 300 returns a normal response 715 to the client server 102, and the client server 102 returns a normal response 716 to the customer terminal 101.

続いて、リクエストCについても、リクエストA、リクエストBと同じシーケンスで処理を実行する。   Subsequently, the request C is processed in the same sequence as the request A and the request B.

顧客端末101からクライアントサーバ102へリクエストC717を送信し、クライアントサーバ102は、優先順位保証サーバ300にリクエストC718を転送する。   The request C 717 is transmitted from the customer terminal 101 to the client server 102, and the client server 102 transfers the request C 718 to the priority guarantee server 300.

優先順位保証サーバ300は、719の処理でキュー303にリクエストCを格納する。   The priority guarantee server 300 stores the request C in the queue 303 in step 719.

優先順位保証サーバ300は、719の処理後に、クライアントサーバ102に正常応答720を応答し、クライアントサーバ102は、顧客端末101へ正常応答721を応答する。   After the processing of 719, the priority guarantee server 300 returns a normal response 720 to the client server 102, and the client server 102 returns a normal response 721 to the customer terminal 101.

次に優先順位保証サーバ300は、722の処理でキュー303からリクエストAを取得し、リクエストAをサービス実現サーバA104へ送信する。   Next, the priority guarantee server 300 acquires the request A from the queue 303 in the process of 722, and transmits the request A to the service realization server A104.

サービス実現サーバA104はエラー応答724を応答する。   The service realization server A104 returns an error response 724.

優先順位保証サーバ300は、エラー応答を受けたため、725の処理でリクエストAのリトライ処理を実行する。   Since the priority guarantee server 300 receives the error response, the priority guarantee server 300 executes the retry process of the request A in the process of 725.

キュー303に格納されているリクエストCについては、725の処理でリクエストAの処理を実行しているため、図4に示したリクエストCの処理は実行されない。   For request C stored in the queue 303, the processing of request A shown in FIG. 4 is not executed because the processing of request A is executed in the processing of 725.

リクエストBについては、優先順位決定キー308が異なるため、726の処理で、サービス実現サーバB105にリクエストB727を送信し、サービス実現サーバB105は正常応答728を応答する。   Since the priority order determination key 308 is different for the request B, the request B727 is transmitted to the service realization server B105 in the process of 726, and the service realization server B105 responds with a normal response 728.

726の処理後、729の処理で、キュー303からリクエストBを削除する。   After the process at 726, the request B is deleted from the queue 303 at the process at 729.

次に、優先順位保証サーバ300のキュー情報管理部304による、キュー303へリクエストを格納する処理の詳細を、図6のフローチャートに従って説明する。   Next, details of the process of storing a request in the queue 303 by the queue information management unit 304 of the priority guarantee server 300 will be described with reference to the flowchart of FIG.

リクエスト格納時処理では、リクエストを優先順位制御するかを判定するために、801で優先順位決定キー308の有無を解析する。   In the request storage process, the presence / absence of the priority determination key 308 is analyzed in step 801 in order to determine whether to control the priority of the request.

802にて、優先順位決定キー308の判定をし、優先順位決定キー308がある場合は、803にて、図1で説明したキュー格納管理テーブル309にリクエストID307と優先順位決定キー308を関連付けて格納する。   In step 802, the priority determination key 308 is determined. If the priority determination key 308 exists, the request ID 307 and the priority determination key 308 are associated with the queue storage management table 309 described in FIG. Store.

其の後、804の処理で、優先順位制御テーブル310の情報を取得し、805で、優先順位決定キー308が優先順位制御テーブル310に登録済みかの判定をする。   Thereafter, in step 804, information in the priority order control table 310 is acquired. In step 805, it is determined whether the priority order determination key 308 has been registered in the priority order control table 310.

判定結果が、YESの場合は、すでに登録されているため、先に格納しているリクエストID307より後に処理することとなるため、806の処理ですでに登録してあるリクエストID307の後ろに追加でリクエストID307を格納する。   If the determination result is YES, since it is already registered, it will be processed after the previously stored request ID 307. Therefore, it is added after the request ID 307 already registered in the processing of 806. Stores the request ID 307.

その後、807の処理でキュー303にリクエストを格納する。   Thereafter, the request is stored in the queue 303 in the process 807.

805の判定結果で、NOの場合は、優先順位制御テーブル310に新規に優先順位決定キー308とリクエストID307を格納する。   If the determination result of 805 is NO, the priority determination key 308 and the request ID 307 are newly stored in the priority control table 310.

802の判定で、優先順位決定キー308がない場合は、キュー格納管理テーブル309にリクエストID307を格納し、807の処理でキュー303にリクエストを格納して処理を終了する。   If the priority determination key 308 is not found in the determination of 802, the request ID 307 is stored in the queue storage management table 309, the request is stored in the queue 303 in the processing of 807, and the processing is terminated.

次に、優先順位保証サーバ300のキュー情報管理部304による、キュー303からリクエストを取得する処理の詳細を、図7のフローチャートに従って説明する。   Next, details of the process of acquiring a request from the queue 303 by the queue information management unit 304 of the priority guarantee server 300 will be described with reference to the flowchart of FIG.

リクエスト取得処理では、取得可能なリクエストを判定するために、901でキュー格納管理テーブル309の情報を取得する。   In the request acquisition process, information of the queue storage management table 309 is acquired in 901 in order to determine the requests that can be acquired.

901で取得したキュー格納管理テーブル309から、リクエストID307、優先順位決定キー308を取得し、902で、優先順位決定キー308の有無を判定する。   A request ID 307 and a priority determination key 308 are acquired from the queue storage management table 309 acquired in 901, and the presence or absence of the priority determination key 308 is determined in 902.

判定結果がなしの場合は、優先順位決定キーがないリクエストのため、各サーバへリクエストを優先的に送信する必要はない。そのため、910でリクエストをキュー303から取得し、911で取得したリクエストを各サーバへ送信し、912でリクエストID307をキュー取得管理テーブル313に格納し、913でキュー格納管理テーブル309からリクエストID307、優先順位決定キーを削除し、処理を終了する。   If the determination result is none, the request does not need to be transmitted to each server with priority because there is no priority determination key. Therefore, the request is acquired from the queue 303 at 910, the request acquired at 911 is transmitted to each server, the request ID 307 is stored in the queue acquisition management table 313 at 912, and the request ID 307 from the queue storage management table 309 is prioritized at 913. The rank determination key is deleted, and the process ends.

902の判定結果でありの場合、優先順位決定キーがあり、各サーバへリクエストの送信の優先順位を保つ必要がある。そのため、903で優先順位制御テーブル310から情報を取得する。   In the case of the determination result of 902, there is a priority determination key, and it is necessary to maintain the priority of request transmission to each server. Therefore, information is acquired from the priority order control table 310 at 903.

優先順位制御テーブル310から、904で取得するリクエストID307が先頭であるかを判定する。   It is determined from the priority order control table 310 whether the request ID 307 acquired at 904 is the head.

判定結果がYESの場合は、取得時にキューに格納されているリクエストの中で、取得しようとしているリクエストが先頭であるため、905でリクエストをキュー303から取得し、906でリクエストを各サーバへ送信し、907でリクエストID307をキュー取得管理テーブル313に格納し、909でキュー格納管理テーブル309からリクエストID307、優先順位決定キー308を削除し、処理を終了する。   When the determination result is YES, since the request to be acquired is the first among the requests stored in the queue at the time of acquisition, the request is acquired from the queue 303 in 905, and the request is transmitted to each server in 906. In step 907, the request ID 307 is stored in the queue acquisition management table 313. In step 909, the request ID 307 and the priority determination key 308 are deleted from the queue storage management table 309, and the processing ends.

904の判定結果がNOの場合は、取得しようしたリクエストが先頭に格納されていないこととなり、他に優先的に送信するリクエストがある判断となるため、その後はなにも実行せずに処理を終了する。   If the determination result of 904 is NO, it means that the request to be acquired is not stored at the head, and there is a request to be transmitted with priority, so the processing is performed without executing anything after that. finish.

次に、優先順位保証サーバ300のキュー情報管理部304による、キュー303からリクエストを削除する処理の詳細を、図8のフローチャートに従って説明する。リクエスト削除処理では、1001でキュー取得管理テーブル313情報を取得し、1002でキュー取得管理テーブル313からリクエストID307を削除し、1003で、優先順位制御テーブル310から情報を取得し、1004で、優先順位制御テーブル310からリクエストID307を削除し、1005でキュー303からリクエストを削除し、処理を終了する。   Next, details of the process of deleting a request from the queue 303 by the queue information management unit 304 of the priority guarantee server 300 will be described with reference to the flowchart of FIG. In the request deletion process, the queue acquisition management table 313 information is acquired at 1001, the request ID 307 is deleted from the queue acquisition management table 313 at 1002, the information is acquired from the priority control table 310 at 1003, and the priority is acquired at 1004. The request ID 307 is deleted from the control table 310, the request is deleted from the queue 303 at 1005, and the process is terminated.

300:優先順位保証サーバ
303:キュー
304:キュー情報管理部
309:キュー格納管理テーブル
310:優先順位制御テーブル
313:キュー取得管理テーブル
300: Priority guarantee server 303: Queue 304: Queue information management unit 309: Queue storage management table 310: Priority order control table 313: Queue acquisition management table

Claims (2)

クライアントサーバから受信するサービスリクエストを、複数のサービス実現サーバへ中継するキューサーバであって、
キューとキュー情報管理部とを備え、
前記キュー情報管理部は、
受信した、いずれかの前記サービス実現サーバを宛先とするメッセージに、当該メッセージを相互関係のある他のメッセージと関連付けるキーを付して前記キューへ格納し、
前記キューから取得した、前記メッセージと、当該メッセージに付された前記キーと同じキーが付された他の前記メッセージとに対して、前記キーと同じキーが付されていない他の前記メッセージとは独立して、いずれかの前記サービス実現サーバへの送信処理を行う
ことを特徴とするキューサーバ。
A queue server that relays service requests received from a client server to a plurality of service realization servers,
A queue and a queue information management unit,
The queue information management unit
The received message addressed to any one of the service realization servers is stored in the queue with a key for associating the message with other interrelated messages,
The other messages that are not given the same key as the key with respect to the message obtained from the queue and the other message that is given the same key as the key attached to the message. A queue server characterized by independently performing a transmission process to any one of the service realization servers.
請求項1に記載のキューサーバであって、
前記キュー情報管理部は、
前記キューへの前記メッセージの格納時に、同一の前記キーが付された前記メッセージを互いに関連付け、
前記キューから前記メッセージを取得する際に、前記関連付けを参照する
ことを特徴とするキューサーバ。
The queue server according to claim 1,
The queue information management unit
When storing the message in the queue, the messages with the same key are associated with each other;
A queue server that refers to the association when acquiring the message from the queue.
JP2014138236A 2014-07-04 2014-07-04 Queue server Active JP6518411B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014138236A JP6518411B2 (en) 2014-07-04 2014-07-04 Queue server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014138236A JP6518411B2 (en) 2014-07-04 2014-07-04 Queue server

Publications (2)

Publication Number Publication Date
JP2016018222A true JP2016018222A (en) 2016-02-01
JP6518411B2 JP6518411B2 (en) 2019-05-22

Family

ID=55233443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014138236A Active JP6518411B2 (en) 2014-07-04 2014-07-04 Queue server

Country Status (1)

Country Link
JP (1) JP6518411B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10684901B2 (en) 2016-08-23 2020-06-16 Hitachi, Ltd. Data store device and data management method
JP2021040259A (en) * 2019-09-04 2021-03-11 株式会社日立製作所 Computer, data control method, and data store system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61175822A (en) * 1985-01-31 1986-08-07 Nec Corp Cue with priority
JPH06119282A (en) * 1992-10-05 1994-04-28 Mitsubishi Electric Corp Device controller and its priority processing system
JP2002054263A (en) * 2000-08-08 2002-02-20 System Kenso:Kk Noise insulation structure in building
JP2002215405A (en) * 2001-01-16 2002-08-02 Matsushita Electric Ind Co Ltd Method and device for processing message
JP2002269063A (en) * 2001-03-07 2002-09-20 Toshiba Corp Massaging program, messaging method of distributed system, and messaging system
JP2006202310A (en) * 2000-12-28 2006-08-03 Future System Consulting Corp Framework system
JP2010039632A (en) * 2008-08-01 2010-02-18 Canon Inc Bus arbitration system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61175822A (en) * 1985-01-31 1986-08-07 Nec Corp Cue with priority
JPH06119282A (en) * 1992-10-05 1994-04-28 Mitsubishi Electric Corp Device controller and its priority processing system
JP2002054263A (en) * 2000-08-08 2002-02-20 System Kenso:Kk Noise insulation structure in building
JP2006202310A (en) * 2000-12-28 2006-08-03 Future System Consulting Corp Framework system
JP2002215405A (en) * 2001-01-16 2002-08-02 Matsushita Electric Ind Co Ltd Method and device for processing message
JP2002269063A (en) * 2001-03-07 2002-09-20 Toshiba Corp Massaging program, messaging method of distributed system, and messaging system
JP2010039632A (en) * 2008-08-01 2010-02-18 Canon Inc Bus arbitration system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10684901B2 (en) 2016-08-23 2020-06-16 Hitachi, Ltd. Data store device and data management method
JP2021040259A (en) * 2019-09-04 2021-03-11 株式会社日立製作所 Computer, data control method, and data store system
JP7351679B2 (en) 2019-09-04 2023-09-27 株式会社日立製作所 Computer, data control method and data store system

Also Published As

Publication number Publication date
JP6518411B2 (en) 2019-05-22

Similar Documents

Publication Publication Date Title
US8862672B2 (en) Content sharing and instant messaging
US8818940B2 (en) Systems and methods for performing record actions in a multi-tenant database and application system
CN109040227B (en) Service request response method and device based on block chain and computer equipment
JP2019533235A5 (en)
US9852220B1 (en) Distributed workflow management system
US8689243B2 (en) Web service API for unified contact store
US10498681B1 (en) Storage management for ephemeral messages
US9900837B2 (en) Multi-channel communications for sending push notifications to mobile devices
JP6764796B2 (en) Robot control system and robot control method
WO2017045450A1 (en) Resource operation processing method and device
US11716419B2 (en) Object oriented call management
WO2016172398A1 (en) Rich attachment regeneration
US8694462B2 (en) Scale-out system to acquire event data
WO2016149314A1 (en) Facilitating controlled electronic communication
US20150106899A1 (en) System and method for cross-cloud identity matching
US20110307557A1 (en) Selectively controlling information flow in a collaborative environment
US10713279B2 (en) Enhanced replication
CN109391658B (en) Account data synchronization method and equipment, storage medium and terminal thereof
JP2016018222A (en) Queue server
US9401953B2 (en) Intelligent high-volume cloud application programming interface request caching
JP2010086137A (en) Message queuing method and program
US20140289339A1 (en) Global email identity preferences
CN104199737B (en) A kind of method and apparatus for synchronizing handled image
CN115314457B (en) Offline message processing method and device
US9185059B1 (en) Management of journaling destinations

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170110

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170112

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190311

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190326

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190422

R150 Certificate of patent or registration of utility model

Ref document number: 6518411

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150