JP5879159B2 - Synchronization method in multiple servers - Google Patents
Synchronization method in multiple servers Download PDFInfo
- Publication number
- JP5879159B2 JP5879159B2 JP2012048704A JP2012048704A JP5879159B2 JP 5879159 B2 JP5879159 B2 JP 5879159B2 JP 2012048704 A JP2012048704 A JP 2012048704A JP 2012048704 A JP2012048704 A JP 2012048704A JP 5879159 B2 JP5879159 B2 JP 5879159B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- server
- request
- queue
- synchronization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 51
- 238000012545 processing Methods 0.000 claims description 239
- 230000008569 process Effects 0.000 claims description 39
- 230000010365 information processing Effects 0.000 claims description 8
- 230000010076 replication Effects 0.000 description 38
- 230000004044 response Effects 0.000 description 22
- 230000009977 dual effect Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000003111 delayed effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Hardware Redundancy (AREA)
Description
本発明は、複数の情報処理装置(サーバ)で同期処理を行う際のデータ処理の整合性を保つための技術に関する。 The present invention relates to a technique for maintaining the consistency of data processing when performing synchronization processing with a plurality of information processing apparatuses (servers).
現在、クライアントからの指示に応じて複数のサーバで所定の処理を実行させることは行われている。このように複数のサーバで処理をさせようとすると、それぞれの処理結果に不整合を生じることがあり得る。この問題を解決するための技術として、特許文献1がある。この特許文献1には、「複数の中央処理コンプレックス(CPC)を相互接続すると共にそれらにより共用される構造づけられた電子的記憶手段(SES)からなる本発明の好適な実施例に含まれる。(課題を解決するための手段参照)」と記載されている。
Currently, a predetermined process is executed by a plurality of servers in accordance with an instruction from a client. If processing is performed by a plurality of servers in this way, inconsistencies may occur in the processing results. As a technique for solving this problem, there is
特許文献1には、複数の計算機を相互接続すると共にそれらにより共用される構造づけられた電子的記憶手段で不整合を防止するための技術の例が記載されている。しかし、特許文献1の電子的記憶手段が障害等により機能しなくなった場合、複数の計算機間でデータの同期を行うことができない。
上記課題を解決するために、本発明は、複数の計算機により共用される構造づけられた電子記憶手段を二重化し、複数の計算機からそれぞれの電子記憶手段に接続することで、片方の電子記憶手段が障害等により機能しなくなった場合にも、複数の計算機間でのデータの同期が可能となる。すなわち、本発明では、複数のサーバにおいて、処理を実行した場合、それぞれに対応する同期サーバのいずれかにおいて、複数のサーバそれぞれの処理について異なるリクエスト(要求)に対して同じ識別情報(連番)が付与されている場合、他の同期サーバに通知を行うものである。この際、通知に応じて、いずれのサーバでの処理結果を優先させるかの裁定処理を実行するとより好適である。 In order to solve the above-mentioned problems, the present invention provides one electronic storage means by duplicating a structured electronic storage means shared by a plurality of computers and connecting the plurality of computers to each electronic storage means. Data can be synchronized among a plurality of computers even if the computer stops functioning due to a failure or the like. That is, in the present invention, when processing is executed in a plurality of servers, the same identification information (sequential number) for different requests (requests) for the processing of each of the plurality of servers in any of the corresponding synchronization servers Is given, it notifies the other synchronization server. At this time, it is more preferable to execute an arbitration process for giving priority to the processing result in which server in accordance with the notification.
なお、以下、本発明の一態様をより具体的な表現で記載する。以下の構成を有する情報処理装置(システム)1であって、
計算サーバへ処理リクエストを送信し、処理結果の応答を受ける制御部102を備えたクライアント端末100と、
前記クライアント端末100からの前記処理リクエストを、第1計算サーバ300および1以上の第2計算サーバ400へ送信するリクエスト複製部202と、
前記第1計算サーバ300および前記第2計算サーバ400からの処理結果の応答を、前記クライアント端末100へ送信する応答・破棄判定部204と、
を備えたリクエスト複製サーバ200と、
前記クライアント端末100からの処理リクエストを受け取り、前記第1計算サーバ300と前記第2計算サーバ400とで同期が必要な処理リクエストの場合は第1同期サーバ700および1以上の第2同期サーバ800に同期処理を依頼した上で、前記処理リクエストの計算処理を実行し、処理結果を返信する第1計算部302を備えた前記第1計算サーバ300と、
前記クライアント端末100からの処理リクエストを受け取り、前記第1計算サーバ300と前記第2計算サーバ400とで同期が必要な処理リクエストの場合は第1同期サーバ700および1以上の第2同期サーバ800に同期処理を依頼した上で、前記処理リクエストの計算処理を実行し、処理結果を返信する第2計算部402を備えた前記1以上の第2計算サーバ400と、
を有し、
前記第1同期サーバ700は、前記第1計算サーバ300および前記第2計算サーバ400からの同期要求の処理を行い、前記同期要求の処理結果を前記1以上の第2同期処理サーバ800が備える比較通知部808に通知する比較処理部708を備えるものである。
Note that one embodiment of the present invention will be described below in more specific terms. An information processing apparatus (system) 1 having the following configuration,
A
A
A response /
A
When a processing request is received from the
When a processing request is received from the
Have
The
本発明によれば、複数の計算機により共用される1つの電子的記憶手段が障害等により機能しなくなった場合にも、もう一方の電子的記憶手段が機能することにより、複数の計算機間でのデータの同期が可能となる。 According to the present invention, even when one electronic storage means shared by a plurality of computers ceases to function due to a failure or the like, the other electronic storage means functions so that Data synchronization is possible.
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。 Problems, configurations, and effects other than those described above will be clarified by the following description of embodiments.
以下、本発明の一実施例を図面を用いて説明する。 Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
本実施例では、同期サーバを2重化したデュアルシステムの例を説明する。
図2は、本実施例にかかる情報処理装置1を示す図である。
In this embodiment, an example of a dual system in which synchronization servers are duplicated will be described.
FIG. 2 is a diagram illustrating the
本情報処理装置1は、クライアント端末100と、リクエスト複製サーバ200と、複数の計算サーバ300、400と、複数のキューサーバ500、600と、複数の同期サーバ700、800とを含んで構成され、各端末、サーバは、ネットワーク150を介して互いに通信可能である。
The
ネットワーク150は、通常はLAN(Local Area Network)等の利用者の組織が管理する通信網である。ただし、これに限らず、ネットワーク150は、インターネット等の公衆通信網、WAN(Wide Area Network)またはVPN(Virtual Private Network)等の一般公衆回線を一部に用いた通信網であってもよい。
The
図1は、情報処理装置1において、同期サーバを2重化したデュアルシステム構成となっていることを示す図である。
FIG. 1 is a diagram illustrating that the
クライアント端末100は制御部102を備え、制御部102は計算サーバへ処理リクエストを送信し、処理結果の応答を受ける。
The
クライアント端末100の制御部102が送信した処理リクエストは、デュアル構成となっている計算サーバ群それぞれに送信するため、まず、リクエスト複製サーバ200のリクエスト複製部202が受信する。リクエスト複製部202は、リクエスト状態データ206に当該処理リクエストを「処理中」として登録し、第1計算サーバと第2計算サーバとに当該リクエストを送信する。
Since the process request transmitted by the
計算サーバはデュアル構成となっており、それぞれ複数サーバからなる第1計算サーバ300と第2計算サーバ400とから構成される。
The calculation server has a dual configuration, and includes a
リクエスト複製部202が第1計算サーバ300へ送信した処理リクエストは、第1計算サーバ300を構成するいずれかのサーバの第1計算処理部302が受信し、リクエストされた処理を実行する。同様に、処理リクエストは、第2計算サーバ400を構成するいずれかのサーバの第2計算処理部402も受信し、リクエストされた同じ処理を実行する。
The processing request transmitted from the
上述の処理リクエストによる処理が同期処理を必要としない場合、第1計算部302、第2計算部402は、それぞれ処理結果をリクエスト複製サーバ200の応答・破棄判定部204に送信する。
When the processing according to the above-described processing request does not require the synchronization processing, the
応答・破棄判定部204は、受信した処理結果に対応する処理リクエストの状態をリクエスト状態データ206を参照して確認し、「処理中」であれば、「応答済」に状態を変更し、処理結果をクライアント端末100に送信する。すでに「応答済」であれば、当該処理結果を送信せずに破棄する。
The response /
以上述べたように、本実施例におけるデュアルシステムは、計算サーバ群を多重化することにより、可用性を向上するとともに、先に処理を終えた応答をクライアント端末100に送信することで、高速応答を実現する。
As described above, the dual system according to the present embodiment improves the availability by multiplexing the calculation server group, and transmits a response that has been processed first to the
次に、本実施例で同期処理が必要な場合の処理について説明する。 Next, processing when synchronization processing is necessary in this embodiment will be described.
同期処理が必要な場合とは、例えば以下のような場合である。本実施例では、各計算サーバが複数のサーバから構成される分散システムであるため、処理リクエストの処理される順番が第1計算サーバ300と第2計算サーバ400とで異なる可能性がある。処理順序が最終的な結果に影響を与える場合、第1計算サーバ300と第2計算サーバ400とで処理リクエストの処理順序を同期させる必要がある。
The case where the synchronization processing is necessary is, for example, the following case. In this embodiment, since each calculation server is a distributed system including a plurality of servers, the processing order of processing requests may be different between the
本実施例では、同期サーバにおいて上述の同期処理を行う。また、同期サーバを第1同期サーバ700と第2同期サーバに2重化することにより、同期サーバが単一障害点となることを回避する。
In this embodiment, the synchronization server performs the above-described synchronization processing. Further, by duplicating the synchronization server into the
処理リクエストを受信した第1計算部302は、当該処理リクエストが同期処理の必要なものの場合、処理を行う前に、第1キューサーバ500の第1整列キュー処理部502へ送信する。第1整列キュー処理部502は受信した順序で、処理リクエストを順次、第1同期サーバ700の第1要求キュー処理部702と第2同期サーバ800の第2複製キュー処理部804とに送信する。
The
同様に、処理リクエストを受信した第2計算部402は、当該処理リクエストが同期処理の必要なものの場合、処理を行う前に、第2キューサーバ600の第2整列キュー処理部602へ送信する。第2整列キュー処理部602は受信した順序で、処理リクエストを順次、第1同期サーバ700の第1複製キュー処理部704と第2同期サーバ800の第2要求キュー処理部802とに送信する。
Similarly, the
ここで、各整列キュー処理部の処理により、第1要求キュー処理部702が受信している処理リクエストの順序と、第2複製キュー処理部804が受信している処理リクエストの順序とは同一である。また、第1複製キュー処理部704が受信している処理リクエストの順序と、第2要求キュー処理部802が受信している処理リクエストの順序とは同一である。
Here, the order of the processing requests received by the first request
ただし、キューサーバの処理負荷、ネットワークの負荷などの状況などにより、各要求キュー、各複製キューへの処理リクエストの到達タイミングは異なる可能性がある。 However, the arrival timing of the processing request to each request queue and each replication queue may differ depending on the processing load of the queue server, the network load, and the like.
比較通知部708は、第1要求キュー処理部702と第1複製キュー704とから、それぞれ先頭の処理リクエストを取り出し、比較する。同一の処理リクエストの場合、当該リクエストへの採番を採番処理部706に依頼し、応答された番号を当該処理リクエストに付加して、第1計算サーバ300に送信する。また、採番結果を第2同期サーバ800の比較処理部808に通知する。
The
第2同期サーバ800の比較処理部808は、通知された採番結果に従って処理リクエストへの番号の付加を行い、第2計算サーバ400に送信する。
The comparison processing unit 808 of the
第1計算サーバ300、第2計算サーバ400では、処理リクエストに付加された番号に従った順序で処理を行い、計算結果を返信する。
The
第1要求キュー処理部702と第1複製キュー704とから取り出した処理リクエストが異なる場合、比較通知部708は、所与の方法によりどちらかの処理リクエストを採番対象として選択し、当該リクエストへの採番を採番処理部706に依頼し、応答された番号を当該処理リクエストに付加して、第1計算サーバ300に送信する。また、採番結果を第2同期サーバ800の比較処理部808に通知する。さらに、選択しなかった処理リクエストを保持し、次の比較通知処理時に比較対象とする。
When the processing requests fetched from the first request
第2同期サーバでの通知受信後の処理は同様であり、選択しなかった処理リクエストを保持し、次の比較通知処理時に比較対象とする。 The processing after the notification is received at the second synchronization server is the same, and the processing request that has not been selected is held and used as a comparison target in the next comparison notification processing.
図3は同期サーバのハードウェア構成図である。
本実施例においては、クライアント端末100は、例えば、PC(パーソナルコンピュータ)や、ワークステーション、サーバ装置、各種携帯電話端末、PDA(Personal Digital Assistant)などの計算機である。
FIG. 3 is a hardware configuration diagram of the synchronization server.
In this embodiment, the
クライアント端末100は、入力装置111と、出力装置112と、演算装置113と、主記憶装置114と、外部記憶装置115と、通信装置116と、それぞれの装置を互いに接続するバス117と、を有する。
The
入力装置111は、例えばキーボードやマウス、あるいはタッチペン、その他ポインティングデバイスなどの入力を受け付ける装置である。
出力装置112は、例えばディスプレイなどの、表示を行う装置である。
The input device 111 is a device that accepts input from, for example, a keyboard, mouse, touch pen, or other pointing device.
The
演算装置113は、例えばCPU(Central Processing Unit)などの演算装置である。
主記憶装置114は、例えばRAM(Random Access Memory)などのメモリ装置である。
外部記憶装置115は、例えばハードディスク装置やフラッシュメモリなどの不揮発性記憶装置である。
通信装置116は、アンテナを介して無線通信を行う無線通信装置、又はネットワークケーブルを介して有線通信を行う有線の通信装置である。
The
The
The
The
クライアント端末100の制御部102は、クライアント端末100の演算装置113に処理を行わせるプログラムによって実現される。
このプログラムは、主記憶装置114または外部記憶装置115内に記憶され、実行にあたって主記憶装置114上にロードされ、演算装置113により実行される。
The
This program is stored in the
なお、図示しないが、リクエスト複製サーバ200、第1計算サーバ300、第2計算サーバ400、第1キューサーバ500、第2キューサーバ600、第1同期サーバ700および第2同期サーバ800についても、クライアント端末100と同様のハードウェア構成を備える。ただし、リクエスト複製サーバ200、第1計算サーバ300、第2計算サーバ400、第1キューサーバ500、第2キューサーバ600、第1同期サーバ700および第2同期サーバ800については、クライアント端末100の入力装置111と、出力装置112と、に対応する装置、すなわち使用者との入出力機能を受け持つハードウェアデバイスを有しないものであってもよい。
Although not shown, the
また、リクエスト複製サーバ200のリクエスト複製部202と、応答・破棄判定部204とは、リクエスト複製サーバ200の演算装置113に処理を行わせるプログラムによって実現される。
Further, the
このプログラムは、主記憶装置114または外部記憶装置115内に記憶され、実行にあたって主記憶装置114上にロードされ、演算装置113により実行される。また、リクエスト状態データ206は主記憶装置114または外部記憶装置115内に記憶される。
This program is stored in the
また、第1計算サーバ300の第1計算部302、第2計算サーバ400の第2計算部402、第1キューサーバ500の第1キュー整列部502および第2キューサーバ600の第2キュー整列部602は、各サーバの演算装置113に処理を行わせるプログラムによって実現される。
The
このプログラムは、主記憶装置114または外部記憶装置115内に記憶され、実行にあたって主記憶装置114上にロードされ、演算装置113により実行される。
This program is stored in the
さらに、第1同期サーバ700の各処理部、第2同期サーバ800の各処理部についても、上記と同様である。
Further, the processing units of the
以上説明したデュアルシステムにおいては、同期サーバを多重化したことにより、同期サーバが単一障害点となることを回避し、可用性を向上させることができる。 In the dual system described above, the synchronization server is multiplexed, so that the synchronization server can be prevented from becoming a single point of failure and the availability can be improved.
実施例1において、第1要求キュー処理部702と第1複製キュー704とから取り出した処理リクエストが異なる場合、比較通知部708は、どちらかの処理リクエストを採番対象として選択する必要がある。
In the first embodiment, when the processing requests extracted from the first request
本実施例では、同期サーバを2重化したデュアルシステムにおいて、比較通知部での処理において、処理リクエストの選択において、優先するキューを予め決めておく同期処理の例を説明する。 In this embodiment, an example of synchronization processing in which a priority queue is determined in advance in selection of a processing request in processing in the comparison notification unit in a dual system in which synchronization servers are duplicated will be described.
図6は要求キュー処理部、複製キュー処理部で扱うキューデータの1例である。図は第1同期サーバ700の例を示している。
FIG. 6 shows an example of queue data handled by the request queue processing unit and the replication queue processing unit. The figure shows an example of the
第1要求キュー6010には、第1キューサーバ500からの処理リクエストが、先頭である右側から、処理リクエストA6011、処理リクエストB6012、処理リクエストC6013の順で処理リクエストが格納されている。また、第1複製キュー6020には、第2キューサーバ600からの処理リクエストが、先頭である右側から、処理リクエストA6021、処理リクエストC6022、処理リクエストB6023の順で処理リクエストが格納されている。
In the
上述のように、第2複製キューと第2要求キューにも、それぞれ図6に示す第1要求キュー6010、第1複製キュー6020と同じ順序で、処理リクエストが格納されている。ただし、キューサーバの処理負荷、ネットワークの負荷などの状況などにより、各要求キュー、各複製キューへの処理リクエストの到達タイミングは異なる可能性がある。
As described above, the processing requests are stored in the second replication queue and the second request queue in the same order as the
図7は要求キュー処理部、複製キュー処理部で扱うキューデータの別の例である。図は第1同期サーバ700の例を示している。
FIG. 7 shows another example of queue data handled by the request queue processing unit and the replication queue processing unit. The figure shows an example of the
この例では、第1要求キュー6010には、第1キューサーバ500からの処理リクエストが、先頭である右側から、処理リクエストB6012、処理リクエストC6013、処理リクエスト6014の順で処理リクエストが格納されている。また、第1複製キュー6020には、第2キューサーバ600からの処理リクエストが、先頭である右側から、処理リクエストC6022、処理リクエストB6023、処理リクエストD6024の順で処理リクエストが格納されている。
In this example, processing requests from the
この例においても、第2複製キューと第2要求キューにも、それぞれ図7に示す第1要求キュー6010、第1複製キュー6020と同じ順序で、処理リクエストが格納されている。ただし、キューサーバの処理負荷、ネットワークの負荷などの状況などにより、各要求キュー、各複製キューへの処理リクエストの到達タイミングは異なる可能性がある。
Also in this example, processing requests are stored in the second replication queue and the second request queue in the same order as the
図4は、予め優先キューを決めておく方法での第1同期サーバの比較通知部708の処理を示したフローチャートである。図4、および図6、図7のキューデータの例を用いて、比較通知部708が行う処理の流れを説明する。
FIG. 4 is a flowchart showing the processing of the
処理が開始すると、まず比較通知部708は、第1要求キュー処理部702と第1複製キュー処理部704に依頼し、それぞれのキューの先頭データを取り出す(ステップS001)。
When the process starts, first, the
比較通知部708は、優先キューとする第1要求キュー処理部702からの処理リクエストがあるかどうか判定し(ステップS002)、処理リクエストがない場合(ステップS002にて「NO」)、ステップS003に進む。
The
第1要求キュー処理部702からの処理リクエストがある場合(ステップS002にて「Yes」)、前回までの比較通知部708の処理で保持していた処理リクエストと第1要求キュー処理部702からの処理リクエストが同一の場合、比較通知部708は、保持していた処理リクエストを破棄する(ステップS004)。
When there is a processing request from the first request queue processing unit 702 (“Yes” in step S002), the processing request held in the processing of the
第1複製キュー処理部704からの処理リクエストが第1要求キュー処理部702からの処理リクエストと異なる場合、比較通知部708は、第1複製キュー処理部704からの処理リクエストを保持する(ステップS005)。
When the processing request from the first replication
図7に示すようなキューデータの状態の場合、取り出した処理リクエストB6012と処理リクエストC6022が異なるので、処理リクエストC6022を保持しておく。次回の比較通知部708の処理で第1要求キューから処理リクエストC6013が取り出され、この処理リクエストと、ここで保持した処理リクエストCが一致するので、ステップS004において、保持していた処理リクエストCは破棄される。
In the case of the queue data state as shown in FIG. 7, since the extracted
第1要求キュー処理部702からの処理リクエストが採番済みでなければ、比較通知部708は、採番処理部706に採番を依頼し、応答を受ける(ステップS006)。
If the processing request from the first request
比較通知部708は、第1要求キュー処理部702からの処理リクエストに採番処理部706から応答を受けた番号を付加し、第1計算サーバ300に送信する(ステップS007)。
The
さらに、比較通知部708は、前記の採番結果を記録し、第2同期サーバ800の比較通知部808に採番結果を通知し(ステップS008)、処理を終了する。
Further, the
ステップS002において「NO」の場合、比較通知部の今回の処理の開始からの経過時間が、所与の時間以内であるか判定する(ステップS003)。 If “NO” in step S002, it is determined whether the elapsed time from the start of the current process of the comparison notification unit is within a given time (step S003).
所与の時間以内であれば(ステップS003にて「YES」)、ステップS001に戻り、第1要求キュー処理部702からの処理リクエストを取り出す。
If it is within the given time (“YES” in step S003), the process returns to step S001, and the processing request from the first request
ステップS003において「NO」の場合、第1複製キューからの処理リクエストが採番済みでなければ、比較通知部708は、採番処理部706に採番を依頼し、応答を受け(ステップS009)、ステップS007に進む。
If “NO” in step S003, if the processing request from the first replication queue has not been numbered, the
以上説明した第1同期サーバ700における優先キューを予め決めておく比較通知部708の処理によれば、処理リクエストが各キューに滞りなく、高速に到着する場合、それぞれのキューからの処理リクエストから採番対象を選択する処理の負荷が小さく、高速な応答が可能である。
According to the processing of the
実施例2の方法において、ネットワーク帯域不足による遅延等により、優先キューとする第1要求キュー処理部702への送信が、第1複製キュー処理部704よりも恒常的遅くなった場合、処理リクエストへの応答も遅延してしまう。
In the method according to the second embodiment, when the transmission to the first request
本実施例では、同期サーバを2重化したデュアルシステムにおいて、比較通知部での処理において、キューへの到着時刻に基づいて処理リクエストの選択を行う同期処理の例を説明する。 In this embodiment, an example of a synchronization process that selects a processing request based on an arrival time in a queue in a process in the comparison notification unit in a dual system in which synchronization servers are duplicated will be described.
図5はキューへの到着時刻に基づいて処理リクエストの選択を行う方式での第1同期サーバの比較通知部708の処理を示したフローチャートである。
FIG. 5 is a flowchart showing the processing of the
処理が開始すると、まず比較通知部708は、第1要求キュー処理部702と第1複製キュー処理部704に依頼し、それぞれのキューの先頭データを取り出す(ステップS101)。
When the processing starts, first, the
比較通知部708は、第1要求キュー処理部702、第1複製キュー処理部704からの処理リクエスト両方があるかどうか判定し(ステップS102)、両方の処理リクエストがない場合(ステップS102にて「NO」)、ステップS105に進み、両方の処理リクエストがある場合(ステップS102にて「YES」)、ステップS103に進む。
The
ステップS103において、比較通知部708は、両方の処理リクエストが同一のものか判定し、同一の場合(ステップS103にて「YES」)、ステップS105に進み、同一でない場合、ステップS104に進む。
In step S103, the
ステップS104で、比較通知部708は、両方の処理リクエストの第1要求キュー処理部702、第1複製キュー処理部704への到着時刻を比較し、到着時刻が早い処理リクエストを採番対象に選択し、他方の処理リクエストを保持する。
In step S104, the
続いて、処理リクエストが採番済みでなければ、比較通知部708は、採番処理部706に採番を依頼し、応答を受ける(ステップS105)。
Subsequently, if the processing request has not been numbered, the
比較通知部708は、処理リクエストに採番処理部706から応答を受けた番号を付加し、第1計算サーバ300に送信する(ステップS106)。
The
さらに、比較通知部708は、前記の採番結果を記録し、第2同期サーバ800の比較通知部808に採番結果を通知し(ステップS107)、処理を終了する。
Further, the
以上説明した第1同期サーバ700におけるキューへの到着時刻に基づいて処理リクエストの選択を行う比較通知部708の処理によれば、処理リクエストの各キューへの到着に不規則性が比較的高く、優先と設定されたキューへの処理リクエストが滞った場合も、どちらかのキューへ処理リクエストが到着した時点で採番処理を行うことができ、高速な応答が可能である。
According to the processing of the
以上説明してきた実施例1〜3では、第1同期サーバ700の採番結果を第2同期サーバ800へ通知することで、双方の採番結果の同期を取っている。このため、第1同期サーバに障害が発生した場合、処理リクエストへの応答が滞ってしまうことがある。
In the first to third embodiments described above, the numbering result of the
本実施例では、同期サーバを2重化したデュアルシステムにおいて、第1同期サーバに障害が発生しても、処理リクエストへの応答を継続することのできる同期処理の例を説明する。 In the present embodiment, an example of a synchronization process in which a response to a processing request can be continued even if a failure occurs in the first synchronization server in a dual system in which the synchronization server is duplicated will be described.
図8は第1同期サーバ700の障害の際にも処理を継続できる、第2同期サーバ800の比較通知処理808の処理を示したフローチャートである。
FIG. 8 is a flowchart showing the process of the comparison notification process 808 of the
処理が開始すると、比較通知処理808は、第2要求キュー処理部802と、第2複製キュー処理部804とから取り出した処理リクエストが異なる場合、継続の処理を保留し、第1同期サーバ700の比較通知部708からの採番結果の通知を待つ(ステップS201)。
When the processing starts, the comparison notification processing 808 suspends the continuation processing when the processing requests fetched from the second request
比較通知部808は比較通知部708から通知があったか判定し(ステップS202)、未通知であれば(ステップS202にて「NO」)、ステップS203へ進む。 The comparison notification unit 808 determines whether there is a notification from the comparison notification unit 708 (step S202), and if not notified (“NO” in step S202), the process proceeds to step S203.
ステップS203では、比較通知部808は、比較通知部808の処理開始からの経過時間が所与の時間以内か判定し、時間内であれば(ステップS203にて「YES」)、ステップS202に戻り、通知を待つ。 In step S203, the comparison notification unit 808 determines whether the elapsed time from the start of processing of the comparison notification unit 808 is within a given time, and if within the time (“YES” in step S203), returns to step S202. , Wait for notification.
ステップS202で通知があれば(ステップS202にて「YES」)、比較通知部808は、通知された採番対象の処理リクエストへの採番を採番処理部806に依頼し、番号の応答を受ける(ステップS204)。
If there is a notification in step S202 (“YES” in step S202), the comparison notification unit 808 requests the
比較通知部808は、採番対象にならなかった処理リクエストを保持する(ステップS205)。 The comparison notification unit 808 holds a processing request that has not been assigned (step S205).
さらに、比較通知部808は、採番処理部806から受信した番号を対象の処理リクエストに付加し、第2計算サーバ400に送信する(ステップS206)。そして、採番結果を記録し(ステップS207)、処理を終了する。
Further, the comparison notification unit 808 adds the number received from the
ステップS203にて、経過時間が所与の時間を超えた場合(ステップS203にて「NO」)、比較通知部808は、第1同期サーバ700に再起動および第2同期サーバへの役割切り替えを指示する(ステップS208)。
さらに、比較通知部808は、第1同期サーバ700の比較通知部708の役割を担うように処理方法の切り替えを行う(ステップS209)。
In step S203, when the elapsed time exceeds the given time (“NO” in step S203), the comparison notification unit 808 restarts the
Furthermore, the comparison notification unit 808 switches the processing method so as to play the role of the
図4または図5に示す処理により、比較通知部808は、採番対象の処理リクエストを選択し、採番処理部806へ採番を依頼し、番号の応答を受け(ステップ)、ステップ205へ進む。
By the processing shown in FIG. 4 or 5, the comparison notification unit 808 selects the numbering processing request, requests the
移行は、第2同期サーバ800が従前の第1同期サーバの役割を担って処理を継続し、第1同期サーバが再起動後は、第1同期サーバが従前の第2同期サーバの役割を担うことで、同期サーバの2重化を継続することができる。
In the migration, the
以上説明した、第1同期サーバに障害が発生した場合、第1同期サーバと第2同期サーバの役割を入れ替える処理により、第1同期サーバに障害が発生した場合でも、処理を継続し、かつ同期サーバの2重化構成を回復することが可能である。 When a failure occurs in the first synchronization server as described above, the process is continued and synchronized even if a failure occurs in the first synchronization server by the process of switching the roles of the first synchronization server and the second synchronization server. It is possible to recover the dual server configuration.
なお、上述した各実施例では、計算サーバ、キューサーバ、同期サーバをそれぞれ2重化した構成となっているが、本発明はこの実施例に限定されるものではなく、3以上の多重度を持たせた構成であってもよい。 In each of the above-described embodiments, the calculation server, the queue server, and the synchronization server are each duplexed. However, the present invention is not limited to this embodiment, and a multiplicity of three or more is provided. It may have a configuration.
さらに、本発明は、例示した適用例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。 Furthermore, the present invention is not limited to the illustrated application examples, and includes various modifications. For example, the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described. Further, a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. Further, it is possible to add, delete, and replace other configurations for a part of the configuration of each embodiment.
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、フラッシュメモリ(例えばSDカード)、DVD等の記録媒体に置くことができる。 Each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit. Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor. Information such as programs, tables, and files for realizing each function is stored in a recording device such as a memory, a hard disk, an SSD (Solid State Drive), or a recording medium such as an IC card, a flash memory (for example, an SD card), or a DVD. Can be put.
1 情報処理装置
100 クライアント端末
200 リクエスト複製サーバ
300 第1計算サーバ
400 第2計算サーバ
700 第1同期サーバ
800 第2同期サーバ
DESCRIPTION OF
Claims (2)
前記複数の計算サーバそれぞれが、クライアント装置からの処理リクエストに応じた処理を実行し、
前記複数のサーバそれぞれに対応した同期サーバが、
実行された前記処理の結果を、自身が対応する計算サーバに接続された第1のキューサーバおよび他の計算サーバに接続された第2のキューサーバから受信し、
前記第1のキューサーバから受信した処理の結果および前記第2のキューサーバから受信した処理の結果を比較し、それぞれの処理順序が異なることにより同期が必要かを判断し、同期処理が必要な場合、他の同期サーバであって前記第2のキューサーバに接続された同期サーバに対して、同じ識別番号が付与されている旨の情報を通知することを特徴とする複数の計算サーバにおける同期方法。 In a synchronization method in a plurality of calculation servers, each executing a process according to a process request,
Each of the plurality of calculation servers executes processing according to a processing request from a client device,
A synchronization server corresponding to each of the plurality of servers,
The result of the executed process is received from the first queue server connected to the corresponding calculation server and the second queue server connected to the other calculation server ,
Compare the result of the process received from the first queue server and the result of the process received from the second queue server, determine whether synchronization is necessary due to the different processing order, and synchronization process is required In this case, the synchronization in the plurality of calculation servers is characterized in that information indicating that the same identification number is given to another synchronization server that is connected to the second queue server. Method.
前記他の情報処理装置は、前記複数のサーバのうち、いずれのサーバでの処理結果を優先させるかの裁定処理を実行することを特徴とする複数の計算サーバにおける同期方法。 The synchronization method for a plurality of calculation servers according to claim 1,
The synchronization method in a plurality of calculation servers, wherein the other information processing apparatus executes an arbitration process as to which of the plurality of servers gives priority to a processing result.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012048704A JP5879159B2 (en) | 2012-03-06 | 2012-03-06 | Synchronization method in multiple servers |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012048704A JP5879159B2 (en) | 2012-03-06 | 2012-03-06 | Synchronization method in multiple servers |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013186509A JP2013186509A (en) | 2013-09-19 |
JP5879159B2 true JP5879159B2 (en) | 2016-03-08 |
Family
ID=49387924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012048704A Expired - Fee Related JP5879159B2 (en) | 2012-03-06 | 2012-03-06 | Synchronization method in multiple servers |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5879159B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG11201601815VA (en) | 2013-09-09 | 2016-04-28 | Nec Corp | Storage battery system, method of updating storage battery system, and program |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3103877B2 (en) * | 1993-08-27 | 2000-10-30 | 株式会社エヌ・ティ・ティ・データ | Program execution method by multi-configuration system |
JP2007264770A (en) * | 2006-03-27 | 2007-10-11 | Fujitsu Ltd | Database access method and device |
JP5176230B2 (en) * | 2008-03-10 | 2013-04-03 | 株式会社日立製作所 | Computer system, computer control method, and computer control program |
-
2012
- 2012-03-06 JP JP2012048704A patent/JP5879159B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013186509A (en) | 2013-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tan et al. | Coupling task progress for mapreduce resource-aware scheduling | |
US9916275B2 (en) | Preventing input/output (I/O) traffic overloading of an interconnect channel in a distributed data storage system | |
US10754686B2 (en) | Method and electronic device for application migration | |
US10469405B2 (en) | Network-accessible data volume modification | |
US10037298B2 (en) | Network-accessible data volume modification | |
US10826812B2 (en) | Multiple quorum witness | |
Zhang et al. | Smarth: Enabling multi-pipeline data transfer in hdfs | |
US10721302B2 (en) | Network storage protocol and adaptive batching apparatuses, methods, and systems | |
US9645747B2 (en) | Management of allocation for alias devices | |
US20170315673A1 (en) | Input control assignment | |
US10300386B1 (en) | Content item instance scaling based on wait time | |
US10671293B2 (en) | Topology aware load optimized multipath I/O scheduler | |
US8621260B1 (en) | Site-level sub-cluster dependencies | |
US9332071B2 (en) | Data stage-in for network nodes | |
JP5879159B2 (en) | Synchronization method in multiple servers | |
Munir et al. | Network scheduling and compute resource aware task placement in datacenters | |
US10610780B1 (en) | Pre-loaded content attribute information | |
JP5783008B2 (en) | Storage device, storage system, data update method, and data management program | |
Wu et al. | Multi-source streaming-based data accesses for MapReduce systems | |
JP4089506B2 (en) | File sharing system, server and program | |
US20240168898A1 (en) | Distributed queue multi-bus on multi-cpu chips | |
US10133496B1 (en) | Bindable state maintaining components | |
WO2013082743A1 (en) | Method and device for improving concurrence performance of distributed object storage system | |
US11048554B1 (en) | Correlated volume placement in a distributed block storage service | |
Ranaweera et al. | Non-local data fetch scheme based on delay distribution for Hadoop clusters in public cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140717 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150320 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150428 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150629 |
|
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: 20160105 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160201 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5879159 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |