JP2014106580A - Information processing device - Google Patents
Information processing device Download PDFInfo
- Publication number
- JP2014106580A JP2014106580A JP2012257172A JP2012257172A JP2014106580A JP 2014106580 A JP2014106580 A JP 2014106580A JP 2012257172 A JP2012257172 A JP 2012257172A JP 2012257172 A JP2012257172 A JP 2012257172A JP 2014106580 A JP2014106580 A JP 2014106580A
- Authority
- JP
- Japan
- Prior art keywords
- update
- update information
- database
- information
- unit
- 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
Links
Images
Abstract
Description
本発明は、情報処理装置にかかり、特に、データを更新したときの更新情報を他の記憶装置へ転送する情報処理装置に関する。 The present invention relates to an information processing apparatus, and more particularly to an information processing apparatus that transfers update information when data is updated to another storage device.
データベースに冗長性を持たせるために、データを格納するマスタデータベースと、マスタデータベースの複製データを格納するレプリカデータベースと、を備えるレプリケーションシステムが知られている(例えば特許文献1参照)。レプリケーションシステムでは、マスタデータベースが更新された場合に、更新に伴う更新情報を抽出し、抽出した更新情報をレプリカデータベースへ転送することで、データベースのレプリケーションを実現する。 In order to provide redundancy to a database, a replication system including a master database that stores data and a replica database that stores replica data of the master database is known (see, for example, Patent Document 1). In a replication system, when a master database is updated, update information associated with the update is extracted, and the extracted update information is transferred to a replica database, thereby realizing database replication.
ここで、関連する複数の処理を一連の処理として管理するトランザクション処理によりマスタデータベースを更新することがある。上述したレプリケーションシステムでは、トランザクション処理毎に更新情報を逐一レプリカデータベースへ転送することで、マスタデータベースとレプリカデータベースとの間の整合性を保証することができる。しかしながら、トランザクション処理毎に更新情報を転送する場合には、マスタデータベースへの更新回数が多くなるほど更新情報の転送回数が増加し、マスタデータベース側の処理と、レプリカデータベース側の処理と、ネットワークと、のそれぞれの負荷が増加してしまうという問題があった。 Here, the master database may be updated by a transaction process that manages a plurality of related processes as a series of processes. In the replication system described above, consistency between the master database and the replica database can be ensured by transferring update information to the replica database one by one for each transaction process. However, in the case of transferring update information for each transaction process, the update information transfer count increases as the number of updates to the master database increases, the master database side process, the replica database side process, the network, There was a problem that the load of each increased.
また、上述したレプリケーションシステムにおいて、負荷を抑制するために、マスタデータベースの更新により抽出した更新情報の数が一定件数になった時に更新情報を転送する処理が知られている。しかしながら、更新情報の数が一定件数になった時に更新情報を転送する場合には、同一のトランザクション処理に基づく更新情報の全てが一度のタイミングで転送されないことがあった。この結果、マスタデータベースとレプリカデータベースとの間において、一時的に整合性が取れず、マスタデータベースに対して行われた更新のトランザクション処理の一貫性をレプリカデータベースにおいて保障することができないという問題があった。 In the replication system described above, a process for transferring update information when the number of update information extracted by updating the master database reaches a fixed number is known in order to suppress the load. However, when the update information is transferred when the number of update information reaches a certain number, all of the update information based on the same transaction processing may not be transferred at a single timing. As a result, there is a problem in that consistency between the master database and the replica database cannot be temporarily achieved, and the consistency of transaction processing of updates performed on the master database cannot be guaranteed in the replica database. It was.
このため、本発明の目的は、負荷を抑制することと、トランザクション処理の一貫性を保証することと、を両立することができないという問題を解決することができる情報処理装置を提供させることにある。 Therefore, an object of the present invention is to provide an information processing apparatus that can solve the problem that it is impossible to achieve both the suppression of load and the guarantee of transaction processing consistency. .
上記目的を達成すべく、本発明の一形態である情報処理装置は、
マスタデータベースに対して所定の更新処理を行い、前記マスタデータベースに記憶されたデータベースを更新する更新手段と、
前記更新手段にて更新した前記データベースに基づいて更新情報を抽出する更新情報抽出手段と、
前記更新情報抽出手段にて抽出した複数の前記更新情報である更新情報群を、前記マスタデータベースに記憶された前記データベースの複製データを記憶するレプリカデータベースへ、一度のタイミングで転送する更新情報転送手段と、
を備え、
前記更新情報転送手段は、関連する複数の更新処理を一連の処理として管理する、同一のトランザクション処理によって更新された前記データベースに基づいて抽出した前記更新情報を、前記更新情報群に含む、
という構成を取る。
In order to achieve the above object, an information processing apparatus according to an aspect of the present invention provides:
Updating means for performing a predetermined update process on the master database and updating the database stored in the master database;
Update information extraction means for extracting update information based on the database updated by the update means;
Update information transfer means for transferring update information groups, which are a plurality of update information extracted by the update information extraction means, to a replica database that stores duplicate data of the database stored in the master database at a single timing When,
With
The update information transfer means manages a plurality of related update processes as a series of processes, and includes the update information extracted based on the database updated by the same transaction process in the update information group.
Take the configuration.
また、本発明の他の形態であるプログラムは、
情報処理装置に、
マスタデータベースに対して所定の更新処理を行い、前記マスタデータベースに記憶されたデータベースを更新する更新手段と、
前記更新手段にて更新した前記データベースに基づいて更新情報を抽出する更新情報抽出手段と、
前記更新情報抽出手段にて抽出した複数の前記更新情報である更新情報群を、前記マスタデータベースに記憶された前記データベースの複製データを記憶するレプリカデータベースへ、一度のタイミングで転送する更新情報転送手段と、
を実現させるとともに、
前記更新情報転送手段は、関連する複数の更新処理を一連の処理として管理する、同一のトランザクション処理によって更新された前記データベースに基づいて抽出した前記更新情報を、前記更新情報群に含む、
ことを実現させるためのプログラムである。
Moreover, the program which is the other form of this invention is:
In the information processing device,
Updating means for performing a predetermined update process on the master database and updating the database stored in the master database;
Update information extraction means for extracting update information based on the database updated by the update means;
Update information transfer means for transferring update information groups, which are a plurality of update information extracted by the update information extraction means, to a replica database that stores duplicate data of the database stored in the master database at a single timing When,
And realize
The update information transfer means manages a plurality of related update processes as a series of processes, and includes the update information extracted based on the database updated by the same transaction process in the update information group.
It is a program for realizing this.
また、本発明の他の形態である情報処理方法は、
マスタデータベースに対して所定の更新処理を行い、前記マスタデータベースに記憶されたデータベースを更新し、
更新した前記データベースに基づいて更新情報を抽出し、
関連する複数の更新処理を一連の処理として管理する、同一のトランザクション処理によって更新された前記データベースに基づいて抽出した前記更新情報を含む前記更新情報群を、前記マスタデータベースに記憶された前記データベースの複製データを記憶するレプリカデータベースへ、一度のタイミングで転送する、
という構成を取る。
In addition, an information processing method according to another aspect of the present invention includes:
Perform a predetermined update process on the master database, update the database stored in the master database,
Extract update information based on the updated database,
The update information group including the update information extracted based on the database updated by the same transaction process, which manages a plurality of related update processes as a series of processes, of the database stored in the master database Transfer to the replica database that stores the replicated data once
Take the configuration.
本発明は、以上のように構成されることにより、負荷を低減しつつ、マスタデータベースに対して行われた更新のトランザクション処理の一貫性をレプリカデータベースにおいて保証することができるという優れた効果を有する。 By configuring as described above, the present invention has an excellent effect that consistency of transaction processing of updates performed on the master database can be guaranteed in the replica database while reducing the load. .
<第1実施形態>
本発明の第1実施形態を、図1乃至図11を参照して説明する。図1乃至図5は、情報処理システムの構成を説明するための図である。図6乃至図11は、情報処理システムの動作を説明するための図である。
<First Embodiment>
A first embodiment of the present invention will be described with reference to FIGS. 1 to 5 are diagrams for explaining the configuration of the information processing system. 6 to 11 are diagrams for explaining the operation of the information processing system.
[構成]
最初に、情報処理システム1の構成について説明する。図1に示すように、本実施形態における情報処理システム1は、マスターサーバ11と、スレーブサーバ12と、通信網13と、を備えている。そして、マスターサーバ11(情報処理装置)は、マスターデータを記憶(格納)するマスタDB(データベース)21を備えている。また、スレーブサーバ12は、マスタDB21に記憶されたマスターデータの複製データを記憶するレプリカDB22を備えている。さらに、マスターサーバ11とスレーブサーバ12とは、有線または無線による通信網13を介して接続される。
[Constitution]
First, the configuration of the
情報処理システム1は、マスタDB21に記憶されたマスターデータの内容と、レプリカDB22に記憶された複製データの内容と、を常に同期するように制御する。これにより、マスターサーバ11に障害等が発生した場合に、スレーブサーバ12がマスターサーバ11の代わりに機能するので、情報処理システム1全体の機能を維持することができる。なお、図1の情報処理システム1には、1台のスレーブサーバ12が記載されているが、情報処理システム1は、2台以上の複数のスレーブサーバ12を備えてもよい。
The
次に、マスターサーバ11とスレーブサーバ12との構成について説明する。まず、図2を参照して、マスターサーバ11の構成について説明する。図2は、マスターサーバ11の構成例を示すブロック図である。図2に示すように、マスターサーバ11は、演算部41と、記憶部42と、入出力部43と、通信部44と、を備えている。
Next, the configuration of the
演算部41は、例えば、CPU(Central Processing Unit)により構成される。演算部41は、記憶部42に格納されたプログラムを読み込み、プログラムを実行することにより、マスターサーバ11を制御するための各種機能を実行する。演算部41の機能的構成については、図4を参照して後述する。
The
記憶部42は、マスターデータを記憶するマスタDB21を有している。マスターデータは、例えば、銀行口座を管理するデータベースや、商品の受注や配送を管理するデータベース等である。特に、本実施形態では、マスターデータは、関連する複数の更新処理を一連の処理として管理するトランザクション処理により更新される。
The
入出力部43は、マスタDB21を更新するためのデータベース反映情報の入力を受け付ける。入出力部43がデータベース反映情報の入力を受け付けた場合、後述する更新部71は、入出力部43にて入力を受け付けたデータベース反映情報に基づいてマスタDB21を更新する。続いて、後述する更新ログ抽出部72は、マスタDB21の更新に基づく更新情報(更新ログ)を抽出する。そして、通信部44は、通信網13を介して、生成された更新情報をスレーブサーバ12へ転送する。
The input /
次に、図3を参照して、スレーブサーバ12の構成について説明する。図3は、スレーブサーバ12の構成例を示すブロック図である。図3に示すように、スレーブサーバ12は、演算部51と、記憶部52と、通信部53と、を備えている。なお、スレーブサーバ12の演算部51と、記憶部52と、通信部53と、の構成は、マスターサーバ11の演算部41と、記憶部42と、通信部44と、同様の構成を有しているので、マスターサーバ11と相違する点について説明する。
Next, the configuration of the
記憶部52は、マスタDB21に記憶されたマスターデータの複製データを記憶するレプリカDB22を有している。通信部53は、マスターサーバ11から転送された更新情報を受信する。通信部53が更新情報を受信すると、後述する更新ログ反映部91が、受信した更新情報をレプリカDB22へ反映し、レプリカDB22を更新する。このように、マスタDB21に記憶された内容を、レプリカDB22に記憶された内容に反映させるので、情報処理システム1においてレプリケーション機能を実現し、情報処理システム1全体の機能を維持することができる。
The
次に、図4を参照して、マスターサーバ11とスレーブサーバ12の各構成の詳細について説明する。図4は、マスターサーバ11とスレーブサーバ12の機能的構成例を示すブロック図である。
Next, with reference to FIG. 4, the detail of each structure of the
マスターサーバ11の演算部41は、プログラムを実行することにより、更新部71(更新手段)と、更新ログ抽出部72(更新情報抽出手段)と、更新ログ制御部73(更新情報制御手段)と、更新ログ転送部74(更新情報転送手段)と、テーブル取得部75(データベース転送制御手段)と、を有する。また、マスターサーバ11の記憶部42は、マスタDB21と、更新ログ中間テーブルA81を有する。更新ログ中間テーブルA81については、図5を参照して後述する。
The
また、スレーブサーバ12の演算部51は、プログラムを実行することにより、更新ログ反映部91と、一括反映制御部92と、一括反映実行部93と、を有する。さらに、スレーブサーバ12の記憶部52は、レプリカDB22と、更新ログ中間テーブルB101を有する。なお、スレーブサーバ12の更新ログ中間テーブルB101は、マスターサーバ11の更新ログ中間テーブルA81と同様の構成である。以下にマスターサーバ11とスレーブサーバ12との具体的な処理について説明する。
Further, the
最初に、マスターサーバ11が、マスタDB21のマスターデータを更新する処理について説明する。更新部71は、マスタDB21に対して所定の更新処理を行い、マスタDB21に記憶されたデータベースを更新する。具体的には、まず、更新部71は、トランザクション処理を開始する。すなわち、更新部71は、トランザクションの開始を宣言し、更新処理を開始する。続いて、更新部71は、入出力部43を介して、マスタDB21を更新するためのデータベース反映情報を取得する。データベース反映情報は、例えば、ユーザが銀行口座にお金を振り込む操作を実行することにより生成される。
First, a process in which the
そして、更新部71は、取得したデータベース反映情報に基づいて、マスタDB21に記憶されたマスターデータの更新を開始する。またこの時、更新部71は、更新ログ抽出部72へトリガを発行する。このトリガは、更新ログ抽出部72に抽出処理を開始させるための情報であり、更新処理毎に発行される。具体的には、更新部71は、データベース反映情報に基づいて、マスターデータに含まれる所定のデータを更新する度にトリガを発行する。例えば、aさんの銀行口座からbさんの銀行口座へ、所定の金額(例えば10万円)を移動する場合、aさんの銀行口座の金額から10万円を引く処理(更新処理)を開始した時に、更新部71はトリガを発行する。そして、bさんの銀行口座の金額に10万円を加える処理を開始した時に、更新部71は再びトリガを発行する。
And the
続いて、更新ログ抽出部72は、更新部71が発行したトリガを受信することにより、更新部71が更新したデータベースに基づく更新情報の抽出処理を開始する。そして、更新ログ抽出部72は、トリガを受信する度に、マスタDB21に記憶された更新前のマスターデータと、更新情報に基づいて更新された更新後のマスターデータと、に基づいて、更新情報(更新ログ)を抽出し、抽出した更新情報を更新ログ中間テーブルA81に記憶する。ここで、図5を参照して、更新ログ中間テーブルA81の詳細について説明する。
Subsequently, the update
図5は、更新ログ中間テーブルA81の詳細を説明するための図である。図5に示すように、更新ログ中間テーブルA81は、データベース反映情報をマスタDB21に反映させる更新処理が行われるごとに、トリガID(Identification)と、時刻と、トランザクションIDと、反映IDと、更新情報と、を有する1つのレコードを登録する。トリガIDは、更新部71により発行された個々のトリガに設定され、更新情報を識別するための情報である。例えば、更新ログ抽出部72は、トリガを受け付ける度に1だけインクリメントしたトリガIDを生成する。時刻は、トリガが発行された時刻(すなわち更新が開始された時刻)を表す情報であり、更新ログ抽出部72により取得される。トランザクションIDは、トランザクション処理を識別するための情報である。更新ログ抽出部72は、同一のトランザクション処理にて生成した更新情報に同一のトランザクションIDを設定する。例えば、更新ログ抽出部72は、トランザクションが切り替わる度に1だけインクリメントしたトランザクションIDを生成する。反映IDは、スレーブサーバ12へ一度のタイミングで転送し、レプリカDB22へ一度のタイミングで反映させる更新情報群を識別するための情報である。反映IDは、後述する更新ログ制御部73が設定する情報であり、更新ログ抽出部72が更新情報を記憶する際には空欄(またはNULL)になる。更新情報は、更新前のデータと更新後のデータとを含む情報である。
FIG. 5 is a diagram for explaining the details of the update log intermediate table A81. As illustrated in FIG. 5, the update log intermediate table A81 includes a trigger ID (Identification), a time, a transaction ID, a reflection ID, and an update each time an update process for reflecting the database reflection information in the
例えば、aさんの銀行口座からbさんの銀行口座へ10万円を移動する処理の場合、aさんの銀行口座の金額から10万円を引く処理と、bさんの銀行口座の金額に10万円を加える処理と、のそれぞれに基づいて抽出された各更新情報には、同じトランザクションIDが設定される。そして、更新ログ抽出部72は、更新ログ中間テーブルA81に2つのレコードを登録する。
For example, in the process of moving 100,000 yen from Mr. a's bank account to Mr. b's bank account, the process of subtracting 100,000 yen from the amount of Mr. a's bank account, and the amount of Mr. b's bank account to 100,000 The same transaction ID is set for each update information extracted based on each of the process of adding a circle. Then, the update
また、図5に示すように、更新情報は、対象テーブルと、格納行数と、X(Xは自然数)行目の更新情報からY(Yは自然数(X<Y))行目の更新情報と、を有している。対象テーブルは、マスタDB21に格納されたテーブル(データベース)のうち、更新部71が更新したテーブルを特定するための情報である。格納行数は、対象テーブルに格納されたレコード(行)の数を表す情報である。
Also, as shown in FIG. 5, the update information includes the target table, the number of stored rows, and the update information on the Y (Y is a natural number (X <Y)) row from the update information on the X (X is a natural number) row. And have. The target table is information for specifying a table updated by the
そして、X行目の更新情報は、対象行主キーと、格納列数と、M(Mは自然数)列目の更新前データからN(Nは自然数(M<N))列目の更新前データと、M列目の更新後データからN列目の更新後データと、を有している。対象行主キーは、対象テーブルの更新された1つの行を特定するための情報である。格納列数は、対象テーブルに格納された列の数を表す情報である。そして、M列目の更新前データは、更新前データが格納された位置を表すM列列位置と、更新前データのサイズを表すM列列長と、更新前のデータを表す更新前データと、を有している。同様に、M列目の更新後データは、更新後データが格納された位置を表すM列列位置と、更新後データのサイズを表すM列列長と、更新後のデータを表す更新後データと、を有している。 The update information of the X-th row includes the target row primary key, the number of storage columns, and the pre-update data of the N (N is a natural number (M <N)) column from the pre-update data of the M (M is a natural number) column. Data and updated data in the Nth column from updated data in the Mth column. The target row primary key is information for specifying one updated row of the target table. The number of stored columns is information indicating the number of columns stored in the target table. The M-column pre-update data includes an M-column position indicating the position where the pre-update data is stored, an M-column length indicating the size of the pre-update data, and pre-update data indicating the data before the update. ,have. Similarly, the updated data in the Mth column includes the M column position indicating the position where the updated data is stored, the M column length indicating the size of the updated data, and the updated data indicating the updated data. And have.
ここで図4の説明に戻る。図4の更新部71による更新が完了し、更新ログ抽出部72がデータベース反映情報に基づく更新情報を全て更新ログ中間テーブルA81に記憶した場合、更新部71は、トランザクション処理の成功を出力する。すなわち、更新部71による更新処理が確定される。これにより、マスタDB21の更新に基づく更新情報を抽出し、更新ログ中間テーブルA81に記憶することができる。
Returning to the description of FIG. When the update by the
次に、マスターサーバ11が、更新ログ中間テーブルA81に記憶された更新情報に反映IDを設定する処理について説明する。まず、更新ログ制御部73は、更新ログ中間テーブルA81を参照して、反映IDが未設定(例えば空欄またはNULL)の更新情報を読み出す。続いて、更新ログ制御部73は、予め設定された転送条件に基づいて、レプリカDB22へ一度のタイミングで転送し、レプリカDB22へ反映させる複数の更新情報(更新情報群)を決定する。例えば、更新ログ制御部73は、転送条件として予め件数設定がされている場合、設定された件数まで反映IDを設定し、同じ反映IDを設定した複数の更新情報を更新情報群として決定する。
Next, a process in which the
具体的には、更新ログ制御部73は、設定された件数が100件ならば、100件以内かつトランザクションIDが切り替わる前の更新情報までに(すなわち同じトランザクションIDが設定された全ての更新情報に)同じ反映IDを設定する。更新ログ制御部73は、例えば、1から順番に反映IDを発行する。例えば、90〜98件目(トリガID「90」〜「98」)の更新情報のトランザクションIDが「10」であり、99〜104件目の更新情報のトランザクションIDが「11」である場合、更新ログ制御部73は、1〜98件目の更新情報に同じ反映ID(例えば「1」)を設定し、反映ID「1」を設定した1〜98件目の更新情報を1つの更新情報群として決定する。また、99件目以降(199件目未満)の更新情報に、次の反映ID(例えば「2」)を設定し、反映ID「2」を設定した複数の更新情報を次の更新情報群として決定する。このように、更新ログ制御部73は、更新情報の件数単位に基づいて、更新ログ中間テーブルA81の各更新情報に反映IDを割り当てる。
Specifically, if the set number of cases is 100, the update
つまり、aさんの銀行口座からbさんの銀行口座へ10万円を移動する処理の場合、aさんの銀行口座の金額から10万円を引く処理と、bさんの銀行口座の金額に10万円を加える処理と、のそれぞれに基づいて抽出された各更新情報には、同じトランザクションIDが設定されるとともに、同じ反映IDが設定される。 That is, in the process of moving 100,000 yen from Mr. a's bank account to Mr. b's bank account, the process of subtracting 100,000 yen from the amount of Mr. a's bank account and the amount of Mr. b's bank account to 100,000 The same transaction ID and the same reflection ID are set for each update information extracted based on the process of adding a circle.
また、更新ログ制御部73は、予め件数設定がされていない場合、転送条件として予め設定された時間まで同じ反映IDを設定する(ステップS44)。例えば、更新ログ制御部73は、予め設定された時間が「1秒」である場合に、更新ログ中間テーブルA81の時刻を参照して、1秒以内かつトランザクションIDが切り替わる前の更新情報までに同じ反映IDを設定する。このように、更新ログ制御部73は、時間インターバル単位に基づいて、更新ログ中間テーブルA81の各更新情報に反映IDを割り当てることもできる。
In addition, when the number of cases is not set in advance, the update
次に、マスターサーバ11が、更新ログ中間テーブルA81に記憶された更新情報をスレーブサーバ12へ転送する処理について説明する。更新ログ転送部74は、更新ログ抽出部72が抽出し、更新ログ制御部73が決定した更新情報群を、レプリカDB22へ、一度のタイミングで転送する処理を行う。
Next, a process in which the
まず、更新ログ転送部74は、更新ログ中間テーブルA81を参照する。件数設定がされている場合には、更新ログ転送部74は、設定された件数未満(または以上)かつ反映IDが切り替わる前までの更新情報を取得する。設定された件数が100件ならば、更新ログ転送部74は、例えば1〜98件目の更新情報を取得する。なお、更新ログ制御部73が読み出す予め設定された件数(例えば上述した100件)と、更新ログ転送部74が読み出す予め設定された件数とは異なる値(例えば1000件)でもよい。なお、更新ログ転送部74は、件数設定がされていない場合には、更新ログ中間テーブルA81に格納された全ての更新情報を取得する。
First, the update
そして、更新ログ転送部74は、通信部44と通信網13とを介して、スレーブサーバ12へ、取得した更新情報を転送する。スレーブサーバ12は、通信部53を介して、更新情報を受信すると、記憶部52の更新ログ中間テーブルB101に更新情報を記憶する。なお、更新ログ中間テーブルB101は、更新ログ中間テーブルA81と同じ構成である。続いて、マスターサーバ11の更新ログ転送部74は、更新ログ反映部91へ反映処理を指示する。さらに、更新ログ転送部74は、転送した更新情報(を含むレコード)を更新ログ中間テーブルA81から削除する。
Then, the update
このように、同じ反映IDが設定された更新情報(すなわち同じトランザクションIDが設定された更新情報)を一度のタイミングで転送するので、マスタDB21に対して行った更新のトランザクション処理の一貫性を保証したまま、更新情報をスレーブサーバ12へ転送することができる。
In this way, update information set with the same reflection ID (that is, update information set with the same transaction ID) is transferred at a single timing, so that consistency of update transaction processing performed on the
次に、スレーブサーバ12が、更新ログ中間テーブルB101に記憶された更新情報をレプリカDB22へ反映する処理について説明する。
Next, a process in which the
マスターサーバ11の更新ログ転送部74により反映処理が指示されると、更新ログ反映部91は、まず反映処理がロックされているか否かを判定する。反映処理は、後述する一括反映処理を行う場合にロックされる。反映処理がロックされている場合には、更新ログ転送部74は、反映処理のロックが解除されるまで待機する。反映処理がロックされていないと判定した場合、更新ログ反映部91は、更新ログ中間テーブルB101を参照し、更新情報が記憶されている場合には、トランザクション処理を開始する。そして、更新ログ反映部91は、更新ログ中間テーブルB101に記憶された更新情報をレプリカDB22へ反映する。具体的には、更新ログ反映部91は、同じトランザクションIDが設定された更新情報を一度に取得し、レプリカDB22に記憶された複製データを更新する。例えば、aさんの銀行口座からbさんの銀行口座へ10万円を移動する処理の場合、aさんの銀行口座の金額から10万円を引く処理と、bさんの銀行口座の金額に10万円を加える処理と、のそれぞれに基づいて抽出された各更新情報は一度のタイミングで取得され、レプリカDB22が更新される。
When the reflection process is instructed by the update
更新ログ反映部91は、レプリカDB22に対する更新情報の反映に成功した場合に、トランザクション処理の成功を出力する。これにより、レプリカDB22に対する更新のトランザクション処理の一貫性を保証することができる。
The update
一方、更新ログ反映部91は、レプリカDB22に対する更新情報の反映に失敗した場合に、ロールバックを行う。例えば、スレーブサーバ12の負荷が増加することにより、更新情報の反映に失敗することがある。このように更新情報の反映に失敗した場合には、更新ログ反映部91は、再度レプリカDB22に対して更新情報を反映する処理を行う。ロールバックを繰り返しても(例えば予め設定された回数以上ロールバックを行っても)レプリカDB22に対する更新情報の反映に成功しなかった場合、更新ログ反映部91は、トランザクション処理の失敗を出力する。そして、更新ログ反映部91は、一括反映実行部93へ一括反映処理を指示する。
On the other hand, the update
ここで、スレーブサーバ12が、レプリカDB22に対して更新情報を一括反映させる場合の処理について説明する。まず、一括反映制御部92は、予め設定されたタイミングで(例えば定期的に)、スレーブサーバ12のCPU等の負荷を取得し、取得した負荷の値が予め設定された閾値未満である場合に、一括反映処理を開始する。なお、一括反映制御部92は、更新ログ中間テーブルB101に記憶された更新情報(レコード)の数が予め設定された閾値未満である場合に、一括反映処理を開始することもできる。
Here, processing when the
一括反映処理を開始する場合、一括反映制御部92は、上述した反映処理をロックする。なお、一括反映制御部92は、反映処理が実行中の場合には、反映処理が終了するまで待機し、反映処理が終了した時にロックする。反映処理をロックした後、一括反映制御部92は、更新ログ反映部91により反映に失敗した更新情報に基づいて、一括反映するテーブル情報を取得する。例えば、一括反映制御部92は、更新情報の更新元となるデータベース自体の情報を取得する。このテーブル情報は、更新ログ中間テーブルB101に記憶された更新情報に含まる「対象テーブル」により特定することができる。そして、一括反映制御部92は、一括反映実行部93に反映処理の実行を指示する。
When starting the batch reflection process, the batch
続いて、一括反映実行部93は、一括反映制御部92が取得した一括反映するテーブル情報を、通信部53と通信網13とを介して、マスターサーバ11のテーブル取得部75へ送信する。なお、スレーブサーバ12からテーブル情報を送信することで、レプリカDB22に対する更新情報の反映に失敗したことがマスターサーバ11へ通知される。そして、テーブル取得部75は、受信したテーブル情報にて示されるテーブル(データベース)自体(全体)をマスタDB21から取得する。例えば、aさんの銀行口座からbさんの銀行口座へ10万円を移動する処理の場合、テーブル取得部75は、aさんの銀行口座の情報を含むデータベースと、bさんの銀行口座の情報を含むデータベースとのそれぞれを取得する。続いて、テーブル取得部75は、取得したテーブルそのものを、通信部44と通信網13とを介して、スレーブサーバ12の一括反映実行部93へ転送する。そして、一括反映実行部93は、受信したテーブルをレプリカDB22に反映する。すなわち、一括反映実行部93は、レプリカDB22に記憶されたテーブル全体を、受信したテーブルに置き換える。これにより、スレーブサーバ12に対する負荷が大きく、更新情報の反映処理に失敗した場合でも、スレーブサーバ12に対する負荷が小さくなった時に、一括して更新情報の反映処理を行うので、確実にレプリケーション処理を実行することができる。
Subsequently, the batch
また、一括反映実行部93は、一括反映を開始する開始時刻を記録しておき、一括反映処理が終了した場合に、更新ログ中間テーブルB101から開始時刻より前の時刻が設定された、一括反映したテーブルに含まれる更新情報を削除する。これにより、一括反映処理は終了するので、一括反映制御部92は、更新ログ反映部91へ反映処理のロックの解除を通知する。そして、更新ログ反映部91は、反映処理のロックの解除が通知されると、再び反映処理を実行する。
Further, the batch
このように、更新ログ制御部73の反映IDの設定と、更新ログ転送部74の転送タイミングの設定と、により更新情報を転送するタイミングを細かく任意に調節した運用が可能である。また、一括反映制御部92は、更新ログ反映部91による反映が失敗した場合、スレーブサーバ12の負荷が比較的小さい時に、更新情報を一括して反映するので、データベースの整合性の保証をとることができる。従って、マスタDB21に対して行われた更新のトランザクション処理の一貫性をレプリカDB22において保証することができる。
As described above, the operation of finely and arbitrarily adjusting the timing of transferring update information by setting the reflection ID of the update
[動作]
次に、図6乃至図11を参照して、上述した情報処理システム1の動作について詳細に説明する。図6は、更新処理を説明するためのフローチャートである。図7は、更新ログ抽出処理を説明するためのフローチャートである。図8は、更新情報制御処理を説明するためのフローチャートである。図9は、更新情報転送処理を説明するためのフローチャートである。図10は、反映処理を説明するためのフローチャートである。図11は、一括反映処理を説明するためのフローチャートである。
[Operation]
Next, the operation of the above-described
最初に、図6と図7を参照して、更新部71の更新処理と、更新ログ抽出部72の更新ログ抽出処理について説明する。まず、図6の更新処理では、更新部71が、トランザクション処理を開始する(ステップS1)。続いて、更新部71は、データベース反映情報を取得する(ステップS2)。そして、更新部71は、マスタDB21に記憶されたマスターデータの更新を開始する(ステップS3)。
First, the update process of the
続いて、更新部71は、更新ログ抽出部72へトリガを発行する(ステップS4)。
更新部71が発行したトリガを受信することにより、更新ログ抽出部72は、図7の更新ログ抽出処理を開始する。次に、更新部71は、更新が完了したか否かを判定する(ステップS5)。更新が完了していないと判定した場合(ステップS5:No)、すなわち、まだデータベース反映情報が存在する場合、処理はステップS2に戻り、それ以降の処理が繰り返される。一方、更新が完了したと判定した場合(ステップS5:Yes)、更新部71は、更新完了を更新ログ抽出部72へ通知する(ステップS6)。
Subsequently, the
Upon receiving the trigger issued by the
ここで、図7を参照して、更新ログ抽出部72の更新ログ抽出処理について説明する。図7の更新ログ抽出処理では、まず、更新ログ抽出部72が、図6のステップS4の処理にて発行されたトリガを受け付ける(ステップS21)。続いて、更新ログ抽出部72は、マスタDB21に記憶された更新前のマスターデータと、更新情報に基づいて更新された更新後のマスターデータと、に基づいて、更新情報(更新ログ)を生成(抽出)する(ステップS22)。
Here, the update log extraction processing of the update
そして、更新ログ抽出部72は、ステップS22の処理にて生成した更新情報を更新ログ中間テーブルA81に記憶する(ステップS23)。次に、更新ログ抽出部72は、図6のステップS6の処理にて更新部71から出力される更新完了通知を受信したか否かを判定する(ステップS24)。更新完了通知を受信していないと判定した場合(ステップS24:No)、処理はステップS21に戻り、それ以降の処理を繰り返す。
Then, the update
一方、更新完了通知を受信したと判定した場合(ステップS24:Yes)、更新ログ抽出部72は、全ての更新情報を記憶したか否かを判定する(ステップS25)。全ての更新情報を記憶していないと判定した場合(ステップS25:No)、処理はステップS21に戻り、それ以降の処理を繰り返す。
On the other hand, if it is determined that an update completion notification has been received (step S24: Yes), the update
一方、全ての更新情報を記憶したと判定した場合(ステップS25:Yes)、すなわち、同一のトランザクション内で生成した更新情報全てを更新ログ中間テーブルA81へ記憶した場合、更新ログ抽出部72は、記憶完了を更新部71へ通知する(ステップS26)。ステップS26の処理の後、更新ログ抽出処理は終了する。これにより、トランザクション処理によりマスタDB21を更新するとともに、マスタDB21の更新情報を抽出することができる。
On the other hand, when it is determined that all the update information has been stored (step S25: Yes), that is, when all the update information generated within the same transaction is stored in the update log intermediate table A81, the update
次に、図6のステップS7において、更新部71は、図7のステップS26の処理にて通知された記憶完了を受信する(ステップS7)。そして、更新部71は、トランザクション処理の成功を出力する(ステップS8)。ステップS8の処理の後、更新処理は終了する。
Next, in step S7 of FIG. 6, the updating
次に、図8を参照して、更新ログ制御部73の更新ログ制御処理について説明する。更新ログ制御処理は、更新部71の動作とは独立して動作する。
Next, the update log control process of the update
まず、更新ログ制御部73は、更新ログ中間テーブルA81を参照して、反映IDが未設定の更新情報が存在するか否かを判定する(ステップS41)。反映IDが未設定の更新情報が存在しないと判定した場合(ステップS41:No)、処理はステップS41に戻り、同様の処理が繰り返される。一方、反映IDが未設定の更新情報が存在すると判定した場合(ステップS41:Yes)、更新ログ制御部73は、件数設定がされているか否かを判定する(ステップS42)。
First, the update
件数設定がされていると判定された場合(ステップS42:Yes)、更新ログ制御部73は、設定された件数まで反映IDを設定する(ステップS43)。具体的には、更新ログ制御部73は、設定された件数が100件ならば、100件以内かつトランザクションIDが切り替わる前の更新情報までに同じ反映IDを設定する。更新ログ制御部73は、例えば、1から順番に反映IDを発行する。また、トランザクションIDが同じ更新情報には、同じ反映IDを設定する。例えば、90〜98件目の更新情報のトランザクションIDが「10」であり、99〜104件目の更新情報のトランザクションIDが「11」である場合、更新ログ制御部73は、1〜98件目の更新情報に同じ反映IDを設定する。
When it is determined that the number of cases has been set (step S42: Yes), the update
一方、件数設定がされていないと判定された場合(ステップS42:No)、更新ログ制御部73は、予め設定された時間まで反映IDを設定する(ステップS44)。例えば、更新ログ制御部73は、予め設定された時間が「1秒」である場合に、更新ログ中間テーブルA81の時刻を参照して、1秒以内かつトランザクションIDが切り替わる前の更新情報までに同じ反映IDを設定する。
On the other hand, when it is determined that the number of cases has not been set (step S42: No), the update
ステップS43,S44の処理の後、処理はステップS41に戻り、それ以降の処理が繰り返される。このように、更新ログ制御部73は、更新情報の件数単位、または、時間インターバル単位に基づいて、更新ログ中間テーブルA81の各更新情報に反映IDを割り当てる。
After the processes in steps S43 and S44, the process returns to step S41, and the subsequent processes are repeated. In this manner, the update
次に、図9を参照して、更新ログ転送部74の更新ログ転送処理について説明する。更新ログ転送処理は、予め設定されたタイミング(例えば定期的)に開始する。
Next, the update log transfer process of the update
まず、更新ログ転送部74は、更新ログ中間テーブルA81を参照して、更新情報が存在するか否かを判定する(ステップS61)。更新情報が存在すると判定した場合(ステップS61:Yes)、更新ログ転送部74は、件数設定がされているか否かを判定する(ステップS62)。件数設定がされていると判定した場合(ステップS62:Yes)、更新ログ転送部74は、設定された件数以上の更新情報が存在するか否かを判定する(ステップS63)。
First, the update
ステップS62の処理にて件数設定がされていないと判定した場合(ステップS62:No)、および、ステップS63の処理にて設定された件数以上の更新情報が存在しないと判定した場合(ステップS63:No)、更新ログ転送部74は、更新ログ中間テーブルA81に格納された全ての更新情報を取得する(ステップS64)。一方、ステップS63の処理にて設定された件数以上の更新情報が存在すると判定した場合(ステップS63:Yes)、転送する更新情報を取得する(ステップS65)。具体的には、更新ログ転送部74は、設定された件数以上(または未満)かつ反映IDが切り替わる前までの更新情報を取得する。
When it is determined that the number of cases is not set in the process of step S62 (step S62: No), and when it is determined that there is no update information greater than the number of cases set in the process of step S63 (step S63: No), the update
そして、更新ログ転送部74は、ステップS64,S65の処理にて取得した更新情報を更新ログ中間テーブルB101へ転送する(ステップS66)。なお、更新ログ中間テーブルB101は、更新ログ中間テーブルA81と同じ構成であり、図5に示すものと同一である。続いて、更新ログ転送部74は、更新ログ反映部91へ反映処理を指示する(ステップS67)。反映処理については図10を参照して後述する。次に、更新ログ転送部74は、転送した更新情報(を含むレコード)を更新ログ中間テーブルA81から削除する(ステップS68)。
Then, the update
そして、更新ログ転送部74は、予め設定された時間待機し(ステップS69)、その後、ステップS61以降の処理を繰り返す。また、ステップS61の処理にて更新情報が存在しないと判定した場合(ステップS61:No)にも、更新ログ転送部74は、予め設定された時間待機する(ステップS69)。
Then, the update
次に、図10を参照して、更新ログ反映部91の反映処理について説明する。反映処理は、更新ログ転送部74により反映処理が指示されたとき(例えば図9のステップS67)に開始する。
Next, the reflection process of the update
まず、更新ログ反映部91は、反映処理がロックされているか否かを判定する(ステップS81)。反映処理は、後述する一括反映処理を行う場合にロックされる。一括反映処理については図11を参照して後述する。反映処理がロックされていないと判定した場合(ステップS81:No)、更新ログ反映部91は、更新ログ中間テーブルB101に更新情報が存在するか否かを判定する(ステップS82)。
First, the update
更新情報が存在すると判定した場合(ステップS82:Yes)、更新ログ反映部91は、トランザクション処理を開始する(ステップS83)。そして、更新ログ反映部91は、更新ログ中間テーブルB101に記憶された更新情報をレプリカDB22へ反映する(ステップS84)。具体的には、更新ログ反映部91は、同じトランザクションIDが設定された更新情報をレプリカDB22へ反映し、レプリカDB22に記憶された複製データを更新する。
If it is determined that update information exists (step S82: Yes), the update
続いて、更新ログ反映部91は、反映に成功したか否かを判定する(ステップS85)。反映に成功したと判定した場合(ステップS85:Yes)、更新ログ反映部91は、トランザクション処理の成功を出力する(ステップS86)。これにより、レプリカDB22に対する更新情報の反映を確定することができる。そして、更新ログ反映部91は、更新ログ中間テーブルB101から、反映した更新情報(を含むレコード)を削除する(ステップS87)。ステップS87の処理の後、処理はステップS81に戻り、それ以降の処理が繰り返される。
Subsequently, the update
一方、ステップS85の処理にて反映に成功していないと判定した場合(ステップS85:No)、更新ログ反映部91は、ロールバック回数が予め設定された閾値以上であるか否かを判定する(ステップS88)。ロールバック回数が閾値以上でないと判定した場合(ステップS88:No)、更新ログ反映部91は、ロールバックを行う(ステップS89)。そして、ステップS89の処理の後、処理はステップS84に戻り、再度更新情報の反映を行う。
On the other hand, when it is determined in the process of step S85 that the reflection is not successful (step S85: No), the update
一方、ステップS88においてロールバック回数が閾値以上であると判定した場合(ステップS88:Yes)、更新ログ反映部91は、トランザクション処理の失敗を出力する(ステップS90)。そして、更新ログ反映部91は、一括反映実行部93へ一括反映処理を指示する(ステップS91)。一括反映処理については図11を参照して説明する。ステップS91の処理の後、処理はステップS81に戻り、それ以降の処理が繰り返される。
On the other hand, when it is determined in step S88 that the number of rollbacks is equal to or greater than the threshold (step S88: Yes), the update
また、ステップS81の処理にて反映処理がロックされていると判定した場合(ステップS81:Yes)、および、ステップS82の処理にて更新情報が存在しないと判定した場合(ステップS82:No)には、図10の反映処理は終了する。 Further, when it is determined that the reflection process is locked in the process of step S81 (step S81: Yes), and when it is determined that the update information does not exist in the process of step S82 (step S82: No). The reflection process in FIG. 10 ends.
次に、図11を参照して、一括反映処理について説明する。まず、一括反映制御部92は、予め設定されたタイミングで(例えば定期的に)、スレーブサーバ12のCPUの負荷を表す負荷情報を取得する(ステップS111)。続いて、一括反映制御部92は、取得した負荷が予め設定された閾値未満であるか否かを判定する(ステップS112)。取得した負荷が予め設定された閾値未満でない(閾値以上である)と判定した場合(ステップS112:No)、処理はステップS111に戻り、それ以降の処理が繰り返される。
Next, the batch reflection process will be described with reference to FIG. First, the batch
一方、ステップS112において、取得した負荷が予め設定された閾値未満である場合(ステップS112:Yes)、一括反映制御部92は、反映処理をロックする(ステップS113)。反映処理をロックした後、更新ログ反映部91により反映に失敗した更新情報に基づいて、一括反映するテーブル情報を取得する(ステップS114)。
On the other hand, when the acquired load is less than the preset threshold value in step S112 (step S112: Yes), the collective
続いて、一括反映実行部93は、一括反映制御部92が取得した一括反映するテーブル情報を、通信部53と通信網13とを介して、マスターサーバ11のテーブル取得部75へ送信する(ステップS115)。マスターサーバ11のテーブル取得部75は、受信したテーブル情報にて示されるテーブル(データベース)自体をマスタDB21から取得する。続いて、テーブル取得部75は、取得したテーブル自体を、通信部44と通信網13とを介して、スレーブサーバ12の一括反映実行部93へ転送する。
Subsequently, the batch
そして、一括反映実行部93は、転送されたテーブルを受信し(ステップS116)、レプリカDB22を更新する(ステップS117)。すなわち、一括反映実行部93は、レプリカDB22に記憶されたテーブル全体を、受信したテーブルに置き換える。これにより、スレーブサーバ12に対する負荷が大きく、更新情報の反映処理に失敗した場合でも、スレーブサーバ12に対する負荷が小さくなった時に、一括して更新情報の反映処理を行うので、確実にレプリケーション処理を実行することができる。
Then, the batch
次に、一括反映実行部93は、更新ログ中間テーブルB101(および更新ログ中間テーブルA81)に記憶された更新情報を削除する(ステップS118)。具体的には、一括反映実行部93は、一括反映を開始する開始時刻を記録しておき、一括反映処理が終了した場合に、更新ログ中間テーブルB101から開始時刻より前の時刻が設定された更新情報を削除する。最後に、一括反映制御部92は、更新ログ反映部91へ反映処理のロックを解除する(ステップS119)。ステップS119の処理の後、一括反映処理は終了する。そして、更新ログ反映部91は、反映処理のロックの解除が通知されると、再び反映処理を実行する。
Next, the batch
なお、本実施形態において、レプリカDB22(スレーブサーバ12)が複数ある場合、マスターサーバ11の更新ログ中間テーブルA81をレプリカDB22の数だけ複数用意する。そして、更新ログ抽出部72は、更新部71によりトリガが発行された時に、複数の更新ログ中間テーブルのそれぞれへ同時に書き込みを行う。そして、更新ログ転送部74は、それぞれのレプリカDB22単位で更新情報を転送する。このように、レプリカDB22を複数台用意し遠隔地に分ける場合などには、転送のタイミングを独立させることができる。
In this embodiment, when there are a plurality of replica DBs 22 (slave servers 12), a plurality of update log intermediate tables A81 of the
<第2実施形態>
次に、本発明の第2実施形態に係るマスターサーバについて図12を参照して説明する。
第2実施形態に係るマスターサーバ201(情報処理装置)は、
マスタデータベース(マスタDB)211に対して所定の更新処理を行い、マスタDB211に記憶されたデータベースを更新する更新部212(更新手段)と、
更新部212にて更新したデータベースに基づいて更新情報を抽出する更新ログ抽出部213(更新情報抽出手段)と、
更新ログ抽出部213にて抽出した複数の更新情報を1つの更新情報群に含めて、当該更新情報群を、マスタDB211に記憶されたデータベースの複製データを記憶するレプリカデータベースへ、一度のタイミングで転送する更新ログ転送部214(更新情報転送手段)と、
を備え、
更新ログ転送部214は、関連する複数の更新処理を一連の処理として管理する、同一のトランザクション処理によって更新された複数の更新情報を1つの更新情報群に含めて、当該更新情報群をレプリカデータベースへ、一度のタイミングで転送する。
Second Embodiment
Next, a master server according to the second embodiment of the present invention will be described with reference to FIG.
The master server 201 (information processing apparatus) according to the second embodiment
An update unit 212 (update means) that performs a predetermined update process on the master database (master DB) 211 and updates the database stored in the
An update log extraction unit 213 (update information extraction means) that extracts update information based on the database updated by the
A plurality of update information extracted by the update
With
The update
上記構成により、更新部212がトランザクション処理によってデータベースを更新した場合に、更新ログ抽出部213は、複数の更新情報を1つの更新情報群に含める。そして、更新ログ転送部214は、更新情報群をレプリカデータベースへ、一度のタイミングで転送する。従って、マスターサーバ201やレプリカデータベース側の装置への負荷を抑制しつつ、マスタDB211に対して行われたトランザクション処理の一貫性をレプリカデータベースにおいて保障することができる。
With the above configuration, when the
以上、上記実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成及び詳細に、本願発明の範囲内において当業者が理解し得る様々な変更をすることができる。 Although the present invention has been described with reference to the above embodiment, the present invention is not limited to the above-described embodiment. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における情報処理装置等の構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
<Appendix>
Part or all of the above-described embodiment can be described as in the following supplementary notes. The outline of the configuration of the information processing apparatus and the like in the present invention will be described below. However, the present invention is not limited to the following configuration.
(付記1)
マスタデータベースに対して所定の更新処理を行い、前記マスタデータベースに記憶されたデータベースを更新する更新手段と、
前記更新手段にて更新した前記データベースに基づいて更新情報を抽出する更新情報抽出手段と、
前記更新情報抽出手段にて抽出した複数の前記更新情報を1つの更新情報群に含めて、当該更新情報群を、前記マスタデータベースに記憶された前記データベースの複製データを記憶するレプリカデータベースへ、一度のタイミングで転送する更新情報転送手段と、
を備え、
前記更新情報転送手段は、関連する複数の更新処理を一連の処理として管理する、同一のトランザクション処理によって更新された複数の前記更新情報を1つの前記更新情報群に含めて、当該更新情報群を前記レプリカデータベースへ、一度のタイミングで転送する、
情報処理装置。
(Appendix 1)
Updating means for performing a predetermined update process on the master database and updating the database stored in the master database;
Update information extraction means for extracting update information based on the database updated by the update means;
A plurality of the update information extracted by the update information extraction unit is included in one update information group, and the update information group is once stored in a replica database storing replica data of the database stored in the master database. Update information transfer means for transferring at the timing of
With
The update information transfer means manages a plurality of related update processes as a series of processes, includes a plurality of update information updated by the same transaction process in one update information group, and includes the update information group. Transfer to the replica database at a single timing,
Information processing device.
これによれば、トランザクション処理によってデータベースを更新した場合に、複数の更新情報を1つの更新情報群に含めて、当該更新情報群をレプリカデータベースへ、一度のタイミングで転送するので、情報処理装置やレプリカデータベース側の装置への負荷を抑制しつつ、マスタデータベースに対して行われたトランザクション処理の一貫性をレプリカデータベースにおいて保障することができる。 According to this, when the database is updated by transaction processing, a plurality of update information is included in one update information group, and the update information group is transferred to the replica database at a single timing. It is possible to guarantee the consistency of transaction processing performed on the master database in the replica database while suppressing the load on the replica database side device.
(付記2)
付記1に記載の情報処理装置であって、
予め設定された転送条件に基づいて、同一の前記トランザクション処理によって更新された前記データベースに基づいて抽出した複数の前記更新情報を1つの前記更新情報群に含めるように、当該更新情報群を決定する更新情報制御手段をさらに備え、
前記更新情報転送手段は、前記更新情報制御手段にて決定した1つの前記更新情報群を、前記レプリカデータベースへ、一度のタイミングで転送する、
情報処理装置。
(Appendix 2)
An information processing apparatus according to
Based on a preset transfer condition, the update information group is determined so that the plurality of update information extracted based on the database updated by the same transaction process is included in one update information group. Further comprising update information control means,
The update information transfer means transfers one update information group determined by the update information control means to the replica database at a single timing.
Information processing device.
これによれば、予め設定された転送条件に基づいて、同一のトランザクション処理によって更新されたデータベースに基づいて抽出した複数の更新情報を1つの更新情報群に含めるように、当該更新情報群を決定し、決定した1つの更新情報群を、レプリカデータベースへ、一度のタイミングで転送するので、マスタデータベースに対して行われた更新のトランザクション処理の一貫性を保証した更新情報群を決定し、レプリカデータベースへ転送することができる。従って、更新のトランザクション処理の一貫性をレプリカデータベースにおいて保障することができる。 According to this, based on a preset transfer condition, the update information group is determined so that a plurality of update information extracted based on the database updated by the same transaction process is included in one update information group. Since the determined update information group is transferred to the replica database at a single timing, the update information group that guarantees the consistency of the transaction processing of the update performed on the master database is determined, and the replica database is determined. Can be transferred to. Therefore, the consistency of update transaction processing can be ensured in the replica database.
(付記3)
付記2に記載の情報処理装置であって、
前記更新情報抽出手段は、同一の前記トランザクション処理によって更新された前記データベースに基づいて抽出した複数の前記更新情報のそれぞれに、同じトランザクション識別情報を設定し、
前記更新情報制御手段は、前記更新情報抽出手段にて同じ前記トランザクション識別情報が設定された全ての前記更新情報を含む1つの前記更新情報群を決定する、
情報処理装置。
(Appendix 3)
An information processing apparatus according to
The update information extraction means sets the same transaction identification information to each of the plurality of update information extracted based on the database updated by the same transaction processing,
The update information control means determines one update information group including all the update information in which the same transaction identification information is set by the update information extraction means.
Information processing device.
これによれば、同一のトランザクション処理によって更新されたデータベースに基づいて抽出した複数の更新情報のそれぞれに、同じトランザクション識別情報を設定し、同じトランザクション識別情報が設定された全ての更新情報を含む1つの更新情報群を決定するので、同一のトランザクション処理に基づく更新情報のそれぞれを容易に管理することができ、より確実に更新のトランザクション処理の一貫性をレプリカデータベースにおいて保障することができる。 According to this, the same transaction identification information is set in each of a plurality of update information extracted based on the database updated by the same transaction processing, and all update information in which the same transaction identification information is set is included. Since one update information group is determined, each update information based on the same transaction process can be easily managed, and the consistency of the update transaction process can be more reliably ensured in the replica database.
(付記4)
付記3に記載の情報処理装置であって、
前記更新情報制御手段は、前記更新情報抽出手段にて同じ前記トランザクション識別情報が設定された全ての前記更新情報を含む複数の前記更新情報のそれぞれに同じ転送識別情報を設定し、同じ転送識別情報が設定された複数の前記更新情報を前記更新情報群として決定する、
情報処理装置。
(Appendix 4)
An information processing apparatus according to
The update information control means sets the same transfer identification information to each of the plurality of update information including all the update information for which the same transaction identification information is set by the update information extraction means, and the same transfer identification information A plurality of the update information set as is determined as the update information group,
Information processing device.
これによれば、同じトランザクション識別情報が設定された全ての更新情報を含む複数の更新情報のそれぞれに転送識別情報を設定し、同じ転送識別情報が設定された複数の更新情報を更新情報群として決定するので、レプリカデータベースへ一度のタイミングで転送する更新情報群を容易に管理することができ、より確実に更新のトランザクション処理の一貫性をレプリカデータベースにおいて保障することができる。 According to this, transfer identification information is set for each of a plurality of update information including all update information set with the same transaction identification information, and the plurality of update information set with the same transfer identification information is set as an update information group. Therefore, the update information group transferred to the replica database at a single timing can be easily managed, and the consistency of update transaction processing can be more reliably ensured in the replica database.
(付記5)
付記4に記載の情報処理装置であって、
前記更新情報制御手段は、予め設定された数以下の前記更新情報、または、予め設定された時間内に前記更新情報抽出手段にて抽出した前記更新情報であり、かつ、同じ前記トランザクション識別情報が設定された全ての前記更新情報に同じ前記転送識別情報を設定する、
情報処理装置。
(Appendix 5)
An information processing apparatus according to appendix 4, wherein
The update information control means is the update information equal to or less than a preset number, or the update information extracted by the update information extraction means within a preset time, and the same transaction identification information Set the same transfer identification information for all the set update information,
Information processing device.
これによれば、レプリカデータベースへ一度のタイミングで転送する更新情報の数を制限することができるので、レプリカデータベースを備える他の情報処理装置に対する負荷を抑制することができる。 According to this, since the number of update information transferred to the replica database at a single timing can be limited, it is possible to suppress a load on other information processing apparatuses including the replica database.
(付記6)
付記1乃至5のいずれかに記載の情報処理装置であって、
前記レプリカデータベースを備える他の情報処理装置から、前記レプリカデータベースに対する前記更新情報の反映に失敗したことが通知された場合に、当該更新情報の更新元となる前記データベース自体を前記マスタデータベースから取得し、取得した前記データベース自体を前記レプリカデータベースへ転送するデータベース転送制御手段、
をさらに備える情報処理装置。
(Appendix 6)
An information processing apparatus according to any one of
When another information processing apparatus including the replica database is notified that the update information is not reflected on the replica database, the database itself that is the update source of the update information is acquired from the master database. Database transfer control means for transferring the acquired database itself to the replica database;
An information processing apparatus further comprising:
これによれば、他の情報処理装置がレプリカデータベースに対する更新情報の反映に失敗した場合に、当該更新情報の更新元となるデータベース自体を取得し、レプリカデータベースへ転送する。従って、他の情報処理装置は、レプリカデータベースに記憶されたデータベースを、転送されたデータベースに置き換えて更新することができるので、簡単な処理によりレプリカデータベースに対する更新漏れを防止し、確実にレプリカデータベースを更新することができる。 According to this, when another information processing apparatus fails to reflect the update information to the replica database, the database itself as the update source of the update information is acquired and transferred to the replica database. Therefore, the other information processing apparatus can replace the database stored in the replica database with the transferred database and update it. Therefore, it is possible to prevent the update of the replica database by a simple process, and to reliably replace the replica database. Can be updated.
(付記7)
情報処理装置に、
マスタデータベースに対して所定の更新処理を行い、前記マスタデータベースに記憶されたデータベースを更新する更新手段と、
前記更新手段にて更新した前記データベースに基づいて更新情報を抽出する更新情報抽出手段と、
前記更新情報抽出手段にて抽出した複数の前記更新情報を1つの更新情報群に含めて、当該更新情報群を、前記マスタデータベースに記憶された前記データベースの複製データを記憶するレプリカデータベースへ、一度のタイミングで転送する更新情報転送手段と、
を実現させるとともに、
前記更新情報転送手段は、関連する複数の更新処理を一連の処理として管理する、同一のトランザクション処理によって更新された複数の前記更新情報を1つの前記更新情報群に含めて、当該更新情報群を前記レプリカデータベースへ、一度のタイミングで転送する、
ことを実現させるためのプログラム。
(Appendix 7)
In the information processing device,
Updating means for performing a predetermined update process on the master database and updating the database stored in the master database;
Update information extraction means for extracting update information based on the database updated by the update means;
A plurality of the update information extracted by the update information extraction unit is included in one update information group, and the update information group is once stored in a replica database storing replica data of the database stored in the master database. Update information transfer means for transferring at the timing of
And realize
The update information transfer means manages a plurality of related update processes as a series of processes, includes a plurality of update information updated by the same transaction process in one update information group, and includes the update information group. Transfer to the replica database at a single timing,
A program to make things happen.
(付記8)
付記7に記載のプログラムであって、
予め設定された転送条件に基づいて、同一の前記トランザクション処理によって更新された前記データベースに基づいて抽出した複数の前記更新情報を1つの前記更新情報群に含めるように、当該更新情報群を決定する更新情報制御手段をさらに備え、
前記更新情報転送手段は、前記更新情報制御手段にて決定した1つの前記更新情報群を、前記レプリカデータベースへ、一度のタイミングで転送する、
プログラム。
(Appendix 8)
The program according to appendix 7,
Based on a preset transfer condition, the update information group is determined so that the plurality of update information extracted based on the database updated by the same transaction process is included in one update information group. Further comprising update information control means,
The update information transfer means transfers one update information group determined by the update information control means to the replica database at a single timing.
program.
(付記9)
マスタデータベースに対して所定の更新処理を行い、前記マスタデータベースに記憶されたデータベースを更新し、
更新した前記データベースに基づいて更新情報を抽出し、
関連する複数の更新処理を一連の処理として管理する、同一のトランザクション処理によって更新された前記データベースに基づいて抽出した複数の前記更新情報を1つの前記更新情報群に含めて、当該更新情報群を、前記マスタデータベースに記憶された前記データベースの複製データを記憶するレプリカデータベースへ、一度のタイミングで転送する、
情報処理方法。
(Appendix 9)
Perform a predetermined update process on the master database, update the database stored in the master database,
Extract update information based on the updated database,
Managing a plurality of related update processes as a series of processes, including a plurality of update information extracted based on the database updated by the same transaction process in one update information group, , Transferred to the replica database storing the replicated data of the database stored in the master database at a single timing,
Information processing method.
(付記10)
付記9に記載の情報処理方法であって、
予め設定された転送条件に基づいて、同一の前記トランザクション処理によって更新された前記データベースに基づいて抽出した複数の前記更新情報を1つの前記更新情報群に含めるように、当該更新情報群を決定し、
決定した1つの前記更新情報群を、前記レプリカデータベースへ、一度のタイミングで転送する、
情報処理方法。
(Appendix 10)
An information processing method according to attachment 9, wherein
Based on a preset transfer condition, the update information group is determined so that the plurality of update information extracted based on the database updated by the same transaction process is included in one update information group. ,
Transferring the determined one update information group to the replica database at a single timing;
Information processing method.
1 情報処理システム
11 マスターサーバ
12 スレーブサーバ
13 通信網
21 マスタDB
22 レプリカDB
41 演算部
42 記憶部
43 入出力部
44 通信部
51 演算部
52 記憶部
53 通信部
71 更新部
72 更新ログ抽出部
73 更新ログ制御部
74 更新ログ転送部
75 テーブル取得部
81 更新ログ中間テーブルA
91 更新ログ反映部
92 一括反映制御部
93 一括反映実行部
101 更新ログ中間テーブルB
201 マスターサーバ
211 マスタDB
212 更新部
213 更新ログ抽出部
214 更新ログ転送部
1
22 Replica DB
41
91 Update
201
212
Claims (10)
前記更新手段にて更新した前記データベースに基づいて更新情報を抽出する更新情報抽出手段と、
前記更新情報抽出手段にて抽出した複数の前記更新情報を1つの更新情報群に含めて、当該更新情報群を、前記マスタデータベースに記憶された前記データベースの複製データを記憶するレプリカデータベースへ、一度のタイミングで転送する更新情報転送手段と、
を備え、
前記更新情報転送手段は、関連する複数の更新処理を一連の処理として管理する、同一のトランザクション処理によって更新された複数の前記更新情報を1つの前記更新情報群に含めて、当該更新情報群を前記レプリカデータベースへ、一度のタイミングで転送する、
情報処理装置。 Updating means for performing a predetermined update process on the master database and updating the database stored in the master database;
Update information extraction means for extracting update information based on the database updated by the update means;
A plurality of the update information extracted by the update information extraction unit is included in one update information group, and the update information group is once stored in a replica database storing replica data of the database stored in the master database. Update information transfer means for transferring at the timing of
With
The update information transfer means manages a plurality of related update processes as a series of processes, includes a plurality of update information updated by the same transaction process in one update information group, and includes the update information group. Transfer to the replica database at a single timing,
Information processing device.
予め設定された転送条件に基づいて、同一の前記トランザクション処理によって更新された前記データベースに基づいて抽出した複数の前記更新情報を1つの前記更新情報群に含めるように、当該更新情報群を決定する更新情報制御手段をさらに備え、
前記更新情報転送手段は、前記更新情報制御手段にて決定した1つの前記更新情報群を、前記レプリカデータベースへ、一度のタイミングで転送する、
情報処理装置。 The information processing apparatus according to claim 1,
Based on a preset transfer condition, the update information group is determined so that the plurality of update information extracted based on the database updated by the same transaction process is included in one update information group. Further comprising update information control means,
The update information transfer means transfers one update information group determined by the update information control means to the replica database at a single timing.
Information processing device.
前記更新情報抽出手段は、同一の前記トランザクション処理によって更新された前記データベースに基づいて抽出した複数の前記更新情報のそれぞれに、同じトランザクション識別情報を設定し、
前記更新情報制御手段は、前記更新情報抽出手段にて同じ前記トランザクション識別情報が設定された全ての前記更新情報を含む1つの前記更新情報群を決定する、
情報処理装置。 An information processing apparatus according to claim 2,
The update information extraction means sets the same transaction identification information to each of the plurality of update information extracted based on the database updated by the same transaction processing,
The update information control means determines one update information group including all the update information in which the same transaction identification information is set by the update information extraction means.
Information processing device.
前記更新情報制御手段は、前記更新情報抽出手段にて同じ前記トランザクション識別情報が設定された全ての前記更新情報を含む複数の前記更新情報のそれぞれに同じ転送識別情報を設定し、同じ転送識別情報が設定された複数の前記更新情報を前記更新情報群として決定する、
情報処理装置。 The information processing apparatus according to claim 3,
The update information control means sets the same transfer identification information to each of the plurality of update information including all the update information for which the same transaction identification information is set by the update information extraction means, and the same transfer identification information A plurality of the update information set as is determined as the update information group,
Information processing device.
前記更新情報制御手段は、予め設定された数以下の前記更新情報、または、予め設定された時間内に前記更新情報抽出手段にて抽出した前記更新情報であり、かつ、同じ前記トランザクション識別情報が設定された全ての前記更新情報に同じ前記転送識別情報を設定する、
情報処理装置。 The information processing apparatus according to claim 4,
The update information control means is the update information equal to or less than a preset number, or the update information extracted by the update information extraction means within a preset time, and the same transaction identification information Set the same transfer identification information for all the set update information,
Information processing device.
前記レプリカデータベースを備える他の情報処理装置から、前記レプリカデータベースに対する前記更新情報の反映に失敗したことが通知された場合に、当該更新情報の更新元となる前記データベース自体を前記マスタデータベースから取得し、取得した前記データベース自体を前記レプリカデータベースへ転送するデータベース転送制御手段、
をさらに備える情報処理装置。 An information processing apparatus according to any one of claims 1 to 5,
When it is notified from another information processing apparatus including the replica database that the update information has failed to be reflected in the replica database, the database itself that is the update source of the update information is acquired from the master database. Database transfer control means for transferring the acquired database itself to the replica database;
An information processing apparatus further comprising:
マスタデータベースに対して所定の更新処理を行い、前記マスタデータベースに記憶されたデータベースを更新する更新手段と、
前記更新手段にて更新した前記データベースに基づいて更新情報を抽出する更新情報抽出手段と、
前記更新情報抽出手段にて抽出した複数の前記更新情報を1つの更新情報群に含めて、当該更新情報群を、前記マスタデータベースに記憶された前記データベースの複製データを記憶するレプリカデータベースへ、一度のタイミングで転送する更新情報転送手段と、
を実現させるとともに、
前記更新情報転送手段は、関連する複数の更新処理を一連の処理として管理する、同一のトランザクション処理によって更新された複数の前記更新情報を1つの前記更新情報群に含めて、当該更新情報群を前記レプリカデータベースへ、一度のタイミングで転送する、
ことを実現させるためのプログラム。 In the information processing device,
Updating means for performing a predetermined update process on the master database and updating the database stored in the master database;
Update information extraction means for extracting update information based on the database updated by the update means;
A plurality of the update information extracted by the update information extraction unit is included in one update information group, and the update information group is once stored in a replica database storing replica data of the database stored in the master database. Update information transfer means for transferring at the timing of
And realize
The update information transfer means manages a plurality of related update processes as a series of processes, includes a plurality of update information updated by the same transaction process in one update information group, and includes the update information group. Transfer to the replica database at a single timing,
A program to make things happen.
予め設定された転送条件に基づいて、同一の前記トランザクション処理によって更新された前記データベースに基づいて抽出した複数の前記更新情報を1つの前記更新情報群に含めるように、当該更新情報群を決定する更新情報制御手段をさらに備え、
前記更新情報転送手段は、前記更新情報制御手段にて決定した1つの前記更新情報群を、前記レプリカデータベースへ、一度のタイミングで転送する、
プログラム。 The program according to claim 7,
Based on a preset transfer condition, the update information group is determined so that the plurality of update information extracted based on the database updated by the same transaction process is included in one update information group. Further comprising update information control means,
The update information transfer means transfers one update information group determined by the update information control means to the replica database at a single timing.
program.
更新した前記データベースに基づいて更新情報を抽出し、
関連する複数の更新処理を一連の処理として管理する、同一のトランザクション処理によって更新された前記データベースに基づいて抽出した複数の前記更新情報を1つの前記更新情報群に含めて、当該更新情報群を、前記マスタデータベースに記憶された前記データベースの複製データを記憶するレプリカデータベースへ、一度のタイミングで転送する、
情報処理方法。 Perform a predetermined update process on the master database, update the database stored in the master database,
Extract update information based on the updated database,
Managing a plurality of related update processes as a series of processes, including a plurality of update information extracted based on the database updated by the same transaction process in one update information group, , Transferred to the replica database storing the replicated data of the database stored in the master database at a single timing,
Information processing method.
予め設定された転送条件に基づいて、同一の前記トランザクション処理によって更新された前記データベースに基づいて抽出した複数の前記更新情報を1つの前記更新情報群に含めるように、当該更新情報群を決定し、
決定した1つの前記更新情報群を、前記レプリカデータベースへ、一度のタイミングで転送する、
情報処理方法。
An information processing method according to claim 9,
Based on a preset transfer condition, the update information group is determined so that the plurality of update information extracted based on the database updated by the same transaction process is included in one update information group. ,
Transferring the determined one update information group to the replica database at a single timing;
Information processing method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012257172A JP6319784B2 (en) | 2012-11-26 | 2012-11-26 | Information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012257172A JP6319784B2 (en) | 2012-11-26 | 2012-11-26 | Information processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014106580A true JP2014106580A (en) | 2014-06-09 |
JP6319784B2 JP6319784B2 (en) | 2018-05-09 |
Family
ID=51028046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012257172A Active JP6319784B2 (en) | 2012-11-26 | 2012-11-26 | Information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6319784B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018510430A (en) * | 2015-04-01 | 2018-04-12 | アリババ グループ ホウルディング リミテッド | Remote data synchronization method and apparatus for database |
JP2021099606A (en) * | 2019-12-20 | 2021-07-01 | 日本電気株式会社 | Replicated data control device, replicated data control system, replicated data control method, and replicated data control program |
US11532045B2 (en) | 2018-12-04 | 2022-12-20 | Fujitsu Limited | Securities trading apparatus and securities trading method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002366407A (en) * | 2001-06-05 | 2002-12-20 | Nec Corp | Data base replication system and data base automatic recovery method |
US20050289198A1 (en) * | 2004-06-25 | 2005-12-29 | International Business Machines Corporation | Methods, apparatus and computer programs for data replication |
JP2006092005A (en) * | 2004-09-21 | 2006-04-06 | Hitachi Ltd | Data processing method, database system, and storage device |
-
2012
- 2012-11-26 JP JP2012257172A patent/JP6319784B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002366407A (en) * | 2001-06-05 | 2002-12-20 | Nec Corp | Data base replication system and data base automatic recovery method |
US20050289198A1 (en) * | 2004-06-25 | 2005-12-29 | International Business Machines Corporation | Methods, apparatus and computer programs for data replication |
JP2006092005A (en) * | 2004-09-21 | 2006-04-06 | Hitachi Ltd | Data processing method, database system, and storage device |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018510430A (en) * | 2015-04-01 | 2018-04-12 | アリババ グループ ホウルディング リミテッド | Remote data synchronization method and apparatus for database |
US10877990B2 (en) | 2015-04-01 | 2020-12-29 | Advanced New Technologies Co., Ltd. | Remote database synchronization |
US11532045B2 (en) | 2018-12-04 | 2022-12-20 | Fujitsu Limited | Securities trading apparatus and securities trading method |
JP2021099606A (en) * | 2019-12-20 | 2021-07-01 | 日本電気株式会社 | Replicated data control device, replicated data control system, replicated data control method, and replicated data control program |
Also Published As
Publication number | Publication date |
---|---|
JP6319784B2 (en) | 2018-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102437664B1 (en) | System and method for transaction recovery in a multitenant application server environment | |
Mu et al. | Consolidating concurrency control and consensus for commits under conflicts | |
US9286052B1 (en) | Upgrading software on a pair of nodes in a clustered environment | |
US9984140B1 (en) | Lease based leader election system | |
US10061830B2 (en) | Reorganization of data under continuous workload | |
CA2913036C (en) | Index update pipeline | |
US9311199B2 (en) | Replaying jobs at a secondary location of a service | |
US10248709B2 (en) | Promoted properties in relational structured data | |
EP3391244B1 (en) | Replication control among redundant data centers | |
EP3391249B1 (en) | Replication of structured data records among partitioned data storage spaces | |
CN107430603A (en) | The system and method for MPP database | |
US10235406B2 (en) | Reminder processing of structured data records among partitioned data storage spaces | |
JP6319784B2 (en) | Information processing device | |
BE1024939B1 (en) | SYSTEM AND DEVICE FOR GUARANTEED EXACTLY PROCESSING OF AN EVENT IN A DIVIDED EVENT-DRIVEN ENVIRONMENT | |
US10728326B2 (en) | Method and system for high availability topology for master-slave data systems with low write traffic | |
US8862550B1 (en) | Reliable in-place bootstrap metadata transformation in a shared data store | |
JP7111882B2 (en) | Distributed recovery of server information | |
JP7416768B2 (en) | Methods, apparatus and systems for non-destructively upgrading distributed coordination engines in distributed computing environments | |
EP2980707B1 (en) | Method for creating a database clone of a distributed database, system for creating a database clone of a distributed database, program and computer program product | |
EP2980702B1 (en) | Method for enhancing the generation of a backup copy of data items of a distributed data structure, computer network for enhancing the generation of a backup copy of data items of a distributed data structure, program and computer program product | |
CN112069067B (en) | Data testing method and device based on block chain and computer readable storage medium | |
JP5432596B2 (en) | Log file management device, log file management system, log file management method and program thereof | |
Song | Redesign Tactilon Agnet database in distributed environment | |
Carvalho | Generic replication of software transactional memory | |
WO2016148716A1 (en) | Post in-doubt transaction to notice unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151006 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160628 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160802 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160921 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20170221 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170508 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20170515 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20170609 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180329 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6319784 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |