JP5703375B2 - Multiplexing system, method, and program - Google Patents
Multiplexing system, method, and program Download PDFInfo
- Publication number
- JP5703375B2 JP5703375B2 JP2013516143A JP2013516143A JP5703375B2 JP 5703375 B2 JP5703375 B2 JP 5703375B2 JP 2013516143 A JP2013516143 A JP 2013516143A JP 2013516143 A JP2013516143 A JP 2013516143A JP 5703375 B2 JP5703375 B2 JP 5703375B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- response
- multiplexing
- parameter
- transmitted
- 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 59
- 230000004044 response Effects 0.000 claims description 54
- 230000008569 process Effects 0.000 claims description 43
- 238000012545 processing Methods 0.000 claims description 34
- 238000012790 confirmation Methods 0.000 claims description 17
- 230000005540 biological transmission Effects 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 7
- 239000000284 extract Substances 0.000 claims description 5
- 238000004519 manufacturing process Methods 0.000 description 39
- 238000010586 diagram Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2038—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2097—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2048—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Description
本発明は、リクエストを本番系と待機系の2つの計算機システムに入力し、計算機システムの検証をするための多重化技術である。 The present invention is a multiplexing technique for verifying a computer system by inputting a request to two computer systems of a production system and a standby system.
計算機システムに対して、プログラムの改修や設定の変更など実施する場合、待機系の計算機システムを用いて、動作検証を行う。例えば、本番系と待機系の2つの計算機システムに同じリクエストを入力して、2つの計算機システムからの応答を照合し、変更したシステムの動作を検証することが行われている。 When revising a program or changing settings for a computer system, the operation is verified using a standby computer system. For example, the same request is input to two computer systems of the production system and the standby system, the responses from the two computer systems are collated, and the operation of the changed system is verified.
このような技術分野の背景技術としては、特許文献1、特許文献2がある。特許文献1には、本番系システム内で送受信されるデータをキャプチャー機器によりキャプチャーするキャプチャー処理と、キャプチャーされたデータをテスト機器へ転送するキャプチャーデータ転送処理と、転送されたデータを用いて本番系システムの運転テストを行なう処理とを行なうようにすることにより、本番系システムの改造を何ら行なうことなく、アプリケーションプログラムの開発工程における本番系システムとテスト支援装置との並行運転を行なうことが記載されている。 As background art in such a technical field, there are Patent Document 1 and Patent Document 2. Patent Document 1 discloses a capture process for capturing data transmitted / received in a production system by a capture device, a capture data transfer process for transferring captured data to a test device, and a production system using the transferred data. It is described that the system operation test and the test support device can be operated in parallel in the application program development process without any modification of the production system by performing the system operation test process. ing.
また、特許文献2には、「業務処理を実行する複数のサーバ装置の機能を検証する検証システムにおいて、負荷分散装置と入力併走装置と出力照合装置とを備える。負荷分散装置は、クライアント装置の生成した入力を前記複数のサーバ装置のいずれかへ送信する。それらの複数のサーバ装置の中から機能の検証の対象とする本番サーバ装置を選び、その機能の検証のために検証サーバ装置とを設ける。そして、入力併走装置は、本番サーバ装置と検証サーバ装置とに同じ内容の入力を送信し、各々で同等の業務処理を実行させて、各々の出力データを出力照合装置により照合する。」と記載されている。 Further, Patent Document 2 discloses that “in a verification system for verifying the functions of a plurality of server devices that execute business processing, a load distribution device, an input parallel device, and an output collation device. The load distribution device is a client device. The generated input is transmitted to one of the plurality of server devices, and a production server device to be subjected to function verification is selected from the plurality of server devices, and the verification server device is selected for the function verification. Then, the input parallel device transmits the same content input to the production server device and the verification server device, causes them to execute the same business process, and collates each output data by the output collation device. It is described.
本発明においても、背景技術と同様に、リクエストを本番系と待機系の2つの計算機システムに入力し、2つの計算機システムからの応答を照合することにより、待機系システムの動作検証を実施することを課題とする。 Also in the present invention, as in the background art, the operation verification of the standby system is performed by inputting the request to the two computer systems of the production system and the standby system and collating the responses from the two computer systems. Is an issue.
しかしながら、2つの計算機システムにおいて、複数のリクエストを並列に実行した場合には、その実行順序が、本番系と待機系で一致しない可能性がある。例えば、クライアントXから商品Aを購入するリクエストを受信し、クライアントYからも同じく商品Aを購入するリクエストを受信したとする。この2つの処理が並列に実行された場合、本番系ではクライアントX、クライアントYの順に処理が行われ、待機系では、クライアントY、クライアントXの順に処理が行われる可能性がある。 However, when two requests are executed in parallel in the two computer systems, the execution order may not match between the production system and the standby system. For example, it is assumed that a request for purchasing the product A is received from the client X, and a request for purchasing the product A is also received from the client Y. When these two processes are executed in parallel, there is a possibility that the processes are performed in the order of client X and client Y in the production system, and the processes are performed in the order of client Y and client X in the standby system.
この場合、本番系では、クライアントXの購入リクエストが成功、クライアントYの購入リクエストが売り切れになり、テスト系では、クライアントXの購入リクエストが売り切れ、クライアントYの購入リクエストが成功となるケースが生じうる。このケースでは、2つのシステムが正常に動作しているにもかかわらず、応答が不一致になる。例えば、データベースを含むシステムにおいて、データを更新する処理を実行する場合、その応答は処理の実行順序によって変わる。そのため、処理の実行順序を一致させないと、システムの動作検証が実施できない。 In this case, in the production system, the client X purchase request is successful and the client Y purchase request is sold out. In the test system, the client X purchase request is sold out and the client Y purchase request is successful. . In this case, the responses are mismatched even though the two systems are operating normally. For example, when a process for updating data is executed in a system including a database, the response varies depending on the execution order of the processes. Therefore, system operation verification cannot be performed unless the execution order of the processes is matched.
本発明の目的は、上述した課題を解決し、本番系と待機系で処理の実行順序を一致させることが可能な多重化システム、方法、及びプログラムを提供することにある。 An object of the present invention is to provide a multiplexing system, method, and program that can solve the above-described problems and can match the execution order of processing between a production system and a standby system.
上記の目的を達成するため、本発明においては、受信するリクエストを処理する多重化システムであって、第一のシステムと、第二のシステムと、第一のシステムと第二のシステムにリクエストを送信するシステム制御部とを備え、システム制御部は、第一のシステムにリクエストを送信し、第二のシステムへのリクエストの送信を保留し、第一のシステムからのリクエストに対する応答を待合わせ、第一のシステムでリクエストに対する処理が実行された順序で、第二のシステムにリクエストを実行させる構成の多重化システムを提供する。 In order to achieve the above object, according to the present invention, there is provided a multiplexing system for processing received requests, wherein requests are sent to a first system, a second system, a first system, and a second system. A system control unit for transmitting, the system control unit transmits a request to the first system, suspends transmission of the request to the second system, waits for a response to the request from the first system, Provided is a multiplexing system configured to cause a second system to execute requests in the order in which processing for requests is executed in the first system.
また、上記の目的を達成するため、本発明においては、受信するリクエストを第一のシステムと第二のシステムで処理するよう制御するシステム制御部における多重化方法あって、システム制御部は、第一のシステムにリクエストを送信し、第二のシステムへのリクエストの送信を保留し、第一のシステムからのリクエストに対する応答を待合わせることにより、第一のシステムでリクエストに対する業務処理が実行された順序で、第二のシステムにリクエストの業務処理を実行させる多重化方法を提供する。 In order to achieve the above object, according to the present invention, there is a multiplexing method in the system control unit that controls the received request to be processed by the first system and the second system. By sending a request to one system, deferring transmission of the request to the second system, and waiting for a response to the request from the first system, the business processing for the request was executed in the first system A multiplexing method is provided that, in order, causes a second system to perform a business process for a request.
更に、上記の目的を達成するため、本発明においては、処理部と記憶部とを備え、受信するリクエストを第一のシステムと第二のシステムで処理するよう制御するシステム制御部のための多重化プログラムであって、システム制御部の処理部で実行されることにより、第一のシステムにリクエストを送信し、第二のシステムへの当該リクエストの送信を保留し、第一のシステムからのリクエストに対する応答を待合わせ、第一のシステムでリクエストに対する業務処理が実行された順序で、第二のシステムにリクエストの業務処理を実行させることを特徴とする多重化プログラムを提供する。 Furthermore, in order to achieve the above object, in the present invention, a multiplexing unit for a system control unit that includes a processing unit and a storage unit and controls the received request to be processed by the first system and the second system. The program is executed by the processing unit of the system control unit, so that the request is transmitted to the first system, the transmission of the request to the second system is suspended, and the request from the first system There is provided a multiplexing program characterized by waiting for a response to the request, and causing the second system to execute the business process of the request in the order in which the business process for the request is executed in the first system.
本発明の構成により、本番系と待機系で処理の実行順序を一致させることが可能な多重化システムを提供できる。 With the configuration of the present invention, it is possible to provide a multiplexing system capable of matching the execution order of processing between the production system and the standby system.
以下、実施例を図面に従い説明する。なお、多重化システムとして、本番系の第一のシステムと、待機系の第二のシステムからなる二重化システムを例示して説明するが、本発明の多重化システムは、それぞれ一個の本番系、待機系からなる二重化システムに限定されるものではない。 Embodiments will be described below with reference to the drawings. Note that, as a multiplexing system, a duplex system composed of a first system of the production system and a second system of the standby system will be described as an example. However, the multiplexing system of the present invention has one production system and one standby system, respectively. It is not limited to a duplex system consisting of a system.
図1は第1の実施例の多重化システムの概要図である。インターネット101を介してスイッチ102に入力されたリクエストは、第一のシステムである本番系104で、対応する業務処理が実行された後、その応答がインターネット101に返される。本実施例のシステムでは、システム制御部103を設けて、リクエストを本番系104と第二のシステムである待機系105の両方に送信する。そして、待機系105からの応答は、インターネット101に送り返すことはせず、応答結果の検証などに使用する。本番系104と待機系105は、同一のシステム構成を備えており、ロードバランサーを介して複数のアプリケーションサーバ(AP)と、それぞれのアプリケーションに対応するデータベース(DB)と、データ(Data)から構成されるが、このような構成に限定されるものではない。
FIG. 1 is a schematic diagram of a multiplexing system according to the first embodiment. The request input to the
本番系104や待機系105では、例えば、アプリケーションとしてオンラインショッピングなどの処理が、各アプリケーションサーバ(AP)で実行される。インターネット101からの入力としては、ある商品を購入するするリクエストなどが想定され、本番系104や待機系105からの業務処理が実行された後の応答としては、購入完了の応答などが想定される。
In the
図2は本実施例のシステム制御部103のハードウェア構成の一例を示す図である。図2より明らかなように、システム制御部103は通常のコンピュータ構成を有する。システム制御部103は、その内部に、バス201に接続された入出力インターフェース202を備え、ここに図示を省略したキーボードやディスプレイなどの入出力デバイスを接続できる。システムの管理者は、入出力デバイスを介して、システム制御部103を操作することができる。また、システム制御部103は、内部バス201に接続された、処理部となる中央処理部(Central Processing Unit:CPU)203と、記憶部であるメモリ204を備え、メモリ204に格納されたプログラムを実行することができる。また、記憶装置インターフェース205と、記憶部であるディスク装置207を備え、ディスク装置207に格納されたプログラムをメモリ204に格納することができる。また、ネットワークインターフェース206を備え、スイッチ102や本番系104や待機系105と通信することができる。
FIG. 2 is a diagram illustrating an example of a hardware configuration of the
図3は、本実施例のシステム制御部103の機能構成の一例を示す図である。リクエスト実行判断部301はディスク装置207に格納されたプログラムであり、メモリ204に格納して、CPU203によって実行されるプログラムとして実装される。また、リクエスト管理テーブル302、および、リクエスト設定テーブル303は、メモリ204に格納されるデータテーブルであり、後にその内容を図5、図6を用いて詳述する。
FIG. 3 is a diagram illustrating an example of a functional configuration of the
図4は、本実施例のシステム制御部103がスイッチ102からリクエストを受信した場合の、リクエスト実行判断部301の動作の一例を示すフローチャートである。処理401において、リクエスト実行判断部301は、受信したリクエストを、本番系104に送信する。ここに、受信したリクエストとは、「http://www.xxx.com/command=order&item_id=0001&user_id=0001」といった形式の電文である。
FIG. 4 is a flowchart illustrating an example of the operation of the request
リクエスト実行判断部301は、判断402において、受信したリクエストが、リクエスト設定テーブル303に登録されたリクエストか否かを判断する。本実施例においては、本番系と待機系で処理の実行順序を一致させる必要のあるリクエストを、このリクエスト設定テーブル303に予め登録しておく。
In
図5は、リクエスト設定テーブル303の内容の一例を示す図である。図5に例示するように、リクエスト設定テーブル303には、パラメータ名501、パラメータ502、シリアライズパラメータ名503が登録される。図5の例では、パラメータ名501には「command」、パラメータ502には「order」、シリアライズパラメータ名503には「item_id」が登録されている。ここに、パラメータ名501とは受信したリクエストの「=」ではさまれた項目の前半部分であり、パラメータ502とは受信したリクエストの「=」ではさまれた項目の後半部分である。受信したリクエストが上述した「http://www.xxx.com/command=order&item_id=0001&user_id=0001」の場合、「command=order」のパラメータ名が「command」であり、パラメータが「order」であることから、該当リクエストが、図5に例示したリクエスト設定テーブル303に登録されたリクエストであることが判断できる。なお、リクエスト設定テーブル303には、入出力デバイスなどを介して、予めシステムの管理者などが、本番系と待機系で処理の実行順序を一致させる必要のあるものを設定しているものとする。なお、この本番系と待機系で処理の実行順序を一致させる必要のあるパラメータとしては、上述の「order」の他、「reserve」などがある。
FIG. 5 is a diagram illustrating an example of the contents of the request setting table 303. As illustrated in FIG. 5, a
図4の判断402の判断結果が「No」の場合、システム制御部103は、処理407において、受信したリクエストを待機系105に送信する。つまり、リクエスト設定テーブル303に登録されていないリクエストについては、本番系と待機系で処理の実行順序を一致させる必要がないので、順序の制御をせずに待機系で実行する。本実施例の多重化システムでは、リクエスト設定テーブル303に登録されたリクエストについては、本番系の処理の終了を待ち合わせて、待機系で処理を実行することにより、本番系と待機系で処理の実行順序を一致させる。判断402の判断結果が「Yes」の場合、システム制御部103は、処理403において、受信したリクエストをリクエスト管理テーブル302に登録する。
When the determination result of the
図6は、リクエスト管理テーブル302の内容を例示する図である。図6に示すように、リクエスト管理テーブル302には、リクエスト601、シリアライズパラメータ602、開始時刻603、リクエスト確定時刻604、待機系実行フラグ605を登録する。リクエスト601とは、スイッチ102から受信した電文そのものであり、例えば、「http://www.xxx.com/command=order&item_id=0001&user_id=0001」といった電文が登録される。シリアライズパラメータ602とは、リクエスト設定テーブル303のシリアライズパラメータ名に指定されたパラメータである。例えば、リクエストが、「http://www.xxx.com/command=order&item_id=0001&user_id=0001」であり、シリアライズパラメータ名が「item_id」の場合、シリアライズパラメータには「0001」を設定する。開始時刻603には、処理401において該当リクエストを本番系104に送信した時刻を設定する。待機系実行フラグ605は、当該リクエストが、待機系105で実行中であることを示すフラグである。
FIG. 6 is a diagram illustrating the contents of the request management table 302. As illustrated in FIG. 6, a
図7は、本実施例のシステム制御部103が、本番系104から業務処理が実行された後の応答を受信した場合の、リクエスト実行判断部301の動作を例示するフローチャートである。本番系104から応答を受信すると、リクエスト実行判断部301は、処理701において、応答をスイッチ102に送信する。また、判断707において、該応答がリクエスト設定テーブル303に設定されているリクエストに対する応答か否かを判断する。判断707の結果が「Yes」の場合、リクエスト実行判断部301は、処理702において、リクエスト管理テーブル302に対して、応答のもとになったリクエストのエントリにリクエスト確定時刻604を設定する。ここに、リクエスト確定時刻604とは、システム制御部103が応答を受信した時刻、あるいは、応答の電文に記載されているリクエスト確定時刻とする。
FIG. 7 is a flowchart illustrating the operation of the request
続いて、処理703において、リクエスト実行判断部301は、リクエスト管理テーブル302から、該リクエストと同じシリアライズパラメータ602を持つエントリをすべて抽出する。例えば、上述のシリアライズパラメータ名「item_id」に対するシリアライズパラメータ「0001」を持つエントリを抽出する。判断704において、結果が「Yes」の場合、すなわち抽出したエントリについて、待機系実行フラグ605が設定されているエントリがなく、かつ、抽出したエントリの最も古いリクエスト確定時刻604より古いリクエスト開始時刻603がない場合、処理705に進む。
Subsequently, in
判断704において、最も古いリクエスト確定時刻604より古いリクエスト開始時刻603がないことから、処理順序の逆転が発生する可能性がないと判断できる。なぜなら、最も古いリクエスト開始時刻603より後に開始されたリクエストは、最も古いリクエスト開始時刻603のリクエストが確定した時点で、未だ開始されておらず、実行順序の逆転は生じ得ないからである。そこで、処理705において、最も古いリクエスト確定時刻604のリクエストを待機系105に送信し、処理706において、該リクエストのエントリに待機系実行フラグ605を設定して終了する。なお、判断707、あるいは判断704の結果が「No」の場合も、そのまま終了する。
In the
図8は、システム制御部103が、待機系105から応答を受信した場合の、リクエスト実行判断部301の動作を例示するフローチャートである。待機系105から応答を受信すると、リクエスト実行判断部301は、判断806において、該応答がリクエスト設定テーブル303に設定されているリクエストに対する応答か否かを判断する。判断806の結果が「Yes」の場合、リクエスト実行判断部301は、処理801において、リクエスト管理テーブル302から、応答のもとになったリクエストのエントリを削除する。
FIG. 8 is a flowchart illustrating the operation of the request
また、処理802において、該当リクエストと同じシリアライズパラメータ602をもつエントリをすべて抽出する。判断803において、抽出したエントリにおいて、最も古いリクエスト確定時刻604より古いリクエスト開始時刻603がない場合、処理804に進む。判断803において、最も古いリクエスト確定時刻604より古いリクエスト開始時刻603がないことから、処理の逆転が発生する可能性がないことを判断できる。そこで、処理804において、最も古いリクエスト確定時刻604のリクエストを待機系に送信し、処理805において、該リクエストのエントリに待機系実行フラグ605を設定する。
Further, in
以上説明した実施例の多重化システムでは、本番系と待機系で実行順序を一致させる必要があるリクエストを判別し、実行順序を一致させる必要があるリクエストを実行する場合に、待機系へのリクエスト送信を保留し。そして、本番系での実行完了の応答を待って、本番系で実行した順序に従って、1つずつ待機系にリクエストを送信する。このように、本番系では処理を多重で実行し、待機系では、実行順序を一致させる必要があるリクエストについては、その処理を1多重にシリアライズして実行する。本番系では、処理を多重で実行するため、本番系の性能は低下しない。 In the multiplexing system of the embodiment described above, a request to the standby system is determined when a request that requires the execution order to be matched between the production system and the standby system is determined, and a request that requires the execution order to be matched is executed. Hold the transmission. Then, after waiting for a response of execution completion in the production system, requests are transmitted to the standby system one by one in the order of execution in the production system. As described above, in the production system, the processing is executed in a multiplex manner, and in the standby system, for a request that requires the execution order to be matched, the processing is serialized and executed in a multiplex manner. In the production system, since the processing is executed in multiple, the performance of the production system does not deteriorate.
また、上述した実施例の多重化システムでは、本番系で処理を開始した時刻を記録しておくとともに、処理が確定した時刻を応答リクエストに記載しておき、これらの時刻を使用して、実行順序の入れ替わりが発生しないことを確認して、待機系にリクエストを送信する。これにより、本番系と待機系でリクエストの実行順序を一致させることが出来る。 Further, in the multiplexing system of the above-described embodiment, the time when the process is started in the production system is recorded, and the time when the process is confirmed is described in the response request, and the execution is performed using these times. Confirm that the order does not change and send a request to the standby system. As a result, the request execution order can be matched between the production system and the standby system.
更に、上述した実施例の多重化システムでは、第一のシステムと第二のシステムにリクエストを送信するシステム制御部のリクエスト実行判断部は、第二のシステムへのリクエストの送信を保留し、第一のシステムの応答を待合せて、第一のシステムで業務処理が実行された順序で、第二のシステムにリクエストを送信し、第二のシステムでのリクエストの実行をシリアライズするため、第二のシステムからの応答を待って、一つずつ、第二のシステムにリクエストを送信することで、第一のシステムと第二のシステムで業務処理の実行順序を一致させることが出来る。 Furthermore, in the multiplexing system of the above-described embodiment, the request execution determination unit of the system control unit that transmits a request to the first system and the second system suspends transmission of the request to the second system, and Wait for the response of the first system, send requests to the second system in the order in which the business processes were executed on the first system, and serialize the execution of the requests on the second system. By waiting for a response from the system and sending a request to the second system one by one, the execution order of the business processing can be matched between the first system and the second system.
なお、本発明は上述した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されものではない。 In addition, this invention is not limited to the Example mentioned above, Various modifications are included. For example, the above-described embodiments have been described in detail in order to explain the present invention in an easy-to-understand manner, and are not necessarily limited to those having all the configurations described.
また、上述した実施例の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよいし、上述の通り、各構成、機能等を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやディスク装置のみならず、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体におくことができるし、必要に応じてネットワーク等を介してダウンロード、インストロールすることも可能である。 In addition, each configuration, function, processing unit, processing unit, and the like of the above-described embodiments may be realized in hardware by designing a part or all of them, for example, with an integrated circuit, as described above. It may be realized by software by interpreting and executing a program that realizes each configuration, function, and the like. Information such as programs, tables, and files for realizing each function should be stored not only in a memory and a disk device, but also in a recording device such as an SSD (Solid State Drive) or a recording medium such as an IC card, SD card, or DVD. It can also be downloaded and installed via a network or the like as necessary.
本発明は、リクエストを本番系と待機系の2つの計算機システムに入力し、計算機システムの検証をするための多重化技術として有用である。 The present invention is useful as a multiplexing technique for inputting a request to two computer systems of a production system and a standby system and verifying the computer system.
101 インターネット
102 スイッチ
103 システム制御部
104 本番系
105 待機系
201 内部バス
202 入出力インターフェース
203 CPU
204 メモリ
205 記憶装置インターフェース
206 ネットワークインターフェース
207 ディスク装置
301 リクエスト実行判断部
302 リクエスト管理テーブル
303 リクエスト設定テーブル101
204
Claims (12)
第一のシステムと、
第二のシステムと、
前記第一のシステムと前記第二のシステムに前記リクエストを送信するシステム制御部とを備え、
前記システム制御部は、
前記第一のシステムと前記第二のシステムで、前記リクエストに対する業務処理の実行順序を一致させる必要があるリクエストを設定するリクエスト設定テーブルと、
前記第一のシステムに前記リクエストを送信し、前記送信したリクエストが前記リクエスト設定テーブルに設定されたリクエストである場合には、前記第二のシステムへの前記リクエストの送信を保留し、前記第一のシステムからの前記リクエストに対する応答を待合わせ、前記第一のシステムで前記リクエストに対する業務処理が実行された順序で、前記第二のシステムに前記リクエストの業務処理を実行させ、
前記送信したリクエストが前記リクエスト設定テーブルに設定されていないリクエストである場合には、当該リクエストの送信を保留せずに前記第二のシステムに送信するリクエスト実行判断部を有する、
ことを特徴とする多重化システム。 A multiplexing system for processing incoming requests,
The first system,
With the second system,
A system controller that transmits the request to the first system and the second system;
The system controller is
A request setting table for setting a request that needs to match the execution order of business processing for the request in the first system and the second system;
When the request is transmitted to the first system, and the transmitted request is a request set in the request setting table, the transmission of the request to the second system is suspended, and the first Waiting for a response to the request from the system, causing the second system to perform the business process of the request in the order in which the business process for the request was performed in the first system,
Wherein when the transmitted request is a request that is not set to the request setting table has a request execution determiner that sends to said second system without holding the transmission of the request,
A multiplexing system characterized by that.
前記リクエスト実行判断部は、
前記第二のシステムでのリクエストの実行をシリアライズするため、送信したリクエストに対する前記第二のシステムからの応答を待って、前記第二のシステムに新たなリクエストを送信する、
ことを特徴とする多重化システム。 The multiplexing system according to claim 1, wherein
The request execution determination unit
In order to serialize the execution of the request in the second system, wait for a response from the second system to the transmitted request, and send a new request to the second system.
A multiplexing system characterized by that.
前記リクエストには、パラメータ名と、当該パラメータ名に対応するパラメータと、シリアライズパラメータ名と、当該シリアライズパラメータ名に対応するシリアライズパラメータが含まれており、 The request includes a parameter name, a parameter corresponding to the parameter name, a serialized parameter name, and a serialized parameter corresponding to the serialized parameter name.
前記リクエスト設定テーブルの設定項目には、前記パラメータと前記シリアライズパラメータ名を含み、 The setting items of the request setting table include the parameter and the serialized parameter name,
前記リクエスト実行判断部は、 The request execution determination unit
前記リクエスト設定テーブル中に設定された前記シリアライズパラメータ名に対応する前記シリアライズパラメータが等しいリクエストごとに、前記第一のシステムと前記第二のシステムで業務処理の実行順序を一致させる、 For each request in which the serialization parameter corresponding to the serialization parameter name set in the request setting table is equal, the execution order of the business process is matched in the first system and the second system.
ことを特徴とする多重化システム。A multiplexing system characterized by that.
前記システム制御部は、 The system controller is
前記リクエストの前記シリアライズパラメータと、リクエスト開始時刻と、リクエスト確定時刻と、待機系実行中フラグとを設定するリクエスト管理テーブルを備え、 A request management table for setting the serialization parameter of the request, a request start time, a request confirmation time, and a standby system execution flag;
前記リクエスト実行判断部は、 The request execution determination unit
前記第一のシステムから応答を受信した際、当該応答が前記リクエスト設定テーブルに設定されたリクエストに対する応答である場合には、 When a response is received from the first system, if the response is a response to a request set in the request setting table,
前記リクエスト管理テーブルの前記リクエスト確定時刻に、当該応答を受信した時刻、又は当該応答に記載された時刻を記録し、 Record the time at which the response is received or the time described in the response at the request confirmation time in the request management table,
当該応答のリクエストの前記シリアライズパラメータを特定し、 Identify the serialization parameter of the response request,
前記第二のシステムへの送信を保留している前記リクエストから、前記シリアライズパラメータが等しいリクエストを抽出し、 From the request pending transmission to the second system, extract a request with the same serialization parameter,
抽出したリクエストの中に、前記第二のシステムで実行されているリクエストがなく、かつ、最も古い前記リクエスト確定時刻より古い前記リクエスト開始時刻がない場合に、抽出した前記リクエストの中で前記リクエスト確定時刻が最も古いリクエストを前記第二のシステムに送信する、 If there is no request being executed in the second system among the extracted requests and there is no request start time older than the oldest request confirmation time, the request confirmation among the extracted requests Sending the oldest request to the second system,
ことを特徴とする多重化システム。A multiplexing system characterized by that.
前記リクエスト実行判断部は、 The request execution determination unit
前記第二のシステムから応答を受信した際、 When receiving a response from the second system,
該応答が前記リクエスト設定テーブルに設定されたリクエストに対する応答である場合には、当該リクエストの記録を前記リクエスト管理テーブルから削除し、 If the response is a response to a request set in the request setting table, delete the record of the request from the request management table,
当該応答のリクエストの前記シリアライズパラメータを特定し、前記第二のシステムへの送信を保留している前記リクエストから、前記シリアライズパラメータが等しいリクエストを抽出し、抽出した前記リクエストの中に、最も古い前記リクエスト確定時刻より古い前記リクエスト開始時刻がない場合に、抽出した前記リクエストの中で、前記リクエスト確定時刻が最も古いリクエストを前記第二のシステムに送信する、 Identify the serialization parameter of the response request, extract a request with the same serialization parameter from the request pending transmission to the second system, and extract the oldest request among the extracted requests. When there is no request start time older than the request confirmation time, the request having the oldest request confirmation time is transmitted to the second system among the extracted requests.
ことを特徴とする多重化システム。A multiplexing system characterized by that.
前記システム制御部は、 The system controller is
前記第一のシステムと前記第二のシステムで、前記リクエストに対する業務処理の実行順序を一致させる必要があるリクエストをリクエスト設定テーブルに設定させ、 In the first system and the second system, a request that needs to match the execution order of business processing for the request is set in the request setting table,
前記第一のシステムに前記リクエストを送信し、当該送信したリクエストが前記リクエスト設定テーブルに設定されたリクエストである場合には、前記第二のシステムへの前記リクエストの送信を保留し、前記第一のシステムからの前記リクエストに対する応答を待合わせ、前記第一のシステムで前記リクエストに対する業務処理が実行された順序で、前記第二のシステムに前記リクエストの業務処理を実行させ、 When the request is transmitted to the first system and the transmitted request is a request set in the request setting table, the transmission of the request to the second system is suspended, and the first Waiting for a response to the request from the system, causing the second system to perform the business process of the request in the order in which the business process for the request was performed in the first system,
当該送信したリクエストが前記リクエスト設定テーブルに設定されていないリクエストである場合には、当該リクエストの送信を保留せずに前記第二のシステムに送信する、 When the transmitted request is a request that is not set in the request setting table, it is transmitted to the second system without deferring transmission of the request.
ことを特徴とする多重化方法。A multiplexing method characterized by the above.
前記システム制御部は、 The system controller is
前記第二のシステムでのリクエストの実行をシリアライズするため、送信したリクエストに対する前記第二のシステムからの応答を待って、前記第二のシステムに新たなリクエストを送信する、 In order to serialize the execution of the request in the second system, wait for a response from the second system to the transmitted request, and send a new request to the second system.
ことを特徴とする多重化方法。A multiplexing method characterized by the above.
前記リクエストには、パラメータ名と、当該パラメータ名に対応するパラメータと、シリアライズパラメータ名と、当該シリアライズパラメータ名に対応するシリアライズパラメータが含まれており、 The request includes a parameter name, a parameter corresponding to the parameter name, a serialized parameter name, and a serialized parameter corresponding to the serialized parameter name.
前記リクエスト設定テーブルの設定項目には、前記パラメータと前記シリアライズパラメータ名を含み、 The setting items of the request setting table include the parameter and the serialized parameter name,
前記システム制御部は、 The system controller is
前記リクエスト設定テーブル中に設定された前記シリアライズパラメータ名に対応する前記シリアライズパラメータが等しいリクエストごとに、前記第一のシステムと前記第二のシステムで業務処理の実行順序を一致させる、 For each request in which the serialization parameter corresponding to the serialization parameter name set in the request setting table is equal, the execution order of the business process is matched in the first system and the second system.
ことを特徴とする多重化方法。A multiplexing method characterized by the above.
前記システム制御部は、 The system controller is
前記リクエストのシリアライズパラメータと、リクエスト開始時刻と、リクエスト確定時刻と、待機系実行中フラグとを設定するリクエスト管理テーブルを備え、 A request management table for setting a serialization parameter of the request, a request start time, a request confirmation time, and a standby system execution flag;
前記第一のシステムから応答を受信した際、当該応答が前記リクエスト設定テーブルに設定されたリクエストに対する応答である場合には、当該リクエストの確定時刻として、当該応答を受信した時刻、又は当該応答に記載された時刻を前記リクエスト管理テーブルの前記リクエスト確定時刻に記録し、 When the response is received from the first system, if the response is a response to the request set in the request setting table, the confirmation time of the request is the time when the response is received or the response Record the described time in the request confirmation time of the request management table,
当該応答のリクエストの前記シリアライズパラメータを特定し、 Identify the serialization parameter of the response request,
前記第二のシステムへの送信を保留しているリクエストから、前記シリアライズパラメータが等しいリクエストを抽出し、 Extract requests with the same serialization parameter from requests pending transmission to the second system;
抽出したリクエストのなかに、前記第二のシステムで実行されているリクエストがなく、かつ、最も古い前記リクエスト確定時刻より古い前記リクエスト開始時刻がない場合に、 If there is no request being executed in the second system among the extracted requests and the request start time older than the oldest request confirmation time is not,
抽出した前記リクエストのなかで前記リクエスト確定時刻が最も古いリクエストを前記第二のシステムに送信する、 Sending the request with the oldest request confirmation time to the second system among the extracted requests;
ことを特徴とする多重化方法。A multiplexing method characterized by the above.
前記システム制御部は、 The system controller is
前記第二のシステムから応答を受信した際、 When receiving a response from the second system,
該応答が前記リクエスト設定テーブルに設定されたリクエストに対する応答である場合には、当該リクエストの記録を前記リクエスト管理テーブルから削除し、 If the response is a response to a request set in the request setting table, delete the record of the request from the request management table,
当該応答のリクエストの前記シリアライズパラメータを特定し、前記第二のシステムへの送信を保留しているリクエストから、前記シリアライズパラメータが等しいリクエストを抽出し、抽出した前記リクエストの中に、最も古い前記リクエスト確定時刻より古い前記リクエスト開始時刻がない場合に、抽出した前記リクエストの中で、前記リクエスト確定時刻が最も古いリクエストを前記第二のシステムに送信する、 The serialization parameter of the response request is specified, a request having the same serialization parameter is extracted from a request pending transmission to the second system, and the oldest request among the extracted requests When there is no request start time older than the confirmation time, the request with the oldest request confirmation time is transmitted to the second system among the extracted requests.
ことを特徴とする多重化方法。A multiplexing method characterized by the above.
前記システム制御部の前記処理部で実行されることにより、 By being executed by the processing unit of the system control unit,
前記第一のシステムに前記リクエストを送信し、当該送信したリクエストが前記リクエスト設定テーブルに設定されたリクエストである場合には、前記第二のシステムへの前記リクエストの送信を保留し、前記第一のシステムからの前記リクエストに対する応答を待合わせ、前記第一のシステムで前記リクエストに対する業務処理が実行された順序で、前記第二のシステムに前記リクエストの業務処理を実行させ、 When the request is transmitted to the first system and the transmitted request is a request set in the request setting table, the transmission of the request to the second system is suspended, and the first Waiting for a response to the request from the system, causing the second system to perform the business process of the request in the order in which the business process for the request was performed in the first system,
当該送信したリクエストが前記リクエスト設定テーブルに設定されていないリクエストである場合には、当該リクエストの送信を保留せずに前記第二のシステムに送信する、 When the transmitted request is a request that is not set in the request setting table, it is transmitted to the second system without deferring transmission of the request.
ことを特徴とする多重化プログラム。A multiplexing program characterized by that.
前記システム制御部の前記処理部で実行されることにより、 By being executed by the processing unit of the system control unit,
前記第二のシステムでのリクエストの実行をシリアライズするため、送信したリクエストに対する前記第二のシステムからの応答を待って、前記第二のシステムに新たなリクエストを送信する、 In order to serialize the execution of the request in the second system, wait for a response from the second system to the transmitted request, and send a new request to the second system.
ことを特徴とする多重化プログラム。A multiplexing program characterized by that.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/062076 WO2012160690A1 (en) | 2011-05-26 | 2011-05-26 | Multiplexing system, method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2012160690A1 JPWO2012160690A1 (en) | 2014-07-31 |
JP5703375B2 true JP5703375B2 (en) | 2015-04-15 |
Family
ID=47216792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013516143A Expired - Fee Related JP5703375B2 (en) | 2011-05-26 | 2011-05-26 | Multiplexing system, method, and program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5703375B2 (en) |
WO (1) | WO2012160690A1 (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06243070A (en) * | 1993-02-17 | 1994-09-02 | Matsushita Electric Ind Co Ltd | Inter-processor communication system |
JPH07306794A (en) * | 1994-05-12 | 1995-11-21 | Mitsubishi Electric Corp | Distributed system and enhancing method for reliability |
JPH0837138A (en) * | 1994-05-02 | 1996-02-06 | Nec Corp | Controller for semiconductor manufacturing line |
JPH09282296A (en) * | 1996-04-10 | 1997-10-31 | Hitachi Ltd | System for controlling communication between multiplexed nodes |
JPH09319634A (en) * | 1996-06-03 | 1997-12-12 | Nec Corp | Transaction executing state management system, management method and medium for storing management program |
JP2003067214A (en) * | 2001-08-27 | 2003-03-07 | Nippon Telegr & Teleph Corp <Ntt> | Server system, mediating device and error concealing method for client server type system |
JP2004030204A (en) * | 2002-06-25 | 2004-01-29 | Jmnet Inc | Load distribution device and node computer connected to the same |
JP2007156916A (en) * | 2005-12-06 | 2007-06-21 | Data Access Kk | Data control device, system, method, and program |
-
2011
- 2011-05-26 WO PCT/JP2011/062076 patent/WO2012160690A1/en active Application Filing
- 2011-05-26 JP JP2013516143A patent/JP5703375B2/en not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06243070A (en) * | 1993-02-17 | 1994-09-02 | Matsushita Electric Ind Co Ltd | Inter-processor communication system |
JPH0837138A (en) * | 1994-05-02 | 1996-02-06 | Nec Corp | Controller for semiconductor manufacturing line |
JPH07306794A (en) * | 1994-05-12 | 1995-11-21 | Mitsubishi Electric Corp | Distributed system and enhancing method for reliability |
JPH09282296A (en) * | 1996-04-10 | 1997-10-31 | Hitachi Ltd | System for controlling communication between multiplexed nodes |
JPH09319634A (en) * | 1996-06-03 | 1997-12-12 | Nec Corp | Transaction executing state management system, management method and medium for storing management program |
JP2003067214A (en) * | 2001-08-27 | 2003-03-07 | Nippon Telegr & Teleph Corp <Ntt> | Server system, mediating device and error concealing method for client server type system |
JP2004030204A (en) * | 2002-06-25 | 2004-01-29 | Jmnet Inc | Load distribution device and node computer connected to the same |
JP2007156916A (en) * | 2005-12-06 | 2007-06-21 | Data Access Kk | Data control device, system, method, and program |
Also Published As
Publication number | Publication date |
---|---|
WO2012160690A1 (en) | 2012-11-29 |
JPWO2012160690A1 (en) | 2014-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12061891B1 (en) | Cancel and rollback update stack requests | |
US9524133B2 (en) | Printing server group including a print service of transferring a print job to a printer via a network | |
US10049161B2 (en) | Information processing apparatus, method of controlling the same, and storage medium | |
KR20130135134A (en) | Installing application remotely | |
JP6357780B2 (en) | Network system and information notification method | |
JP2017129935A (en) | Server system, and method and program for controlling server system | |
JP2020135441A (en) | Resource service system, control method, and program | |
US20100182630A1 (en) | Secure Printing | |
JP6102296B2 (en) | Information processing system, information processing apparatus, authentication method, and program | |
JP4488427B2 (en) | Printing system, printing management server, printing control method, program, and computer-readable storage medium | |
CN101577730A (en) | Method for uploading and downloading files synchronously based on FTP protocol | |
US11409831B1 (en) | System for determining cached log data associated with cached response data | |
JP5703375B2 (en) | Multiplexing system, method, and program | |
EP2981882A1 (en) | Removable storage device identity and configuration information | |
CN103838586A (en) | System and method for opening file | |
JP2013211054A (en) | Pos system | |
JP5299503B2 (en) | Network system and program | |
JP2018097822A (en) | Program, system, and method for controlling system | |
JP2016024721A (en) | Server system, method and program thereof | |
JP6588306B2 (en) | Information processing apparatus, information processing method, and program | |
JP5668816B2 (en) | Printing apparatus control method and printing apparatus | |
JP5660174B2 (en) | Display control method and device adapter | |
JP6032092B2 (en) | Network system | |
JP5360269B2 (en) | Network system, network system control method and program | |
JP4724491B2 (en) | Resource distribution management program, resource distribution management method, and resource distribution management apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20140908 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141202 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150126 |
|
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: 20150217 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150223 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5703375 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |