JP2014219868A - Database migration method - Google Patents

Database migration method Download PDF

Info

Publication number
JP2014219868A
JP2014219868A JP2013099335A JP2013099335A JP2014219868A JP 2014219868 A JP2014219868 A JP 2014219868A JP 2013099335 A JP2013099335 A JP 2013099335A JP 2013099335 A JP2013099335 A JP 2013099335A JP 2014219868 A JP2014219868 A JP 2014219868A
Authority
JP
Japan
Prior art keywords
migration
database
request
destination
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013099335A
Other languages
Japanese (ja)
Other versions
JP6052887B2 (en
Inventor
岡村 大
Masaru Okamura
大 岡村
昌穂 坂本
Masao Sakamoto
昌穂 坂本
雅幸 西木
Masayuki Nishiki
雅幸 西木
柴田巧
Takumi Shibata
巧 柴田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Nippon Telegraph and Telephone West Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Nippon Telegraph and Telephone West Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, Nippon Telegraph and Telephone West Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013099335A priority Critical patent/JP6052887B2/en
Publication of JP2014219868A publication Critical patent/JP2014219868A/en
Application granted granted Critical
Publication of JP6052887B2 publication Critical patent/JP6052887B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Abstract

PROBLEM TO BE SOLVED: To migrate a database without stopping a service.SOLUTION: After an AP server 11 is set to refer to a virtual DB device 15 which can access both a migration source DB13 and a migration destination DB14 and has a migration table 26 storing data migration, the virtual DB device 15 refers to the migration table 26 in response to a request from the AP server 11 to determine whether data associated with a main key of the request has been migrated or not. When the request is one made for a main key which has not been migrated, the request is transmitted to the migration source DB 14 to process it and the data associated with the main key is added to the migration destination DB 14. Information on the main key migrated is recorded on the migration table. When a request is made to the migrated main key, the request is transmitted to a server having the migration destination DB 14 to process it.

Description

この発明は、データベース(DB)の移行方法に関する。   The present invention relates to a database (DB) migration method.

システムを長期間に亘って使用しようとしても、いずれサーバ機器の販売やサポートが終了してしまい、サーバ機器を新たなハードウェアに替えなければならなくなる。このため、データベースはいずれかの段階で移行させなければならなくなる。   Even if the system is to be used for a long period of time, the sales and support of the server equipment will eventually end, and the server equipment will have to be replaced with new hardware. For this reason, the database must be migrated at any stage.

また、近年はオープンソースソフトウェア(Open Source Software:OSS)のデータベースが充実してきており、コストの削減などを目的としてデータベースを移行する機会が増えている。   In recent years, the database of open source software (OSS) has been enriched, and the opportunity to migrate the database is increasing for the purpose of cost reduction.

しかし、データベースを利用するサービスが実行されている間は、常にデータの検索や更新が行われるため、最終的に接続先を切り替える際には一旦サービスを停止してからデータを移行する必要がある。データベースの規模が大きくなるほど、このデータ移行にかかる時間は膨大になり、サービスを停止する時間が長くなってしまう。   However, since the data is always searched and updated while the service that uses the database is running, it is necessary to stop the service and then migrate the data when switching the connection destination in the end . As the scale of the database increases, the time required for this data migration becomes enormous and the time for stopping the service becomes longer.

これに対して、特許文献1のような方法が提案されている。サービスの運用中に移行前のデータベース装置のスナップショットデータを取得して、これを移行先のデータベース装置に書き込みながら、移行前のデータベース装置を運用し続ける。一旦移行先データベース装置に、前の時点でのスナップショットデータを書き込み終わった後に、さらに運用が進行した後の移行前のデータベース装置のスナップショットデータを取得し、前の時点のデータのままである、移行先のデータベース装置のスナップショットデータも取得して、この差分データを取得する。移行段階では、この差分データのみを移行先のデータベース装置に書き込むだけで済む。   On the other hand, a method like patent document 1 is proposed. While the service is in operation, the snapshot data of the database device before the migration is acquired and written into the migration destination database device, and the database device before the migration is continuously operated. Once the snapshot data at the previous time point has been written to the migration destination database device, the snapshot data of the database device before the migration after further operation is acquired, and the data at the previous time point remains as it is The snapshot data of the migration destination database device is also acquired, and this difference data is acquired. In the migration stage, only this difference data needs to be written into the migration destination database device.

特開2011−232866号公報JP 2011-232866 A

しかしながら、特許文献1の装置でも、最後に差分データを書き込む時間はサービスを停止しなければならない。この時間は全データを一括して書き込む従来の方式よりは短縮できるものの、データベースの更新頻度が高いほど、その停止時間が無視できないものとなった。   However, even in the apparatus of Patent Document 1, the service must be stopped during the last time to write the difference data. Although this time can be shortened compared to the conventional method in which all data is written in a lump, the stop time cannot be ignored as the database update frequency increases.

そこでこの発明は、サービス停止時間をなくしてデータベースの移行を行えるようにすることを目的とする。   SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to enable database migration without service stop time.

この発明は、
アプリケーションサーバが参照するデータベース(DB)を、移行元データベースを有するサーバから移行先データベースを有するサーバに切り替えるデータベースの移行方法であり、
上記アプリケーションサーバの参照先を、上記移行元データベース及び上記移行先データベースの両方にアクセス可能な仮想データベース装置に変更するステップ、
上記仮想データベース装置が、上記アプリケーションサーバからのリクエストに対して、上記移行元データベースのデータの移行履歴を記録する移行表を参照して、当該リクエストの主キーが移行されているか否かを判断し、
移行されていない主キーへのリクエストであれば、上記移行元データベースを有するサーバへ当該リクエストを送って処理すると共に、当該主キーに紐付くレコードを上記移行先データベースへ追加し、かつ、上記移行表に当該主キーについての移行履歴を記録し、
移行されている主キーへのリクエストであれば、上記移行先データベースを有するサーバへ当該リクエストを送って処理することで、リクエストへの応答を繰り返して移行と履歴の記録を行うステップ、
上記アプリケーションサーバの参照先を、上記仮想データベース装置から上記移行先データベースに変更するステップ
を行う、データベースの移行方法により、上記の課題を解決したのである。
This invention
A database migration method for switching a database (DB) referred to by an application server from a server having a migration source database to a server having a migration destination database,
Changing the reference destination of the application server to a virtual database device accessible to both the migration source database and the migration destination database;
In response to a request from the application server, the virtual database device refers to a migration table that records the migration history of data in the migration source database and determines whether or not the primary key of the request has been migrated. ,
If the request is for a primary key that has not been migrated, the request is sent to the server having the migration source database for processing, and a record associated with the primary key is added to the migration destination database, and the migration is performed. Record the migration history for the primary key in the table,
If it is a request to the primary key that has been migrated, the process of sending the request to the server having the migration destination database and processing it to repeat the response to the request and record the migration and history,
The above problem has been solved by a database migration method that performs a step of changing the reference destination of the application server from the virtual database device to the migration destination database.

上記仮想データベース装置が、リクエストを処理するごとに順次上記移行先データベースへのデータの移行を進めるため、大半のデータはアプリケーションサーバのサービスを中断させることなく運用しながら移行させることができる。   Each time the virtual database device processes a request, the data is sequentially transferred to the transfer destination database. Therefore, most data can be transferred while operating without interrupting the service of the application server.

所定の期間に亘ってリクエストを処理しながら移行させるが、リクエストの無い主キーに紐付けられたデータだけは移行されない。その残された分は上記移行表を参照すれば判明する。そこで、所定の期間が経過しても未移行項目のデータが残っている場合には、アプリケーションサーバの参照先を上記仮想データベース装置から上記移行先データベースのサーバに変更する前に、その残された未移行項目のデータのみを上記移行元データベースから上記移行先データベースへ移行させるステップを行う。未移行項目のデータの移行は、アプリケーションサーバからのリクエストと同様に、仮想DBが逐次移行元データベースへアクセスして移行するため、サービスは停止しない。   Although the request is transferred while processing the request over a predetermined period, only the data associated with the primary key without the request is not transferred. The remaining amount can be determined by referring to the above migration table. Therefore, if the data of unmigrated items remains even after a predetermined period of time has passed, the data is left before changing the reference destination of the application server from the virtual database device to the server of the migration destination database. A step of migrating only data of unmigrated items from the migration source database to the migration destination database is performed. For data migration of unmigrated items, the service does not stop because the virtual DB sequentially accesses and migrates to the migration source database in the same manner as a request from the application server.

この発明により、データがアクセスされるたびにデータを移行することで、システムにかかる負荷を抑えてデータ移行を実現することができる。また、頻繁にアクセスされないデータであっても、仮想DBがアクセスを行うことで、全データをサービス断なく移行することができる。   According to the present invention, the data migration can be realized while suppressing the load on the system by migrating the data every time the data is accessed. Even if data is not accessed frequently, all data can be migrated without service interruption by accessing the virtual DB.

(a)この発明を実施する際の移行過程における論理構成例図、(b)この発明を実施する際の移行過程における物理構成例図(A) Logical configuration example diagram in the transition process when the present invention is implemented, (b) Physical configuration example diagram in the transition process when the present invention is implemented この発明で導入する仮想データベース装置の機能ブロック図Functional block diagram of a virtual database device introduced in the present invention この発明にかかる移行方法の全体像を示すチャートThe chart which shows the whole image of the transfer method concerning this invention 移行過程におけるフローチャート例Example flowchart in the migration process (a)移行過程における移行を伴う処理例の手順図、(b)移行過程に置ける移行済みの項目への処理例の手順図(A) Procedure diagram of processing example with transition in transition process, (b) Procedure diagram of processing example to migrated item in transition process 移行表の例を示すテーブル群Table group showing examples of migration tables SQLの命令文の違いによる処理チャートProcessing chart by the difference of SQL statement 最終移行処理のフローチャートFinal migration flowchart

以下、この発明について詳細に説明する。この発明は、アプリケーションサーバが参照するデータベースを、移行元データベースを有するサーバ(旧サーバ)から移行先データベースを有するサーバ(新サーバ)へ移行する移行方法である。   The present invention will be described in detail below. The present invention is a migration method for migrating a database referenced by an application server from a server having a migration source database (old server) to a server having a migration destination database (new server).

この発明を実施するにあたっては、上記アプリケーションサーバが参照するデータベースを、アドレスの変更により速やかに変えられる環境にあることが望ましい。アプリケーションサーバ自身が宛先であるデータベースのアドレスを変更することで実現してもよいし、ネットワーク内に存在するロードバランサが指定するアドレスを書き換えることで実現してもよい。また、データベースを有するサーバが多重化されている場合は、ロードバランサが指定するアドレスを書き換えることで、多重化されているうちの一つのサーバにのみ接続させるようにすることで、移行処理を進めやすくすると好ましい。   In practicing the present invention, it is desirable that the database referred to by the application server be in an environment where it can be quickly changed by changing the address. This may be realized by changing the address of the database to which the application server itself is destined, or may be realized by rewriting the address specified by the load balancer existing in the network. If the server with the database is multiplexed, the migration process proceeds by rewriting the address specified by the load balancer so that only one of the multiplexed servers is connected. It is preferable to make it easier.

この発明を実施するシステムの論理構成の例を図1(a)に、物理構成の例を図1(b)に示す。アプリケーションサーバ11(図中「AP」と略記するときがある。)は、外部からのリクエストに応じて、下記のデータベースに対して命令文を実行するサーバである。このアプリケーションサーバ11は、ロードバランサ12(図中「LB」と略記するときがある。)の制御により多重化していてもよい。なお、図では2つのサーバ(11a、11b)で多重化しているが、数は特に限定されるものではなく、より多数のサーバで多重化されていてもよい。   An example of a logical configuration of a system that implements the present invention is shown in FIG. 1A, and an example of a physical configuration is shown in FIG. The application server 11 (sometimes abbreviated as “AP” in the figure) is a server that executes a command statement on the following database in response to an external request. The application server 11 may be multiplexed under the control of the load balancer 12 (sometimes abbreviated as “LB” in the figure). In the figure, the two servers (11a and 11b) are multiplexed. However, the number is not particularly limited, and may be multiplexed by a larger number of servers.

この発明で用いるデータベースは、アプリケーションサーバ11とは別のアドレスを有するサーバに格納されている。移行元データベース13(図中「移行元DB」と略記するときがある。)を有する旧サーバから移行先データベース14を有する新サーバ(図中「移行先DB」と略記するときがある。)へデータを移行させる際に、アプリケーションサーバ11のサービスを停止する時間を出来る限り短縮することが本発明の目的である。移行作業開始前の段階では、移行先データベース14を有する新サーバが取り付けられておらず、移行作業完了後は移行元データベース13を有する旧サーバが取り外される。ここで、旧サーバ及び新サーバを、それぞれが有する移行元データベース13及び移行先データベース14として抜き出して記載する。   The database used in the present invention is stored in a server having an address different from that of the application server 11. From an old server having a migration source database 13 (sometimes abbreviated as “migration source DB” in the figure) to a new server having a migration destination database 14 (sometimes abbreviated as “migration destination DB” in the figure). It is an object of the present invention to shorten the time for stopping the service of the application server 11 as much as possible when migrating data. In the stage before the start of the migration work, the new server having the migration destination database 14 is not attached, and the old server having the migration source database 13 is removed after the migration work is completed. Here, the old server and the new server are extracted and described as the migration source database 13 and the migration destination database 14 respectively.

この発明におけるデータ移行の際には、これらの移行元データベース13を有する旧サーバ及び移行先データベース14を有する新サーバは、仮想データベース装置15を介してアプリケーションサーバ11からのアクセスを受け取る。仮想データベース装置15は、移行元データベース13や移行先データベース14が有するデータベースとしてのデータそのもののコピーは有さないが、移行元データベース13が有するデータのうち、どの項目のデータが移行済みであるかを記録し、参照可能な移行表をテーブルデータとして保持しており、この移行表を参照して、移行元データベース13と移行先データベース14に対してリクエストを行うサーバである。この移行表は移行済みであるか否かだけでなく、どの時点で移行されたかを示す移行日時も記録してあると、後述する最終処理の判断が容易であるため望ましい。また、移行後のデータがさらに更新されている場合にその更新日時も記録してあると、移行作業にエラーが生じたときにデータを戻す際に参照できるためより望ましい。   At the time of data migration in the present invention, the old server having the migration source database 13 and the new server having the migration destination database 14 receive access from the application server 11 via the virtual database device 15. The virtual database device 15 does not have a copy of the data itself as the database that the migration source database 13 and the migration destination database 14 have, but which items of the data of the migration source database 13 have been migrated. Is stored as table data, and is a server that makes a request to the migration source database 13 and the migration destination database 14 with reference to this migration table. It is desirable for this migration table to record not only whether or not it has been migrated, but also the date and time of migration indicating when it has been migrated, since it is easy to determine the final process to be described later. Further, when the data after migration is further updated, it is more desirable to record the update date and time because it can be referred to when returning data when an error occurs in the migration operation.

なお、上記のような論理構成であるネットワークの実際の物理構成としては、図1(b)に示すように、ルータやL3スイッチなどからなり外部ネットワークに繋がるルーティング装置17に、上記のアプリケーションサーバ11a,11b、ロードバランサ12,移行元データベース13を有する旧サーバ、移行先データベース14を有する新サーバ、仮想データベース装置15が接続される。   As the actual physical configuration of the network having the logical configuration as described above, as shown in FIG. 1 (b), the application server 11a is connected to the routing device 17 which is composed of a router, an L3 switch, etc. and is connected to the external network. 11b, load balancer 12, old server having migration source database 13, new server having migration destination database 14, and virtual database device 15 are connected.

仮想データベース装置15の機能ブロック図を図2に示す。ソフトウェア上のインターフェースである入出力部は、アプリケーションサーバ11に応答する仮想データベースとしての第一入出力部22と、移行元データベース13及び移行先データベース14に対する仮想的なアプリケーションサーバである第二入出力部23との二つを有する。なお、図では機能的に記載しているため別個になっているが、実際の物理インターフェースは一つでもよい。また、上記の移行表26を含む記憶部24を有している。少なくとも上記移行表26は、磁気ディスクや不揮発メモリなど、電源断があっても消失しない記憶手段によって記憶されていることが望ましい。さらに、これらの入出力部22,23と記憶部24とを制御するCPUにあたる制御部25を有する。第一入出力部22からのリクエストを受けた制御部25は、記憶部24にアクセスして移行表26をチェックした上で、第二入出力部23に対して、移行元データベース13、移行先データベース14、又はその両方に対して適切なリクエストをするように伝達し、その応答を第一入出力部22へと返し、必要に応じて移行表26への書き込みを行う。なお、移行表26は仮想データベース装置15とは別のサーバに格納されていてもよい。   A functional block diagram of the virtual database device 15 is shown in FIG. The input / output unit that is an interface on the software is a first input / output unit 22 as a virtual database that responds to the application server 11 and a second input / output that is a virtual application server for the migration source database 13 and the migration destination database 14. It has two with the part 23. In the figure, since they are functionally described, they are separated, but one actual physical interface may be used. In addition, the storage unit 24 including the above-described migration table 26 is provided. It is desirable that at least the migration table 26 is stored by a storage means such as a magnetic disk or a non-volatile memory that does not disappear even when the power is cut off. Furthermore, it has the control part 25 which is CPU which controls these input / output parts 22 and 23 and the memory | storage part 24. FIG. Upon receiving the request from the first input / output unit 22, the control unit 25 accesses the storage unit 24 and checks the migration table 26, and then the migration source database 13, the migration destination for the second input / output unit 23. An appropriate request is transmitted to the database 14 or both, the response is returned to the first input / output unit 22, and writing to the migration table 26 is performed as necessary. The migration table 26 may be stored in a server different from the virtual database device 15.

ただし、移行元データベース13と移行先データベース14のデータベースソフトの種類やバージョンが異なっていたりすることにより、データベースの形式が異なる場合には、移行元データベース13のデータをそのままで移行先データベース14に移行することはできない。このため、移行元データベース13と移行先データベース14とのデータベースの形式が異なる場合には、この移行元データベース13のデータ形式から移行先データベース14のデータ形式に変換するソフトウェアである変換部28を設け、移行するデータを移行元データベース13の形式から一旦変換部28で変換した上で、移行先データベース14に書き込む。   However, if the database format is different due to different types or versions of the database software of the migration source database 13 and the migration destination database 14, the data of the migration source database 13 is migrated to the migration destination database 14 as it is. I can't do it. Therefore, when the database format of the migration source database 13 and the migration destination database 14 is different, a conversion unit 28 that is software for converting the data format of the migration source database 13 to the data format of the migration destination database 14 is provided. The data to be migrated is once converted from the format of the migration source database 13 by the conversion unit 28 and then written to the migration destination database 14.

移行の手順の概要を図3に示す(S100〜)。作業開始前では移行先データベース14を有する新サーバと仮想データベース装置15が接続されておらず、作業にあたってこれらをネットワークに接続する(S101)。具体的には、ルーティング装置17の端子や、それに繋がるハブなどに物理的にケーブルを用いて接続する。単純に、端子へ接続すればよいだけであるため、この接続作業の際に必要なアプリケーションサーバ11のサービス切断時間は0になる。   An outline of the migration procedure is shown in FIG. 3 (S100-). Before starting the work, the new server having the migration destination database 14 and the virtual database device 15 are not connected, and these are connected to the network for the work (S101). Specifically, it is physically connected to a terminal of the routing device 17 or a hub connected to the terminal using a cable. Since it is only necessary to simply connect to the terminal, the service disconnection time of the application server 11 necessary for this connection work becomes zero.

その上で、アプリケーションサーバ11がリクエストを送るデータベースの宛先アドレスを、移行元データベース13を有する旧サーバから、仮想データベース装置15に変更する(S102)。この変更は、アプリケーションサーバ11自身が参照するアドレスを書き換えることで実現してもよい。また、ネットワークにロードバランサ12が存在する場合には、ロードバランサ12がデータベースの宛先としてアプリケーションサーバ11からのリクエストを受け付けている共有アドレスの振り分け先であるアドレスを書き換えることでも実現できる。アプリケーションサーバ11のサービス切断時間をなくすため、ロードバランサ12が振り分けるアドレスを変更する方がより好ましい。   Then, the destination address of the database to which the application server 11 sends the request is changed from the old server having the migration source database 13 to the virtual database device 15 (S102). This change may be realized by rewriting the address referred to by the application server 11 itself. Further, when the load balancer 12 exists in the network, the load balancer 12 can also be realized by rewriting an address that is a distribution destination of a shared address that receives a request from the application server 11 as a database destination. In order to eliminate the service disconnection time of the application server 11, it is more preferable to change the address assigned by the load balancer 12.

アプリケーションサーバ11の参照先が仮想データベース装置15に変更されると、以後は、アプリケーションサーバ11がリクエストを送るたびに、仮想データベース装置15が応答するとともに順次移行作業を進行させる(S103)。また、一定期間経過後、必要に応じて最終移行処理を行う(S104)。これらについて詳しくは後述する。   When the reference destination of the application server 11 is changed to the virtual database device 15, thereafter, every time the application server 11 sends a request, the virtual database device 15 responds and sequentially proceeds with the migration work (S103). Further, after a certain period of time, a final migration process is performed as necessary (S104). These will be described in detail later.

移行元データベース13から移行先データベース14へのデータ移行が完了したら、アプリケーションサーバ11がリクエストを送るデータベースの宛先アドレスを、仮想データベース装置15から、移行先データベース14を有する新サーバに変更する(S105)。この変更も、アプリケーションサーバ11自身が参照するアドレスを書き換えることで実現してもよい。また、ネットワークにロードバランサ12が存在する場合には、ロードバランサ12がデータベースの宛先としてアプリケーションサーバ11からのリクエストを受け付けている共有アドレスの振り分け先であるアドレスを書き換えることでも実現できる。開始時と同様に、アプリケーションサーバ11のサービス切断時間をなくすため、ロードバランサ12が振り分けるアドレスを変更する方がより好ましい。   When the data migration from the migration source database 13 to the migration destination database 14 is completed, the destination address of the database to which the application server 11 sends a request is changed from the virtual database device 15 to a new server having the migration destination database 14 (S105). . This change may also be realized by rewriting the address referred to by the application server 11 itself. Further, when the load balancer 12 exists in the network, the load balancer 12 can also be realized by rewriting an address that is a distribution destination of a shared address that receives a request from the application server 11 as a database destination. As with the start, it is more preferable to change the address assigned by the load balancer 12 in order to eliminate the service disconnection time of the application server 11.

上記アプリケーションサーバ11の宛先が変更されたら、仮想データベース装置15と移行元データベース13を有する旧サーバを、ネットワークから切り離してよい(S106)。これもルーティング装置17の端子や、それに繋がるハブなどから物理的にケーブルを抜いて切断する。単純に、端子から切断すればよいだけであるため、この切断作業の際に必要なアプリケーションサーバ11のサービス切断時間は0になる。以上で移行作業は完了する(S107)。   When the destination of the application server 11 is changed, the old server having the virtual database device 15 and the migration source database 13 may be disconnected from the network (S106). In this case, the cable is physically pulled out from the terminal of the routing device 17 or a hub connected thereto, and then cut. Since it is only necessary to simply disconnect from the terminal, the service disconnection time of the application server 11 required for this disconnecting operation becomes zero. Thus, the migration work is completed (S107).

上記の工程のうち、アプリケーションサーバ11の宛先が仮想データベース装置15に変更されてから始まる、S103における仮想データベース装置15の実際の移行処理について、図4のフローと図5(a)(b)の概略図を用いて説明する。   Of the above steps, the actual migration processing of the virtual database device 15 in S103, which starts after the destination of the application server 11 is changed to the virtual database device 15, is shown in the flow of FIG. 4 and FIGS. 5 (a) and 5 (b). This will be described with reference to a schematic diagram.

アプリケーションサーバ11からリクエストを受けた仮想データベース装置15は(S201)、移行元データベース13から移行先データベース14へのデータ移行の履歴を記録した移行表26を、リクエストの主キーで検索する(S202)。この移行表26の例を図6(a)(b)に示す。移行表26は、少なくとも、移行作業開始時点における移行元データベース13で用いられている主キーごとに、当該主キーのデータの移行が既にされているか否かを判別可能なフラグを有していることが必要である。このフラグは、移行日時を兼ねていてもよい。その場合、移行がされていなければ、移行日時の項目はnullとなる。また、移行作業開始時点における移行元データベース13を構成するテーブルと同数のテーブルを有していることが好ましい。なお、移行表26では、移行元データベース13に含まれている複数のテーブルをより少ない数のテーブルに統合してもよいが、その場合でも主キーにより移行元データベース13のどのデータに対応するかが判別可能である必要がある。   The virtual database device 15 that has received the request from the application server 11 (S201) searches the migration table 26 in which the history of data migration from the migration source database 13 to the migration destination database 14 is recorded with the primary key of the request (S202). . An example of the migration table 26 is shown in FIGS. The migration table 26 has at least a flag that can determine whether or not the primary key data has already been migrated for each primary key used in the migration source database 13 at the start of the migration operation. It is necessary. This flag may also serve as a transition date and time. In this case, if the migration has not been performed, the item of migration date / time is null. Moreover, it is preferable to have the same number of tables as the tables constituting the migration source database 13 at the start of the migration operation. In the migration table 26, a plurality of tables included in the migration source database 13 may be integrated into a smaller number of tables, but in this case, which data in the migration source database 13 corresponds to the primary key. Must be distinguishable.

移行表26における当該主キーの項目に、移行日時が記録されていたり、あるいは専用の移行フラグが「済み」になっていれば(S203→YES)、当該主キーに紐付けられたデータは移行済みであると判断して移行は行わない(S221〜)。一方、移行日時が記録されていなかったり、専用の移行フラグが未移行のままであったりしたら(S203→NO)、当該主キーに紐付けられたデータは未移行であると判断して(S211〜)、移行の処理を行う。S211以降のフローの概略図が図5(a)であり、S221以降のフローの概略図が図5(b)である。   If the migration date / time is recorded in the item of the primary key in the migration table 26 or the dedicated migration flag is “completed” (S203 → YES), the data associated with the primary key is migrated. It is determined that it has been completed, and no transition is made (S221 to S221). On the other hand, if the migration date / time is not recorded or the dedicated migration flag is not migrated (S203 → NO), it is determined that the data associated with the primary key is not migrated (S211). ~), Perform the migration process. A schematic diagram of the flow after S211 is FIG. 5A, and a schematic diagram of the flow after S221 is FIG. 5B.

