JP6674272B2 - 情報処理方法および制御方法 - Google Patents

情報処理方法および制御方法 Download PDF

Info

Publication number
JP6674272B2
JP6674272B2 JP2016024266A JP2016024266A JP6674272B2 JP 6674272 B2 JP6674272 B2 JP 6674272B2 JP 2016024266 A JP2016024266 A JP 2016024266A JP 2016024266 A JP2016024266 A JP 2016024266A JP 6674272 B2 JP6674272 B2 JP 6674272B2
Authority
JP
Japan
Prior art keywords
load balancer
server
information processing
external system
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.)
Active
Application number
JP2016024266A
Other languages
English (en)
Other versions
JP2017142698A (ja
Inventor
裕一 石國
裕一 石國
裕通 山田
裕通 山田
和晃 西坂
和晃 西坂
広貴 堀江
広貴 堀江
功一郎 成合
功一郎 成合
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2016024266A priority Critical patent/JP6674272B2/ja
Publication of JP2017142698A publication Critical patent/JP2017142698A/ja
Application granted granted Critical
Publication of JP6674272B2 publication Critical patent/JP6674272B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理方法および制御方法に関するものである。
計算機システムにおいて、現システムが古くなり、新システムが導入され、現システムから新システムへ移行されることは広く行われていることである。このような新システムへの移行では、現システムから新システムへの例えばデータベースなどの移行と、現システムから新システムへのアクセスの変更が、移行作業の大きな負担となる。そして、現システムから新システムへの切り替え時に、現システムの停止時間が問題となる場合もある。
2つのシステム間で処理を切り替える技術に関して、特許文献1には「正系システムの正常運転時に、正系ロードバランサ12の転送先を、プライマリに正系WEB/APサーバ14が設定された平常時用から、プライマリに架空のアドレスが設定され、セカンダリに副系ロードバランサ22が設定された副系移行時用に切り替え、プライマリがタイムアウトするまでの間に、正系DBサーバ16→副系DBサーバ26間のレプリケーションを完了させると共に、レプリケーション方向の反転設定を完了させる。タイムアウト後、クライアント端末40からのリクエストは、正系ロードバランサ12→副系ロードバランサ22→副系WEB/APサーバ24に転送され、副系WEB/APサーバ24による処理結果は、副系DBサーバ26→正系DBサーバ16の順に反映される」ことが開示されている。
特開2015−108930号公報
特許文献1に開示された技術を用いれば、2つのサーバ間でDB(データベース)のデータを転送し、処理を切り替えることは可能である。しかしながら、特許文献1には移行のための切り替えの技術は見当たらない。
そこで、本発明の目的は、移行に適したシステムの切り替えを提供することにある。
本発明に係る代表的な情報処理方法は、外部システムと通信して情報処理する第1のシステムと第2のシステムの情報処理方法において、前記第1のシステムは、情報処理を行う複数の第1のサーバと、前記外部システムから受信した通信を転送する第1のロードバランサと、前記複数の第1のサーバが情報処理の対象とするデータの格納された第1の記憶装置とを備え、前記第2のシステムは、情報処理を行う複数の第2のサーバと、前記外部システムから受信した通信を転送する第2のロードバランサと、前記複数の第2のサーバが情報処理の対象とするデータの格納された第2の記憶装置とを備え、前記第1のロードバランサは前記外部システムから受信した通信を前記第1のサーバへ転送し、前記第1のサーバは前記第1の記憶装置へアクセスして情報処理し、第1の条件を満たすと判定した場合、前記第2のロードバランサは前記外部システムから受信した通信を前記第1のロードバランサへ転送し、前記第1のロードバランサは前記外部システムから受信した通信を前記第1のサーバへ転送し、前記第1のサーバは前記第1の記憶装置へアクセスして情報処理し、前記第1の記憶装置に格納されたデータを前記第2の記憶装置に反映し、第2の条件を満たすと判定した場合、前記第2のロードバランサは前記外部システムから受信した通信を前記第2のサーバへ転送し、前記第2のサーバは前記第2の記憶装置へアクセスして情報処理することを特徴とする。
本発明によれば、移行に適したシステムの切り替えを提供することが可能になる。
現システムと新システムの接続の例を示す図である。 移行処理の例を示すフロー図である。 移行前のアクセスの例を示す図である。 DBデータの移行と移行中のアクセスの例を示す図である。 移行後のアクセスの例を示す図である。 移行中の転送先情報の例を示す図である。 移行後の転送先情報の例を示す図である。 移行中のDB毎の転送先情報の例を示す図である。 移行後のDB毎の転送先情報の例を示す図である。 障害処理の例を示すフロー図である。 2段階の移行処理の例を示すフロー図である。 中継機器を用いた現システムと新システムの接続の例を示す図である。
以下、図面を用いて、本発明の好ましい実施例を説明する。
図1は、現システム110と新システム120の接続の例を示す図である。外部システム130(外部システム130a、130b、130cを特に区別することなく指し示す場合、外部システム130と記載し、他の符号についても同様に記載する)は、現システム110のデータベース(以下、DBと略す)へアクセスするシステムである。
例えば、外部システム130aはDB参照系のシステムであり、外部システム130bはDB更新系のシステムであり、外部システム130cは現システム110の単にクライアントとなるシステムであるが、これらに限定されるものではなく、外部システム130の数も3に限定されるものではない。また、外部システム130は現システム110に対向するシステムであるから対向システムと称されることもある。
ネットワーク151はバックボーンネットワークであり、複数の外部システム130間を接続するとともに、外部システム130と現システム110を接続する。現システム110は現在稼働している移行前のシステムであり、外部システム130からDBの参照や更新の要求を処理する。ロードバランサ111は外部システム130からの要求を複数のサーバ112へ分散する。
サーバ112は、現DB113を用いて、ロードバランサ111により分散された要求を処理するサーバである。現DB113はDBを構成するデータであり、DBを管理するための情報が含まれてもよく、現DB113はそのようなデータと情報が格納される記憶装置でもよい。この記憶装置はハードディスクドライブであってもよいし、ソリッドステートドライブであってもよい。なお、サーバ112はDB以外の処理を実行してもよいし、そのDB以外の処理が外部システム130からの要求に基づく処理であってもよい。
ネットワーク152はO&M(Operation and Maintenance)ネットワークであり、図示を省略した端末と現システム110を接続し、ロードバランサ111とサーバ112の設定情報と状態情報を通信可能にする。また、DBのデータが通信可能であってもよい。なお、ネットワーク152は存在しなくてもよい。また、ネットワーク151、152はパケットネットワークでもよい。
以上で説明した構成へ新システム120と管理装置140が追加され、現システム110が新システム120へ移行される。ここで、ネットワーク152が存在しない場合は、ネットワーク152と管理装置140が追加されてもよいし、ネットワーク152が既存の場合は、ネットワーク152へ既に接続されているコンピュータが管理装置140となってもよい。
基本的には、ロードバランサ121はロードバランサ111に相当し、サーバ122はサーバ112に相当し、新DB123は現DB113に相当するが、これらのそれぞれは同じ機種であってもよいし、異なる機種であってもよい。ただし、新システム120のこれらの構成の方が、現システム110のこれらの構成よりも、高性能であったり、消費電力が少なかったりする方が好ましい。
新システム120はネットワーク151に接続され、外部システム130と通信可能となるとともに、現システム110とも通信可能になる。また、新システム120は、ネットワーク152経由で現システム110と通信可能となってもよい。以下で説明する現システム110と新システム120との間の移行や転送のための通信は、ネットワーク151、152のいずれが使用されてもよい。さらに、現システム110と新システム120とは移行専用のネットワークで接続されてもよい。
ロードバランサ121は、サーバ122へ外部システム130からの要求を分散する以外に、ロードバランサ111をサーバ122と同じ接続対象として、ロードバランサ111へ要求やデータを転送する。ロードバランサ121が、外部システム130、サーバ122、ロードバランサ111の中のどれとどれとの間で通信を転送するかは、ロードバランサ121に設定される。
サーバ122は、ロードバランサ121から分散された要求を処理する以外に、移行ツールのプログラムがインストールされ、サーバ112と通信して現DB113から新DB123へデータベースを移行する。移行ツールのプログラムの実行は、管理装置によりネットワーク152経由で制御される。
管理装置140は、プロセッサ、メモリ、ネットワークインタフェース、ユーザインタフェースを備えたコンピュータであり、管理装置140へインストールされたプログラムにしたがって、現システム110と新システム120を制御する。また、ネットワーク152がネットワーク151を構成するネットワークスイッチやネットワークルータ、および外部システム130などの機器にも接続され、接続されたこれらの機器を制御してもよい。ユーザインタフェースは、キーボード、マウス、ディスプレイであってもよい。
図2は、管理装置140の移行処理の例を示すフロー図である。このフロー図は管理装置140にインストールされたプログラムのフローチャートであってもよい。図2に示した以下で説明する3つのステップにおけるDBへのアクセスの状態の例を図4〜6に示し、それぞれのステップで説明する。
まず、図3を用いて、DBを移行する前すなわちステップ201の前のDBへのアクセスを説明する。図3は現システム110のDBへのアクセスの例を示す図である。この例では、新システム120と管理装置140がネットワーク151とネットワーク152へ物理的には接続されているが、ネットワーク151を経由した動作はない。
図3に示した太い矢印のように、外部システム130はネットワーク151経由で現システム110と通信し、ロードバランサ111は外部システム130からの要求を複数のサーバ112へ負荷分散する。サーバ112は現DB113へアクセスし、必要に応じて、ロードバランサ111とネットワーク151を介して、外部システム130へデータを応答する。
図2に示したステップ201において、管理装置140がネットワーク152経由でサーバ122にインストールされた移行ツールのプログラムを起動することにより、DBのデータの移行が開始される。この起動は、オペレータによる管理装置140のキーボードかマウスの操作を受け付けて、サーバ122へ起動のためのコマンドを送ってもよいし、オペレータが管理装置140へ起動時刻を予め設定したことを受け付けて、管理装置140が内蔵の時計と起動時刻が一致したことを検出し、サーバ122へ起動のためのコマンドを送ってもよい。
サーバ122による移行ツールのプログラムの実行は、以下で説明する管理装置140によるステップ202の実行などとは関わりなく、進行する。ここでの移行ツールは、移行ツールのプログラムが起動される前に現DB113へ格納されたデータと、移行ツールのプログラムが起動された後に現DB113で更新されたデータとを、DBとして矛盾なく新DB123へ移行するプログラムである。
ステップ202において、外部システム130から現システム110への通信を新システム120への通信に変更する。この変更のために、外部システムの管理装置(図示せず)は、外部システム130における現システム110を宛先とする情報を、新システム120を宛先とする情報に変更してもよいし、ネットワーク151を構成するルータのルーティングテーブルを変更してもよいし、それぞれの変更を指示するコマンドを送ってもよい。
管理装置140によるステップ202の実行は、管理装置140がステップ201を実行した後に直ちに行われてもよい。また、DBの移行の進捗とは関係がないため、ステップ201の実行後でありステップ205の開始までに、それぞれの外部システム130により任意のタイミングでステップ202が実行されてもよい。すなわち、ステップ201とステップ205との間は、現システム130に送信する外部システムと新システム120に送信する外部システムとが共存してもよい。
ステップ203において管理装置140は、ロードバランサ121が外部システム130から受信した通信をロードバランサ111へ転送するように制御する。この制御のために、管理装置140はネットワーク152経由でロードバランサ121に転送先の情報を設定してもよい。
図6Aはロードバランサ111が参照する転送先情報の例を示す図である。図6Aに示した情報はロードバランサ111内のメモリに記憶され、管理装置140からの情報あるいはコマンドによって更新されてもよい。図6Aに示した転送先の「現システムロードバランサ」はロードバランサ111のアドレスであり、「新システムサーバA」はサーバ122aのアドレス、「新システムサーバB」はサーバ122bのアドレス、「新システムサーバC」はサーバ122cのアドレスであり、これらのアドレスを宛先として転送する。なお、これらのアドレスは、実際はIPアドレスなどの数値であってもよい。
図6Aに示した状態の「enable」は転送を可能にするフラグであり、「disable」は転送を禁止するフラグである。このため、図6Aの例では、ロードバランサ111への転送が可能であり、サーバ122a、122b、122cへの転送が禁止されていることを示す。
図6Aに示した転送先情報は、ステップ202より前あるいはステップ201より前に設定されてもよい。この設定により、ステップ202の実行に応じてロードバランサ121が受信するようになった通信を、ステップ203でロードバランサ121が転送するようになってもよい。
図4は、新システム120を使用したDBの移行とDBへのアクセスの例を示す図であり、これらの移行とアクセスはステップ203の後の状態である。図4に示した太い矢印のように、外部システム130はネットワーク151経由で新システム120へ送信し、ロードバランサ121は外部システム130からの要求をロードバランサ111へ転送し、ロードバランサ111は外部システム130からの要求を複数のサーバ112へ負荷分散する。
サーバ112は現DB113へアクセスし、必要に応じて、ロードバランサ111とネットワーク151を介して、外部システム130へデータを応答する。なお、ロードバランサ111はロードバランサ121経由で外部システム130へデータを応答してもよい。
外部システム130によるDBへのアクセスとは別に、サーバ122の移行ツールのプログラムは、サーバ112へアクセスし、現DB113のデータを新DB123へ移行する。この移行の状態は管理装置140により監視されてもよい。このために、管理装置140はネットワーク152経由でサーバ112から現DB113の状態情報とサーバ122から新DB123の状態情報の両方を取得してもよいし、サーバ122から移行の進捗情報を取得してもよい。
図2に示したステップ204において、管理装置140は現DB113と新DB123のデータが一致したかを判定する。ステップ204において管理装置140は、一致していないと判定した場合、移行により一致するまで待機するためにステップ204へ戻り、一致していると判定した場合、新DB123が使用可能な状態となったため、ステップ205へ進んでロードバランサ121の転送を終了するように制御する。なお、ステップ204における一致の判定は、一致したときに発生する別の情報で判定してもよい。
この制御のために、管理装置140はネットワーク152経由でロードバランサ121に転送先の情報を設定してもよく、図6Aに示した転送先が「現システムロードバランサ」に対応する状態の「enable」を「disable」に設定してもよい。その後、図6Bに示すように転送先が「新システムサーバA」「新システムサーバB」「新システムサーバC」のそれぞれに対応する状態の「disable」を「enable」に設定してもよい。
ロードバランサ121が転送しないと、サーバ112は要求を受けないため、既に要求を受けた処理を終了し、現DB113を更新しなくなる。これにより、現DB113からの移行は実質的に発生しなくなるが、ステップ207のために、ステップ206にて管理装置140は移行の処理を終了するようにサーバ122を制御する。この制御のために、管理装置140はサーバ122に実行状態になっている移行ツールのプログラムを停止するように、ネットワーク152経由で停止のコマンドを送ってもよい。
なお、現DB113と新DB123のデータが一致した後、直ちにステップ205を実行せず、外部システム130の要求により現DB113が更新され、一致しなくなっても、その後の移行により一致するようになる。直ちにステップ205を実行する必要がないため、ステップ204では一致するかの判定以外に、オペレータによる管理装置のキーボードかマウスの操作内容を判定してもよい。
ロードバランサ121がロードバランサ111への転送を終了し、複数のサーバ122へ要求を分散すると、新システム120がDBとして稼働開始したことになる。要求に応じて新DB123は更新されるため、現DB113と新DB123のデータは一致しなくなる。
ステップ207で管理装置140は、新DB123の更新により発生した差分データで現DB113も更新する処理を開始し、現DB113が新DB123と一致するように制御する。この制御のために、管理装置140はネットワーク152経由でサーバ122の移行ツールのプログラムに含まれる新DB123から現DB113への差分データの転送と更新の処理を起動するコマンドを送ってもよい。また、この処理のために移行ツールとは別のプログラムがサーバ122へインストールされていてもよい。
図5は、移行後の新システム120の新DB123へのアクセスの例を示す図である。ステップ207の後では、図5に示した太い矢印のように、新システム120は外部システム130からアクセスされ、サーバ122からサーバ112へ差分データが転送されて現DB113に反映する。
以上の処理により、現DB113から新DB123へデータを移行し、現DB113と新DB123のデータを一致した状態とする。なお、移行ツールのプログラムは、サーバ112にインストールされてもよいし、サーバ112、122の両方にインストールされて移行ツール同士が通信するものでもよい。
次に、図5に示したように、新システム120が外部システム130からの要求を処理し、現DB113と新DB123のデータが一致した状態において、新システム120に障害の発生した場合の処理について説明する。稼働実績のあるシステムに対して、一般に新しいシステムは稼働開始してからしばらくの期間に障害の発生する可能性があるため、現システム110を残しておくことが好ましい。
新システム120のロードバランサ121やサーバ122は、一般的なロードバランサやサーバと同様に障害を検出して、ネットワーク152経由で管理装置140へ障害の検出を通知する。ロードバランサ121とサーバ122と新DB123とが相互に監視してもよい。あるいは、管理装置140がロードバランサ121とサーバ122と新DB123とのそれぞれをネットワーク152経由で監視してもよい。
図7は、管理装置140の障害処理の例を示すフロー図である。このフロー図は管理装置140にインストールされたプログラムのフローチャートであってもよい。管理装置140は障害の通知を受信する、あるいは監視により障害を検出すると、ステップ701から処理を開始する。まず、通知あるいは検出した障害の情報に基づき、ステップ702で管理装置140はロードバランサ121が正常であるかを判定する。
ステップ702でロードバランサ121が正常であると判定すると、管理装置140はステップ703へ進み、ロードバランサ121からロードバランサ111へ要求を転送するように制御する。この制御はステップ203と同じである。また、ロードバランサ121が正常でないと判定すると、管理装置140はステップ704へ進み、外部システム130の通信先を現システム110へ変更するように制御する。
このステップ704はステップ202と変更先が異なり、外部システム130から新システム120への通信を現システム110への通信に変更する。この変更のために、ネットワーク152やネットワーク151などを介して管理装置140は、外部システム130における新システム120を宛先とする情報を、現システム110を宛先とする情報に変更してもよいし、ネットワーク151を構成するルータのルーティングテーブルを変更してもよい。
ステップ705で管理装置140は、サーバ122と新DB123が正常であるかを判定する。ステップ705でサーバ122と新DB123が正常であると判定すると、ステップ207で開始した新DB123から現DB113への差分データの転送が終了するように、ステップ706で管理装置140は制御する。この制御のために管理装置140は、ステップ207で起動したプログラムを停止するコマンドを送ってもよい。
ステップ707で管理装置140は、現DB113から新DB123への差分データの転送による移行を開始するように、サーバ122を制御する。この制御のために、管理装置140はネットワーク152経由でサーバ122の移行ツールのプログラムを起動するコマンドを送ってもよい。これにより、新システム120が障害から復帰すると、移行が完了した状態になっている。
ステップ705ではサーバ122と新DB123が正常であるかの判定以外に、オペレータによる管理装置のキーボードかマウスの操作内容を判定してもよい。現DB113のデータを後で移行することも可能であるから、新システム120の障害からの復帰のために、新システム120全体を停止する必要のある場合など、必ずしもステップ706、707を実行する必要はない。
ステップ705でサーバ122と新DB123のいずれか一方あるいは両方が正常ではないと判定した場合、ステップ207で開始された差分データの転送は行われないはずであるが、現DB113へ何らかの影響を与える可能性がある場合、ステップ706を実行してもよい。また、障害によりサーバ122を制御できない場合、新DB123から現DB113へ差分データを転送するための経路をネットワーク151とネットワーク152の中で遮断するように制御してもよい。
なお、管理装置140は障害を検出せずに、オペレータによる管理装置140のキーボードかマウスの操作を受け付けて、その操作内容に応じてステップ701からの処理を開始したり、ステップ702の判定をしたりしてもよい。
また、新システム120の動作が事前に十分検証されているのであれば、図7を用いて説明した処理を省略してもよい。そして、図2に示したステップ207の処理を省略し、ステップ207の代わりに管理装置140は現システム110を停止するように制御してもよい。この制御のために、管理装置140はネットワーク152経由でロードバランサ111とサーバ112へ停止のためのコマンドを送ってもよい。
また、ステップ207は実行された後で、オペレータによる管理装置140のキーボードかマウスの操作を受け付けて、管理装置140は、新DB123から現DB113への差分データの転送を終了するためのコマンドをサーバ122へ送り、ロードバランサ111とサーバ112へ処理を停止するためのコマンドを送ってもよい。
以上の説明では、現DB113のデータを新DB123へ移行する例を説明したが、例えば現DB113が複数のDBから構成され、複数のDBの中の一部のDBの移行であってもよい。この移行のために、外部システム130からの通信はどのDBのための通信であるかの情報を含み、その情報をロードバランサ121は判定し、転送先を決定してもよい。
そして、図6Aを用いて説明した転送情報の代わりに図6Cに示す転送先情報をロードバランサ121は参照してもよい。図6Cに示した例では、現DB113は「DB−A」と「DB−B」から構成され、現DB113からデータの移行される新DB123も「DB−A」と「DB−B」から構成でき、図6Aに示した転送先情報に対応する。
ロードバランサ121は、外部システム130からの通信に含まれる情報に基づき、通信が「DB−A」のための通信であるか、「DB−B」のための通信であるかを判定し、その通信に対応する状態が「enable」の転送先へ転送する。図6Dに示した例は、「DB−A」のみが、図6Bに示した転送先情報と同じである。ここで、「DB−A」と「DB−B」はそれぞれが別のサービスに対応し、サービス毎に「enable」と「disable」が設定されてもよい。
以上で説明したように、現DB113のデータを新DB123へ移行し、現システム110から新システム120へ切り替えることができる。現DB113のデータを新DB123へ移行する間も、外部システム130は現DB113へアクセスすることが可能であり、このアクセスは新システム120で転送させることにより、外部システム130の通信先の変更を移行完了までの任意のタイミングで実施することができ、移行の作業の自由度が高くなる。
また、ロードバランサ121の1つの転送先として現システム110を設定できるため、外部システム130からの要求を新システム120から現システム110へ転送するのは容易である。そして、新システム120のサーバ122による処理を開始する場合も、ロードバランサ121の転送先の設定により、外部システム130からの要求の転送先を変更できるため、現システム110から新システム120への切り替え時間を短縮できる。
さらに、新システム120で処理を開始した後も現システム110へ差分データを反映させることにより、新システム120での移行後の障害に対して現システム110へ戻すことも可能である。
実施例1では、現DB113から新DB123へのデータの移行(図2のステップ201)において、外部システム130からの要求による現DB113の更新により発生した差分データを含めて移行する例を説明したが、実施例2では、初回の移行として特定の時点あるいは特定の範囲のデータ全件を現DB113から新DB123へ移行し、その初回の移行後に現DB113の更新により発生した差分データをさらに移行して新DB123へ反映させる例を説明する。
図8は管理装置140の2段階の移行処理の例を示すフロー図である。このフロー図は管理装置140にインストールされたプログラムのフローチャートであってもよい。まず、DBを移行する前すなわちステップ801およびステップ811の前のDBへのアクセスは、既に図3を用いて説明したとおりである。
図8の例では、ステップ801〜808の処理のフローと、ステップ811〜816の処理のフローに分けて説明するが、このようにフローを分けることに限定されるものではない。分けられたフローの処理の一部が他方のフローにあってもよいし、分けられたフローの一部が統合されてもよい。処理の2つのフローは、それぞれが別のプロセスなどであってもよい。
ステップ801において管理装置140は、ネットワーク152経由でサーバ122にインストールされた移行ツールのプログラムを起動することにより、DBのデータを移行する。この起動は、オペレータによる管理装置140のキーボードかマウスの操作を受け付けて、サーバ122へ起動のためのコマンドを送ってもよいし、オペレータが管理装置140へ起動時刻を予め設定したことを受け付けて、管理装置140が内蔵の時計と起動時刻が一致したことを検出し、サーバ122へ起動のためのコマンドを送ってもよい。
ステップ801における起動時あるいは起動前に、現DB113の中で移行されるDBの範囲が設定されてもよい。移行されるDBの範囲は、例えばDBの静止点までの範囲やDBのロールバックされるチェックポイントまでの範囲などであってもよく、その後の現DB113の更新により発生する差分データを反映させてもDBの整合性を維持できる範囲のデータ全件であってもよい。そして、移行ツールのプログラムの実行により、設定された範囲のデータ全件が移行され、移行が完了する。
ステップ802において管理装置140は、差分移行を開始するか判定する。この判定のため、オペレータによる管理装置140のキーボードかマウスの操作を受け付けて、その操作内容を判定してもよいし、オペレータが管理装置140へ開始時刻を予め設定したことを受け付けて、管理装置140が内蔵の時計と開始時刻が一致したことを検出してもよい。これにより、定期的に差分移行を開始してもよい。
ステップ802において管理装置140は、差分移行を開始しないと判定すると、ステップ802の判定を繰り返す。また、ステップ802において管理装置140は、差分移行を開始すると判定すると、ステップ803へ進み、ネットワーク152経由でサーバ122の移行ツールへ差分移行開始のコマンドを送り、移行ツールはそれ以前の移行後に現DB113の更新により発生した差分データを移行して新DB123へ反映させる。
ステップ803の移行が完了し、現DB113と新DB123とが一致すると、ステップ804において管理装置140は、現システム110から新システム120へ切り替えるかを判定する。この判定のため、オペレータによる管理装置140のキーボードかマウスの操作を受け付けて、その操作内容を判定してもよい。ステップ804において管理装置140は、切り替えないと判定すると、続けて外部システム130からの要求により現DB113の更新される可能性があるため、ステップ802へ戻る。
ステップ804において管理装置140は、切り替えると判定するとステップ805へ進む。ここで、管理装置140のステップ811からの処理について説明する。ステップ803の実行までの任意のタイミングで、管理装置140はステップ811からの処理を開始する。この開始のため、オペレータによる管理装置140のキーボードかマウスの操作を受け付けて、その操作内容に基づいて処理を開始してもよい。
ステップ811、812のそれぞれは、既に説明したステップ202、203と同じ処理内容である。このため、ステップ811、812が実行されるか否かに関わらず、外部システム130は現DB113を更新したり参照したりすることが可能であり、ステップ811、812はステップ803の実行までの任意のタイミングで実行されればよい。また、ステップ801あるいはステップ803による移行実行中に、ステップ812が終了した後は、図4を用いて説明したとおりのアクセスである。
ステップ805も含めて説明すると、ステップ805において管理装置140は、ロードバランサ121の転送を終了するように、ロードバランサ121の転送を開始させた処理へ通知し、ステップ813において管理装置140は、転送終了が指示されたと判定すると、ステップ814へ進み、ロードバランサ121の転送を終了するように制御する。
この制御のために、管理装置140はネットワーク152経由でロードバランサ121に転送先の情報を設定してもよい。例えば、図6Aに示した転送先が「現システムロードバランサ」に対応する状態の「enable」を「disable」に設定し、すべての状態を「disable」としてもよい。これにより、外部システム130との通信が遮断され、DBを静止化することができる。
ステップ806において管理装置140は、ステップ803を最後に実行して差分データを移行してから、ステップ814を実行してロードバランサ121の転送を終了されてまでに、現システム110が受け取った要求などをサーバ112が処理し、現DB113を更新するように制御する。なお、管理装置140からの制御がなくても、受け取った要求などをサーバ112が処理するのであれば、この制御は省略してもよいが、受け取った要求などの処理がすべて完了したことを確認する。
この確認のために、管理装置140はネットワーク152経由でサーバ112の処理状況、特に処理待ちの有無と処理中の有無の情報を取得して、処理がすべて完了したことを判定してから、ステップ807へ進んでもよい。ステップ807において管理装置140は、ステップ806の更新で発生した差分データを新DB123へ移行して反映するように移行ツールを制御する。
ステップ807はステップ803と同じ処理内容であり、差分データの移行が終了すると、ロードバランサ121のロードバランサ111への転送が終了された処理へ通知し、ステップ815において差分データの移行が終了したと判定し、ステップ816へ進み、ロードバランサ121からサーバ122へ負荷分散するように制御する。
この制御のために、管理装置140はネットワーク152経由でロードバランサ121に転送先の情報を設定してもよく、図6Bに示すように転送先が「新システムサーバA」「新システムサーバB」「新システムサーバC」のそれぞれに対応する状態の「disable」を「enable」に設定してもよい。この制御により、サーバ122の新DB123に対する処理が開始され、新システム120が稼働して、外部システム130からの要求に応じて新DB123が更新される。
また、この更新により新DB123には差分データが発生する。管理装置140はステップ207と同じ処理内容のステップ808により、新DB123から差分データを転送して現DB113へ反映するように制御する。ステップ807からステップ808へ進む前に、管理装置140は移行ツールのプログラムを一時的に停止させ、新DB123の整合性を確保してもよい。以上の処理により、図5を用いて説明したとおりとなる。
以上で説明したように、初回の移行後に差分データの移行を繰り返すことができるため、現システム110から新システム120への切り替えのタイミングの自由度が高くなる。また、切り替えまでの任意のタイミングで外部システム130の通信先の変更を実施することができ、移行の作業の自由度がさらに高くなる。
また、切り替え時にロードバランサ121からの転送を終了し、終了するまでに転送された要求に対して現DB113を更新し、転送の無い状態で、その更新により発生した差分データも新DB123へ反映できるため、安定した状態を反映することが可能である。
実施例1、2では、ロードバランサ121による新システム120から現システム110への転送の例を説明したが、実施例3では、ロードバランサ121の代わりに中継機器921が新システム120から現システム110へ転送する例を説明する。図9は中継機器を用いた現システム110と新システム120の接続の例を示す図である。図1を用いて説明したものは同じ符号を付して説明を省略する
中継機器911、921は、ネットワークパケットを中継するネットワーク機器であり、例えばルータなどである。ロードバランサ111、121は負荷分散するためにそれぞれ2以上のサーバ112、122が接続されるが、中継機器911、921のそれぞれは1以上のサーバ112、122が接続される。
また、ロードバランサ111、121はそれぞれネットワークアドレスを有しても有さなくてもよいが、中継機器911、921のそれぞれはネットワークアドレスを有さず、サーバ112、122のネットワークアドレスにしたがってネットワークパケットを中継する。
新システム120が転送に使用されない場合、例えば、サーバ112のネットワークアドレスを宛先とするネットワークパケットを、ネットワーク151を構成するネットワーク機器のルーティングテーブルは現システム110の中継機器911へルーティングするように設定され、中継機器911のルーティングテーブルはサーバ112へルーティングするように設定される。
そして、外部システム130は、サーバ112のネットワークアドレスを宛先とするネットワークパケットを送信すると、ネットワーク151経由で中継機器911にネットワークパケットが到着し、中継機器911はサーバ112へネットワークパケットを中継する。
また、新システム120が転送に使用される場合、例えば、サーバ112のネットワークアドレスを宛先とするネットワークパケットを、ネットワーク151を構成するネットワーク機器のルーティングテーブルは新システム120の中継機器921へルーティングするように設定され、中継機器921のルーティングテーブルは現システム110の中継機器911へルーティングするように設定され、中継機器911のルーティングテーブルはサーバ112へルーティングするように設定される。
そして、外部システム130は、サーバ112のネットワークアドレスを宛先とするネットワークパケットを送信すると、ネットワーク151経由で中継機器921にネットワークパケットが到着し、中継機器921は中継機器911へネットワークパケットを中継し、中継機器911はサーバ112へネットワークパケットを中継する。
サーバ122はサーバ112と同じネットワークアドレスが設定されてもよい。これにより、サーバ112のネットワークアドレスを宛先とするネットワークパケットを中継機器911へルーティングすると設定されたルーティンテーブルの内容を、サーバ122へルーティングする内容へ変更することにより、サーバ122へ中継することができる。
ロードバランサ111、121と中継機器911、921との違い以外は、既に図1〜8を用いて説明したとおりである。
以上で説明したように、外部システム130は現システム110のサーバ112を宛先として、設定を変更されることなく、新システム120の中継機器921に転送させることが可能になり、その後は、新システム120のサーバ122へ要求を送信することが可能になる。このため、外部システム130の設定作業を不要にすることができる。
以上の説明では、実施例1と実施例2と実施例3を分けて説明したが、各実施例は独立したものではなく、各実施例の説明の一部を他の実施例の説明の一部に置き換えてもよい。
110:現システム
111:ロードバランサ
112:サーバ
113:現DB
120:新システム
121:ロードバランサ
122:サーバ
123:新DB
130:外部システム
140:管理装置
151:ネットワーク
152:ネットワーク

Claims (6)

  1. 外部システムと通信して情報処理する第1のシステムと第2のシステムの情報処理方法において、
    前記第1のシステムは、
    前記外部システムと通信して稼働している現システムであり、
    情報処理を行う複数の第1のサーバと、
    前記外部システムから受信した通信を転送する第1のロードバランサと、
    前記複数の第1のサーバが情報処理の対象とするデータの格納された第1のDBとを備え、
    前記第1のロードバランサは前記外部システムから受信した通信を前記第1のサーバへ転送し、前記第1のサーバは前記第1のDBへアクセスして情報処理し、
    前記第2のシステムは、
    前記第1のシステムから移行される新システムであり、
    情報処理を行う複数の第2のサーバと、
    前記外部システムから受信した通信を転送する第2のロードバランサと、
    前記複数の第2のサーバが情報処理の対象とするデータの格納された第2のDBとを備え、
    前記第1のシステムから前記第2のシステムへの移行を制御するために、前記第1のシステムと前記第2のシステムを制御する管理装置は、
    前記第2のサーバに対し、前記第1のDBのデータを前記第2のDBに移行する移行処理を開始させ
    前記外部システムの通信の宛先を、前記第1のシステムから前記第2のシステムへ変更し、
    前記第2のロードバランサに、前記外部システムから受信した通信を前記第1のロードバランサに転送するよう制御して、前記第1のロードバランサ前記外部システムからの要求を前記第1のサーバへ負荷分散し、
    前記第1のサーバは、
    前記第2のロードバランサから前記第1のロードバランサに転送された前記外部システムからの要求に対して、前記第1のDBへアクセスして情報処理し、前記外部システムに応答し、
    前記管理装置は、
    前記第1のDBと前記第2のDBのデータが一致したか判定し、
    一致すると判定した場合、前記第2のロードバランサによる前記第1のロードバランサへの転送を終了させ、前記第2のロードバランサに対し、前記外部システムから受信した通信を前記第2のサーバに転送するよう制御し、
    前記第2のサーバは、前記第2のロードバランサを介して前記外部システムから受信した通信を、前記第2のDBへアクセスして情報処理を行うこと
    を特徴とする情報処理方法。
  2. 請求項1に記載の情報処理方法において、
    前記管理装置は、
    前記第1のDBと前記第2のDBのデータが一致した後、前記第2のDBの更新により発生した差分データを、前記第2のサーバから前記第1のサーバに転送して、前記第1のDBに反映するよう制御すること
    を特徴とする情報処理方法。
  3. 請求項1に記載の情報処理方法において、
    前記管理装置による
    前記外部システムの通信の宛先前記第1のシステムから前記第2のシステムへ変更は、前記外部システムの送信する通信の宛先を、前記第1のロードバランサから前記第2のロードバランサへ変更することであること
    を特徴とする情報処理方法。
  4. 請求項1に記載の情報処理方法において、
    前記管理装置は、前記第1のDBのデータを前記第2のDBに移行を開始するためのコマンドを、前記第2のサーバに送信すること
    を特徴とする情報処理方法。
  5. 請求項1に記載の情報処理方法において、
    前記第2のロードバランサは転送先の情報を有し、
    前記移行処理を開始されると、前記第2のロードバランサの転送先の情報は前記第1のロードバランサへ設定され、
    前記第2のDBのデータと前記第1のDBのデータが一致すると、前記第2のロードバランサの転送先の情報は前記第2のサーバへ設定されること
    を特徴とする情報処理方法。
  6. 請求項2に記載の情報処理方法において、
    前記第2のDBへ格納された差分データを、前記第1のDBに反映し、前記第2のサーバあるいは前記第2のDBに障害を検出した場合、前記第2のロードバランサは前記外部システムから受信した通信を前記第1のロードバランサへ転送し、前記第1のロードバランサは前記外部システムから受信した通信を前記第1のサーバへ転送し、前記第1のサーバは前記第1のDBへアクセスして情報処理すること
    を特徴とする情報処理方法。
JP2016024266A 2016-02-12 2016-02-12 情報処理方法および制御方法 Active JP6674272B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016024266A JP6674272B2 (ja) 2016-02-12 2016-02-12 情報処理方法および制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016024266A JP6674272B2 (ja) 2016-02-12 2016-02-12 情報処理方法および制御方法

Publications (2)

Publication Number Publication Date
JP2017142698A JP2017142698A (ja) 2017-08-17
JP6674272B2 true JP6674272B2 (ja) 2020-04-01

Family

ID=59629146

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016024266A Active JP6674272B2 (ja) 2016-02-12 2016-02-12 情報処理方法および制御方法

Country Status (1)

Country Link
JP (1) JP6674272B2 (ja)

Also Published As

Publication number Publication date
JP2017142698A (ja) 2017-08-17

Similar Documents

Publication Publication Date Title
AU2004306913B2 (en) Redundant routing capabilities for a network node cluster
CN110224871B (zh) 一种Redis集群的高可用方法及装置
US8375001B2 (en) Master monitoring mechanism for a geographical distributed database
US7619965B2 (en) Storage network management server, storage network managing method, storage network managing program, and storage network management system
CN108075971B (zh) 一种主备切换方法及装置
WO2014087850A1 (ja) 自動障害対応キャッシュシステム及びキャッシュサーバの障害対応処理方法並びにキャッシュマネージャ
KR20080084163A (ko) 시스템 이중화된 네트워크상에서 Nonstop 패킷포워딩 방법 및 라우터
JPH103440A (ja) 計算機システム
US20070270984A1 (en) Method and Device for Redundancy Control of Electrical Devices
CN110535947B (zh) 一种存储设备集群配置节点切换方法、装置及设备
JP5808700B2 (ja) 通信制御装置、通信制御システム、仮想化サーバ管理装置、スイッチ装置および通信制御方法
JP2008283608A (ja) 冗長化された通信経路を切り替える計算機、プログラム及び方法
JP4579850B2 (ja) ブレード型システムおよびコネクション管理方法
JP6674272B2 (ja) 情報処理方法および制御方法
JP4806382B2 (ja) 冗長化システム
JP5526780B2 (ja) 負荷分散システム、サービス処理サーバ、負荷分散方法及び負荷分散プログラム
JP2006129348A (ja) 親ノード決定システム及び方法、ノード装置、ならびに、コンピュータプログラム
WO2023032104A1 (ja) ジョブ制御システム及びその制御方法
WO2023032106A1 (ja) ジョブ管理システム及びその制御方法
WO2023032105A1 (ja) ジョブ制御システム及びその制御方法
WO2023032103A1 (ja) ジョブ制御システム及びその制御方法
WO2021111523A1 (ja) 制御装置、制御方法、及びプログラム
US20130279506A1 (en) Methods and systems for routing application traffic
KR101641496B1 (ko) 소프트웨어 정의 네트워크에서 스위치의 상태 변경 방법 및 장치
JP2006172385A (ja) 計算機システム、ストレージ管理プログラムの呼出方法及びストレージシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191023

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200127

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200306

R150 Certificate of patent or registration of utility model

Ref document number: 6674272

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150