上記の移行を行うS211以下の処理について説明する。すなわち、当該主キーに紐付けられた項目のデータが未移行である場合である。仮想データベース装置15の第二入出力部23は、移行元データベース13に対して仮想的なアプリケーションサーバとしてのリクエストを送信する(S211)。第二入出力部23が移行元データベース13から応答を受け取ったら(S212)、第一入出力部22はアプリケーションサーバ11に対して仮想的なデータベースとしての応答を行う(S213)。その応答と前後して、又はそれと並行して、第二入出力部23は移行先データベース14に対して、その応答に対応する内容を当該主キーの項目として対応するテーブルに追加し(S214)、そのテーブルに対応する移行表26の当該主キー項目に移行フラグを立てたり、移行日時を書き込んだりして、当該主キー項目のデータの移行が完了したことを記録する(S215)。以後、移行前の項目についてリクエストが有るたびに同様の処理を繰り返して、移行が進む。   The processing after S211 for performing the above-described migration will be described. That is, this is a case where the data of the item associated with the primary key has not been migrated. The second input / output unit 23 of the virtual database device 15 transmits a request as a virtual application server to the migration source database 13 (S211). When the second input / output unit 23 receives a response from the migration source database 13 (S212), the first input / output unit 22 responds to the application server 11 as a virtual database (S213). Before or after the response, or in parallel therewith, the second input / output unit 23 adds the contents corresponding to the response to the migration destination database 14 to the corresponding table as the main key item (S214). Then, a migration flag is set on the primary key item of the migration table 26 corresponding to the table, or the migration date / time is written to record that the migration of the data of the primary key item is completed (S215). Thereafter, every time there is a request for an item before migration, the same processing is repeated and the migration proceeds.

一方、上記のS221以下の処理について説明する。すなわち、当該主キーに紐付けられた項目のデータが移行済である場合である。仮想データベース装置15の第二入出力部23は、移行先データベース14に対して仮想アプリケーションサーバとしてのリクエストを送信する(S221)。第二入出力部23が移行先データベース14から応答を受け取ったら(S222)、第一入出力部22はアプリケーションサーバ11に対して仮想データベースとしての応答を行う(S223)。すなわち、移行元データベース13に対しては特にリクエストを送信しない。なお図示しないが、S223と前後して、移行表26の当該主キーの項目に設けた更新日時を更新してもよい。これにより、移行先データベース14の更新日時管理が併せて可能となる。   On the other hand, the processing after S221 will be described. That is, the data of the item associated with the primary key has been migrated. The second input / output unit 23 of the virtual database device 15 transmits a request as a virtual application server to the migration destination database 14 (S221). When the second input / output unit 23 receives a response from the migration destination database 14 (S222), the first input / output unit 22 makes a response as a virtual database to the application server 11 (S223). That is, no particular request is transmitted to the migration source database 13. Although not shown, the update date and time provided for the item of the main key in the migration table 26 may be updated around S223. Thereby, the update date management of the migration destination database 14 is also possible.

より具体的には、上記のリクエストに応じた移行処理(S103)は、SQLの命令文によって異なる。そのフロー例を図7に示す。   More specifically, the migration process (S103) according to the above request differs depending on the SQL statement. An example of the flow is shown in FIG.

SQLの命令文がINSERTで追加処理である場合は、そもそも移行元データベース13に該当する項目が無いので、移行表26を確認するまでもなく、移行先データベース14に値を追加する。その上で、移行表26に当該値を追加して、アプリケーションサーバ11に応答する。   If the SQL statement is INSERT and additional processing, there is no corresponding item in the migration source database 13, so a value is added to the migration destination database 14 without checking the migration table 26. Then, the value is added to the migration table 26 and responds to the application server 11.

SQLの命令文がDELETEで削除処理である場合には、主キーで移行表26を検索して、移行フラグが立っているなど既に移行されていると判別できれば、移行先データベース14の値を削除するとともに、移行表26の当該主キーの値も削除して、アプリケーションサーバ11に応答する。当該主キーについて移行表26に移行フラグが立っていないなど、未だに移行されていないと判別されれば、移行元データベース13の値を削除した上で、アプリケーションサーバ11に応答する。   If the SQL statement is DELETE, the migration table 26 is searched using the primary key, and if it is determined that the migration flag has already been established, the migration destination database 14 value is deleted. At the same time, the primary key value in the migration table 26 is also deleted, and the response to the application server 11 is made. If it is determined that the primary key has not been migrated yet, such as the migration flag is not set in the migration table 26, the value of the migration source database 13 is deleted and the application server 11 is responded.

SQLの命令文がSELECTで検索処理である場合には、主キーで移行表26を検索して、移行フラグが立っているなど既に移行されていると判別できれば、移行先データベース14の値を検索して、結果をアプリケーションサーバ11に応答する。当該主キーについて移行表26に移行フラグが立っていないなど未だに移行されていないと判別されれば、移行元データベース13の値を検索して、結果をアプリケーションサーバ11に応答する。さらにその上で、移行先データベース14のテーブルに値を追加して、移行表26のテーブルの当該主キーの項目を移行済みとする。   If the SQL statement is SELECT and search processing, the migration table 26 is searched using the primary key, and if it can be determined that the migration flag has already been set, the value in the migration destination database 14 is retrieved. Then, the result is returned to the application server 11. If it is determined that the primary key has not been migrated yet, such as the migration flag is not set in the migration table 26, the value of the migration source database 13 is searched and the result is returned to the application server 11. Further, a value is added to the table of the migration destination database 14 and the item of the primary key in the table of the migration table 26 is migrated.

SQLの命令文がUPDATEで更新処理である場合には、主キーで移行表26を検索して、移行フラグが立っているなど既に移行されていると判別できれば、移行先データベース14の当該主キーのデータを更新して、結果をアプリケーションサーバ11に応答する。当該主キーについて移行表26に移行フラグが立っていないなど未だに移行されていないと判別されれば、移行元データベース13の当該主キーのデータを更新した上で、移行先データベース14に当該主キーのデータを追加して、移行表26のテーブルの当該主キーの項目を移行済みとして、アプリケーションサーバ11に応答する。ここで、移行元データベース13のデータは更新しなくても利用可能であるが、移行途中でエラーが起きるなどの問題が起きたときに、移行元データベース13に戻せるように、移行元データベース13も更新しておくと望ましい。   If the SQL statement is UPDATE update processing, the migration table 26 is searched with the primary key, and if it can be determined that the migration flag has already been set, for example, the migration key 26 in the migration destination database 14 is found. The data is updated, and the result is returned to the application server 11. If it is determined that the primary key has not been migrated yet, such as the migration flag is not set in the migration table 26 for the primary key, the primary key data in the source database 13 is updated and the primary key is stored in the destination database 14. To the application server 11 with the primary key item in the table of the migration table 26 as migrated. Here, the data in the migration source database 13 can be used without being updated, but the migration source database 13 can also be returned to the migration source database 13 when a problem such as an error occurs during the migration. It is desirable to update.

以上のような手順を一定期間に亘って続けることで、その間に一度でもリクエストがあった項目については、上記図7のような手順により、移行元データベース13に記録されているデータが移行先データベース14へ移行される。また、新規な項目は移行先データベース14に書き込まれる。これにより、大半のデータが移行でき、場合によっては予め定めた期間を待たずして全てのデータについてリクエストがあって全面移行が完了する場合もある。しかし、一部にリクエストされる頻度が少ないデータが含まれて、完全にはデータが移行しきらないこともある。そこで、最後のデータ移行から所定の期間が経過しても、未移行データの移行が進まなくなり、移行作業が事実上収束してしまった時点で、仮想データベース装置15はアプリケーションサーバ11からのリクエストを処理しながら、次の最終移行処理を行うとよい。この最終移行処理のフローを、図8を用いて説明する。   By continuing the procedure as described above for a certain period, for the items that have been requested even during that period, the data recorded in the migration source database 13 is transferred to the migration destination database by the procedure as shown in FIG. 14. Also, new items are written in the migration destination database 14. As a result, most data can be transferred, and in some cases, there is a request for all data without waiting for a predetermined period, and the entire transfer may be completed. However, some data that is requested less frequently is included, and data may not be completely transferred. Therefore, even when a predetermined period has elapsed since the last data migration, when the migration of unmigrated data does not proceed and the migration work has practically converged, the virtual database device 15 sends a request from the application server 11. The next final migration process may be performed while processing. The final migration process flow will be described with reference to FIG.

まず(S104,S300)、移行表26の移行日時を確認する。この移行日時のうち最も新しいものが、所定の期間よりも前であるか否かを判断する。所定の期間とは、例えば1週間や1ヶ月、半年など、データベースの規模や頻度により適宜選択する。この最新移行日時が所定の期間より近ければ、データベースの移行はまだ進行しており、収束前であると判断して(S301→NO)、最終移行処理は行わずにそのままとする(S309)。一方、最新移行日時が所定の期間よりも前であれば(S301→YES)、移行表26のうち、移行フラグが立っていない、或いは移行日時が登録されていないなど、未移行である項目を抽出する(S302)。この作業の代わりに移行元データベース13と移行先データベース14とのデータ比較を行うことでも未移行項目を抽出することができるが、サーバにかかる負荷と時間が膨大になるおそれが高いため、移行表26の検索抽出によって簡便に未移行項目を抽出すると好ましい。抽出の結果、未移行項目が無い,すなわち移行元データベース13の全データが移行済みであれば(S303→NO)、最終移行処理を行う必要なく、後述の切替処理へと移る(S308、S105,S106)。   First (S104, S300), the migration date and time of the migration table 26 is confirmed. It is determined whether or not the latest date / time of the transition is before a predetermined period. The predetermined period is appropriately selected according to the scale and frequency of the database, such as one week, one month, or half a year. If the latest migration date and time is closer than the predetermined period, the database migration is still in progress and it is determined that the database has not yet converged (S301 → NO), and the final migration process is not performed (S309). On the other hand, if the latest migration date / time is earlier than the predetermined period (S301 → YES), items in the migration table 26 that are not migrated, such as the migration flag is not set or the migration date / time is not registered. Extract (S302). In place of this work, it is possible to extract unmigrated items by comparing data between the migration source database 13 and the migration destination database 14, but the migration table is likely to have a huge load and time on the server. It is preferable to easily extract unmigrated items by 26 search extractions. As a result of the extraction, if there is no unmigrated item, that is, if all data in the migration source database 13 has been migrated (S303 → NO), the process proceeds to a switching process described later without performing the final migration process (S308, S105, S106).

未移行項目が残っているならば(S303→YES)、抽出された未移行項目について(S304〜S307)、その時点における移行元データベース13の当該項目のデータを、移行先データベース14に記載し(S305)、移行表26に移行フラグや移行日時を登録する(S306)という工程を順次実行していく。これにより、全未移行項目の移行を完了させる。それらの工程が完了した後、上記の通り(S105)、アプリケーションサーバ11又はロードバランサ12の設定を変更して、アプリケーションサーバ11の参照先アドレスを、仮想データベース装置15から、移行先データベース14を有する新サーバに切り替える(S308)。切替が終わったら、仮想データベース装置15及び移行元データベース13を有する旧サーバはネットワークから切り離してよい(S106)。以上で移行作業は完了する(S107)。   If an unmigrated item remains (S303 → YES), for the extracted unmigrated item (S304 to S307), the data of the item in the source database 13 at that time is written in the destination database 14 ( (S305), the process of registering the migration flag and the migration date and time in the migration table 26 (S306) is sequentially executed. This completes the migration of all unmigrated items. After these steps are completed, as described above (S105), the setting of the application server 11 or the load balancer 12 is changed, and the reference destination address of the application server 11 is transferred from the virtual database device 15 to the migration destination database 14. Switch to a new server (S308). When switching is completed, the old server having the virtual database device 15 and the migration source database 13 may be disconnected from the network (S106). Thus, the migration work is completed (S107).

11,11a,11b アプリケーションサーバ
12 ロードバランサ
13 移行元データベース
14 移行先データベース
15 仮想データベース装置
17 ルーティング装置
22 第一入出力部
23 第二入出力部
24 記憶部
25 制御部
26 移行表
28 変換部
11, 11a, 11b Application server 12 Load balancer 13 Migration source database 14 Migration destination database 15 Virtual database device 17 Routing device 22 First input / output unit 23 Second input / output unit 24 Storage unit 25 Control unit 26 Migration table 28 Conversion unit

Claims (3)

アプリケーションサーバが参照するデータベースを、移行元データベースを有する旧サーバから移行先データベースを有する新サーバに切り替えるデータベースの移行方法であり、
上記アプリケーションサーバの参照先を、上記移行元データベース及び上記移行先データベースの両方にアクセス可能であり、データの移行記録を記録する移行表を有する仮想データベース装置に変更するステップ、
上記仮想データベース装置が、上記アプリケーションサーバからのリクエストに対して、上記移行表を参照して、当該リクエストの主キーに紐付けられたデータが移行済みであるか否かを判断し、
移行されていない主キーへのリクエストであれば、上記移行元データベースへ当該リクエストを送って処理すると共に、当該主キーに紐付くデータを上記移行先データベースへ追加し、かつ、上記移行表に当該主キーについて移行済みである旨を記録し、
移行されている主キーへのリクエストであれば、上記移行先データベースを有するサーバへ当該リクエストを送って処理する、
ことで、リクエストへの応答を繰り返して移行と履歴の記録を行うステップ、
上記アプリケーションサーバの参照先を、上記移行先データベースを有する新サーバに変更するステップ
を行う、データベースの移行方法。
A database migration method for switching a database referred to by an application server from an old server having a migration source database to a new server having a migration destination database,
Changing the reference destination of the application server to a virtual database device having a migration table that is accessible to both the migration source database and the migration destination database and records data migration records;
For the request from the application server, the virtual database device refers to the migration table to determine whether the data associated with the primary key of the request has been migrated,
If the request is for a primary key that has not been migrated, the request is sent to the source database for processing, the data associated with the primary key is added to the destination database, and Record that the primary key has been migrated,
If the request is for a primary key that has been transferred, send the request to the server that has the destination database and process it.
Steps to repeat the response to the request and record the transition and history,
A database migration method, comprising: changing a reference destination of the application server to a new server having the migration destination database.
上記の移行と履歴の記録を行うステップの後に、
未移行項目のデータを抽出し、一括して上記移行元データベースから上記移行先データベースへ移行させるステップ、
を行う、請求項1に記載のデータベースの移行方法。
After the above transition and history recording steps,
Extracting data of unmigrated items and transferring them from the source database to the destination database in a batch;
The database migration method according to claim 1, wherein:
アプリケーションサーバからの要求に対して、仮想的なデータベースサーバとして動作する第一入出力部と、
上記要求を処理するデータベースのデータについて、移行元データベースから移行先データベースの移行の有無を記録する移行表と、
上記移行表において未移行であるデータについて、上記移行元データベースに対して上記要求を送信する仮想的なアプリケーションサーバとして動作するとともに、その要求に対する応答にあたるデータを上記移行先データベースに記録する第二入出力部とを有する
仮想データベース装置。
In response to a request from the application server, a first input / output unit that operates as a virtual database server;
A migration table that records the presence or absence of migration from the migration source database to the migration destination database for the database data that processes the request,
For data that has not been migrated in the migration table, a second application that operates as a virtual application server that sends the request to the migration source database and records data that is a response to the request in the migration destination database. A virtual database device having an output unit.
JP2013099335A 2013-05-09 2013-05-09 Database migration method Active JP6052887B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013099335A JP6052887B2 (en) 2013-05-09 2013-05-09 Database migration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013099335A JP6052887B2 (en) 2013-05-09 2013-05-09 Database migration method

Publications (2)

Publication Number Publication Date
JP2014219868A true JP2014219868A (en) 2014-11-20
JP6052887B2 JP6052887B2 (en) 2016-12-27

Family

ID=51938245

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013099335A Active JP6052887B2 (en) 2013-05-09 2013-05-09 Database migration method

Country Status (1)

Country Link
JP (1) JP6052887B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107402981A (en) * 2017-07-07 2017-11-28 国网浙江省电力公司信息通信分公司 A kind of data increment processing method and system based on distributed offline database
CN108536822A (en) * 2018-04-09 2018-09-14 平安普惠企业管理有限公司 Data migration method, device, system and storage medium
CN113254421A (en) * 2021-05-31 2021-08-13 重庆富民银行股份有限公司 Database double-writing based cross-library account migration method
CN113836154A (en) * 2018-06-21 2021-12-24 创新先进技术有限公司 Database switching method and device
CN113836154B (en) * 2018-06-21 2024-05-03 创新先进技术有限公司 Database switching method and device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324420A (en) * 1992-05-22 1993-12-07 Kobe Steel Ltd Conversion device for data base
JPH10232816A (en) * 1997-02-21 1998-09-02 Pfu Ltd Database supporting device
JP2001331355A (en) * 2000-05-18 2001-11-30 Hitachi Ltd Computer system
JP2005115438A (en) * 2003-10-03 2005-04-28 Mitsubishi Electric Corp Data management apparatus
US20050091240A1 (en) * 1999-06-29 2005-04-28 Microsoft Corporation Dynamic synchronization of tables

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324420A (en) * 1992-05-22 1993-12-07 Kobe Steel Ltd Conversion device for data base
JPH10232816A (en) * 1997-02-21 1998-09-02 Pfu Ltd Database supporting device
US20050091240A1 (en) * 1999-06-29 2005-04-28 Microsoft Corporation Dynamic synchronization of tables
JP2001331355A (en) * 2000-05-18 2001-11-30 Hitachi Ltd Computer system
JP2005115438A (en) * 2003-10-03 2005-04-28 Mitsubishi Electric Corp Data management apparatus

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107402981A (en) * 2017-07-07 2017-11-28 国网浙江省电力公司信息通信分公司 A kind of data increment processing method and system based on distributed offline database
CN108536822A (en) * 2018-04-09 2018-09-14 平安普惠企业管理有限公司 Data migration method, device, system and storage medium
CN113836154A (en) * 2018-06-21 2021-12-24 创新先进技术有限公司 Database switching method and device
CN113836154B (en) * 2018-06-21 2024-05-03 创新先进技术有限公司 Database switching method and device
CN113254421A (en) * 2021-05-31 2021-08-13 重庆富民银行股份有限公司 Database double-writing based cross-library account migration method

Also Published As

Publication number Publication date
JP6052887B2 (en) 2016-12-27

Similar Documents

Publication Publication Date Title
US10754835B2 (en) High-efficiency deduplication module of a database-management system
CN102667772B (en) File level hierarchical storage management system, method, and apparatus
JP5337916B1 (en) Information processing system
US8010760B2 (en) Storage system performing virtual volume backup and method thereof
US20090240791A1 (en) Update management method and update management unit
EP1507206A2 (en) Storage operation management program and method and storage management computer
CN105027068A (en) Performing copies in a storage system
CN111356996A (en) Versioning verification of data transfers between heterogeneous data stores
CN103460197A (en) Computer system, file management method and metadata server
JP2007241486A (en) Memory system
WO2016192496A1 (en) Data migration processing method and device
JP5464269B2 (en) File storage device, data storage method, and data storage program
US20190310922A1 (en) Multi-replica data restoration method and apparatus
JP6052887B2 (en) Database migration method
CN107153680B (en) Method and system for on-line node expansion of distributed memory database
CN104517067A (en) Method, device and system for data access
CN111400273B (en) Database capacity expansion method and device, electronic equipment and machine-readable storage medium
CN104182296A (en) Data processing system, data processing apparatus, and storage medium
CN112749147A (en) Method and device for merging and migrating data tables in database
US20190332484A1 (en) Method, device and program product for reducing data recovery time of storage system
JP7007565B2 (en) Information processing equipment and information processing programs
US9053100B1 (en) Systems and methods for compressing database objects
EP4030309A1 (en) Management computer and data management method by management computer
CN111770158B (en) Cloud platform recovery method and device, electronic equipment and computer readable storage medium
CN111680069B (en) Database access method and device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150623

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160510

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20160629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160705

RD15 Notification of revocation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7435

Effective date: 20160705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160705

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: 20161122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161124

R150 Certificate of patent or registration of utility model

Ref document number: 6052887

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250