JP2017162152A - データ移行システム、及び、データ移行システムの制御方法 - Google Patents

データ移行システム、及び、データ移行システムの制御方法 Download PDF

Info

Publication number
JP2017162152A
JP2017162152A JP2016045484A JP2016045484A JP2017162152A JP 2017162152 A JP2017162152 A JP 2017162152A JP 2016045484 A JP2016045484 A JP 2016045484A JP 2016045484 A JP2016045484 A JP 2016045484A JP 2017162152 A JP2017162152 A JP 2017162152A
Authority
JP
Japan
Prior art keywords
migration
data
state
processing unit
database
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
JP2016045484A
Other languages
English (en)
Other versions
JP6755680B2 (ja
Inventor
哲也 松本
Tetsuya Matsumoto
哲也 松本
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2016045484A priority Critical patent/JP6755680B2/ja
Publication of JP2017162152A publication Critical patent/JP2017162152A/ja
Application granted granted Critical
Publication of JP6755680B2 publication Critical patent/JP6755680B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】バッチ処理を実行するシステムのデータを並行稼働しながら段階的に移行する場合でも、データを正常に移行でき、移行後のデータチェックも正常にできること。【解決手段】データ移行システム105は、移行先システム104のDB性能を上げ(S701)、移行元システム103のデータの移行状態を移行中に変更し(S702)、移行元システム103で実行中のバッチ処理の完了を監視し(S703)、移行元システム103のデータを移行先システム104に移行し(S704)、移行に成功したデータの移行元システム103における移行状態を移行完了に変更し、移行に失敗したデータの移行状態を移行前に変更し(S705)、移行先システム104のDB性能を下げる(S706)。移行元システム103及び移行先システム104は、移行状態が移行中のデータに対してはバッチ処理を実行しない。【選択図】図7

Description

本発明は、移行元システムのデータを移行先システムに移行するデータ移行システム、及び、その制御方法に関する。
クラウドサービス基盤を利用して構築され、顧客にサービスを提供しているシステムがある。クラウドシステムにおいて、現在稼働している既存システム(移行元システム)を、新規システム(移行先システム)へ移行する場合がある。
特許文献1には、移行元システムのデータを移行先システムへ移行するための技術が開示されている。特許文献1によれば、移行によるサービス停止時間を短くするとともに、各ユーザに割り当てるIPアドレスの変更が発生しないように移行ができる。
クラウドシステムの移行では、移行元システムとは別のクラウドサービス基盤を利用して構築された移行先システムへ移行する場合がある。このような場合、移行元システムと移行先システムとで、データを管理しているデータベースの種類が異なる、データ構造が変更になる、などの理由で、データベースの同期機能などを使用したデータの移行が困難な場合が多い。
また、クラウドシステムでは、システムを利用する顧客のデータを、顧客ごとの専用領域であるテナントの単位で管理する。テナント単位でデータを管理しているシステムでは、テナントごとに段階的に移行を実施する場合がある。つまり、管理する全てのテナントの移行が完了するまでは、移行元システムと移行先システムを並行稼働しておく必要がある。さらに、移行完了後に移行先システムで障害が発生し、その障害が修正されるまでの期間、移行元システムを使用するようなことも考えられる。そのような場合においても、移行元システムを使用できるように並行稼働しておく必要がある。
また、クラウドシステムでは、複数の顧客のデータを管理するためデータ量が多い。そのため、データの集計処理などの長い時間を要する処理は、バッチ処理によって定期的に一括で処理をすることが多い。
特開2013−186741号公報
上述のように、移行元システムと移行先システムを並行稼働しながら、テナント単位で段階的に移行を実施する場合がある。しかし、移行元システムと移行先システムとを並行稼動をしているため、移行中に、移行元システムのバッチ処理が実行され、移行対象テナントの移行元システムのデータが更新されてしまう場合がある。移行中に、移行対象テナントの移行元システムのデータが更新されると、中途半端な状態(例えば更新途中の不完全な状態)でデータが移行されてしまうという課題があった。中途半端な状態でデータが移行されてしまうと、移行先システムが正常に動作しないことも考えられる。
一方、データの移行が正常に行われたかを確認する目的で、移行元システムと移行先システムのデータの比較するチェックを行うことが考えられる。移行中に、移行対象テナントの移行元システムのデータが更新されると、上記チェックにおいて、データに差異があると判定されてしまい、正しい結果が得られないという課題もあった。
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、バッチ処理を実行するシステムのデータを並行稼働しながら段階的に移行する場合であっても、データを正常に移行でき、移行後のデータチェックも正常に行うことができる仕組みを提供することである。
本発明は、第1のシステムのデータベースで管理されるデータの、該第1のシステムから第2のシステムへのデータ移行を制御するデータ移行システムであって、前記第1のシステムのデータベースで管理される移行対象のデータの移行状態を、移行中を示す状態に変更させる変更手段と、前記第1のシステムで実行中のバッチ処理の完了を監視する監視手段と、前記第1のシステムのデータベースで管理される移行対象のデータを取得し、該取得したデータを前記第2のシステムのデータベースに登録することで、データ移行を実行する移行手段と、を有し、前記変更手段は、前記第1のシステムのデータベースで管理される移行対象の各データのうち、前記移行手段によるデータ移行に成功したデータの移行状態を、移行完了を示す状態に変更させ、前記変更手段は、前記第1のシステムのデータベースで管理される移行対象の各データのうち、前記移行手段によるデータ移行に失敗したデータの移行状態を、移行前を示す状態に変更させ、前記第1のシステム及び前記第2のシステムでは、移行状態が移行中を示すデータに対してはバッチ処理が実行されないことを特徴とする。
本発明によれば、バッチ処理を実行するシステムのデータを並行稼働しながら段階的に移行する場合であっても、データを正常に移行でき、移行後のデータチェックも正常に行うことができる。
本実施例を示すシステムの全体構成を例示する図 移行元システム、移行先システム、データ移行システムを構成する情報処理装置のハードウェア構成図 移行元システムおよび移行先システムの機能構成図 データ移行システムの機能構成図 テナント情報テーブルを例示する図 バッチ処理管理テーブルを例示する図 実施例1の移行処理を例示するフローチャート 移行開始時の移行状態の変更処理の詳細を例示するフローチャート バッチ処理の完了待機処理の詳細を例示するフローチャート データの移行処理の詳細を例示するフローチャート 移行完了時の移行状態の変更処理の詳細を例示するフローチャート バッチ処理を示すフローチャート 実施例2の移行処理を例示するフローチャート 実施例2の移行先システムの課金データ作成処理を例示するフローチャート 実施例2の移行元システムの課金データ作成処理を例示するフローチャート 実施例3の移行処理を例示するフローチャート 実施例4の移行処理を例示するフローチャート
以下、本発明を実施するための形態について図面を用いて説明する。
<システム構成>
図1は、本発明の一実施例を示すシステムの全体構成を例示する模式図である。
図1において、101はPC(Personal Computer)などの情報端末で、ユーザが使用する端末である。移行前は、ユーザは移行元システム103が提供するWebページを使用して、移行元システム103が提供するサービスを利用する。移行後は、ユーザは移行先システム104が提供するWebページを使用して、移行先システム104が提供するサービスを利用する。
102はプリンタや複写機等のネットワーク機器である。移行前は、ネットワーク機器102は、自身が管理する各種データ(カウンター、ジョブログ、障害情報など)を移行元システム103に送信する。移行後は、ネットワーク機器102は、自身が管理する各種データを移行先システム104に送信する。なお、ネットワーク機器102は、プリンタや複写機等の画像形成装置に限定されるものではなく、ネットワーク機器であればどのような種類のネットワーク機器であってもよい。例えば、ネットワークカメラ、医療機器、ナビゲーションシステム、パーソナルコンピュータ、テレビジョンやエアーコンディショナー、冷蔵庫等の各種ネットワーク家電なども、ネットワーク機器102となり得る。
移行元システム103は、ネットワーク機器102から受信したデータを管理する。また、移行元システム103は、ユーザがサービスを利用するためのWebページを提供する。移行元システム103は、ネットワーク機器102から受信したデータや、ユーザがWebページを利用して入力したデータを保持する。なお、移行中のテナントについては、移行中のテナントに所属するユーザがWebページを利用できないように制御する。
移行先システム104は、移行元システム103と同等の機能を提供する。
105はデータ移行システムで、移行元システム103が保持するデータを、移行先システム104へ移行する機能を提供する。
本実施例のシステムでは、情報端末101、ネットワーク機器102、移行元システム103、移行先システム104、データ移行システム105は、インターネット106などの既知の技術により相互に通信可能に接続されている。図1の例では、データ移行システム105は、移行元システム103、移行先システム104とは別のシステムとして記載されている。しかし、データ移行システム105の提供する機能を、移行元システム103または移行先システム104に含める構成にしてもよい。例えばデータ移行システム105が、移行先システム104内に構築される構成でもよい。
<情報処理装置の内部構成>
図2は、移行元システム103、移行先システム104、データ移行システム105を構成する情報処理装置のハードウェア構成の一例を示すブロック図である。
移行元システム103、移行先システム104、データ移行システム105は、ROM202あるいは記憶装置であるハードディスクドライブ(HDD)211に記憶されたソフトウェアを実行するCPU201を備える。CPU201は、システムバス205に接続される各ハードウェアを総括的に制御する。
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。204はネットワークインターフェースカード(NIC)で、ネットワークを介して、他のノードと双方向にデータをやりとりする。
206はキーボードコントローラーで、情報処理装置に備えられたキーボード207からの指示入力を制御する。208はディスプレイコントローラーで、例えば液晶ディスプレイなどで構成される表示モジュール209の表示を制御する。210はディスクコントローラーであり、大容量記憶装置であるハードディスクドライブ(HDD)211を制御する。なお、HDDの代わりに又は併用して、SSD(Solid State Drive)等の他の記憶装置を備えていてもよい。
なお、移行元システム103、移行先システム104、データ移行システム105は、それぞれ図2で例示した構成に限定されるものではなく、例えば複数のコンピュータから構成されるものであってもよい。
<移行元/移行先システムの機能構成>
図3は、移行元システム103および移行先システム104の機能構成の一例を示すブロック図である。なお、図3に示す機能構成は、移行元システム103や移行先システム104のCPU201がHDD211等に格納されるプログラムを読み出して実行することにより実現されるものである。
301は通信部であり、ネットワークを介して、情報端末101やネットワーク機器102やデータ移行システム105と通信する機能を実現する。
302はテナント情報処理部であり、システムが管理するテナントのデータに対する処理(生成、読み取り、更新、削除など)を実行する機能を実現する。テナントとは、システムを利用する顧客ごとに用意されるものであり、移行元システム103および移行先システム104は、システムを利用する顧客のデータを、顧客ごとに用意されたテナントで管理する。テナント情報処理部302が処理対象とするテナントのデータは、データベース304に格納されている。
304はデータベース(DB)であり、システムが管理する各種データを格納する。
303はバッチ処理部であり、システムの管理する各種データ(ネットワーク機器情報、カウンター、ジョブログ、ステータス情報など)に対するバッチ処理(データの変換、移動、集計など)を実行する機能を実現する。なお、バッチ処理とは、一定期間(もしくは一定量)データを集め、所定の手順で、まとめて一括処理を行う処理方式である。処理対象のデータによって、それぞれ処理手順が定義される。また、移行元システム103、移行先システム104では、複数のバッチ処理を登録することができる(例えば、後述する図6に示すようなバッチ処理)。各バッチ処理のそれぞれの実行タイミングは、予めスケジュールなどで設定可能であり、各バッチ処理を自動で実行することができる。
例えば、バッチ処理部303は、ネットワーク機器情報をもとに、各テナントで管理するネットワーク機器台数をカウントする集計処理を、バッチ処理として、毎日0時に実行する。また、バッチ処理部303は、例えば、カウンターやジョブログをもとに、単位時間あたりの印刷実績を計算する集計処理を、バッチ処理として8時間間隔で実行する。バッチ処理部303が処理対象とする各種データは、データベース304に格納されている。また、バッチ処理部303は、バッチ処理部303が処理した結果として生成されたデータを、データベース304に格納する。バッチ処理の詳細については後述する。
<データ移行システムの機能構成>
図4は、データ移行システム105の機能構成の一例を示すブロック図である。なお、図4に示す機能構成は、データ移行システム105のCPU201がHDD211等に格納されるプログラムを読み出して実行することにより実現されるものである。
401は通信部であり、ネットワークを介して移行元システム103や移行先システム104と通信する機能を実現する。402は移行処理部であり、移行元システム103が保持するデータを、移行先システム104へ移行する移行処理を実行する機能を実現する。移行処理の詳細については後述する。
<テナント情報テーブル>
図5は、図3に示したデータベース304が保持し、テナント情報処理部302の処理によって更新されるテナント情報の構成の一例を示すテナント情報テーブルを例示する図である。テナント情報テーブルでは、テナント情報として、移行の状態についても管理する。なお、図5(a)は、移行元システム103におけるテナント情報テーブルの一例に対応する。また、図5(b)は、移行先システム104におけるテナント情報テーブルの一例に対応する。
図5(a),図5(b)において、501の列はテナントIDであり、テナントをシステム内で一意に識別するIDを示す。502の列はテナント名であり、テナントの名称を示す。503の列は移行状態であり、移行処理を行っている場合は「移行中」、移行処理が完了した場合は「移行完了」を設定する。
図5(a)の移行元システム103において、移行状態503が未設定の状態(空白)については、移行処理が行われる前の状態であることを示す。図5(b)の移行先システム104において、移行状態503が未設定の状態(空白)については、移行先システム104側で新規に登録されたテナントを示す。移行状態503の値は、データ移行システム105で実行する移行処理によって更新される。移行処理の詳細については後述する図7に示す。
<バッチ処理管理テーブル>
図6は、図3に示したデータベース304が保持し、バッチ処理部303の処理によって更新されるバッチ処理管理情報の構成の一例を示すバッチ処理管理テーブルを例示する図である。バッチ処理管理テーブルでは、バッチ処理管理情報として、移行元システム103/移行先システム104で実行する各種バッチ処理の実行状態、実行日時、実行結果などを管理する。
図6において、601の列はテナントIDであり、該当行のバッチ管理情報がどのテナントのバッチ処理管理情報かを示す。602の列はバッチ処理種別であり、移行元システム103/移行先システム104で実行する各種バッチ処理の種別を示す。603の列は実行状態であり、バッチ処理を実行している場合は「実行中」、バッチ処理を実行していない場合は「未実行」を設定する。604の列は最終実行日時であり、バッチ処理を最後に実行した日時を示す。605の列は実行結果であり、バッチ処理が成功した場合は成功を、バッチ処理がエラーなどにより失敗した場合は失敗を設定する。
<移行処理>
図7は、実施例1においてデータ移行システム105の移行処理部402が実行する移行処理の手順を例示するフローチャートである。すなわち、図7及び後述する図8〜図11に示す処理は、データ移行システム105のCPU201がHDD211等に格納されるプログラムを読み出して実行することにより実現されるものである。本処理は、システムの管理者などによって、移行元システム103が保持するデータを、移行先システム104へ移行するための移行指示がなされた際に、データ移行システム105の移行処理部402が実行する処理である。なお、本処理を開始する際には、システムの管理者などは、移行対象のテナントのリストをデータ移行システム105に入力する。
移行処理を開始すると、S701において、移行処理部402は、移行先システム104のデータベース304の性能を上げさせる(DB性能制御)。例えば、移行処理部402は、移行先システム104のデータベース304の書き込み処理の速度を上げることを、移行先システム104に要求する。この要求に応じて、移行先システム104は、データベース304の書き込み処理の速度を上げる。本ステップの目的は、移行先システム104のデータベース304の性能を上げることで、移行対象データをより短い時間で移行先システム104のデータベース304へ登録し、移行にかかる時間を短くすることである。
次に、S702において、移行処理部402は、移行対象テナントについて移行元システム103の移行状態503(図5(a))を「移行中」に変更させる。移行開始時の移行状態の変更処理の詳細については後述する図8に示す。
次に、S703において、移行処理部402は、移行対象テナントについて移行元システム103におけるバッチ処理が実行中の場合に、該実行中のバッチ処理の完了を監視し、該実行中のバッチ処理が完了するまで待機する(移行元システムのバッチ処理の完了待機処理)。移行元システムのバッチ処理の完了待機処理の詳細については後述する図9に示す。
次に、S704において、移行処理部402は、移行元システム103が保持するデータを、移行先システム104へ移行する(データの移行処理)。データの移行処理の詳細については後述する図10に示す。
次に、S705において、移行処理部402は、移行が成功した移行対象テナントについて移行先システム104の移行状態503を「移行完了」に変更させる(移行完了時の移行状態の変更処理)。移行完了時の移行状態の変更処理の詳細については後述する図11に示す。
次に、S706において、移行処理部402は、上記S701で設定した移行先システム104のデータベース304の性能を元に戻させる(すなわち性能を下げさせる)。例えば、移行処理部402は、移行先システム104のデータベース304の書き込み処理の速度を元に戻す(上記S701の設定前の状態に下げる)ことを、移行先システム104に要求する。この要求に応じて、移行先システム104は、データベース304の書き込み処理の速度を元に戻す。上記S706の後、移行処理部402は、本フローチャートの処理を終了する。
なお、S701の処理を、S702とS704の間で行うようにしてもよい。また、S706の処理を、S704とS705の間で行うようにしてもよい。
<移行開始時の移行状態の変更処理>
図8は、図7のS702で実行する移行開始時の移行状態の変更処理の詳細手順を例示するフローチャートである。本処理は、各移行対象テナントについて、移行元システム103の移行状態503を「移行中」に変更する処理である。
移行開始時の移行状態の変更処理を開始すると、移行処理部402は、S801,S806において、S802〜S805に示す処理を、すべての移行対象テナントについて、1テナントずつ実行するように制御する。
S801において、移行処理部402は、移行対象テナントのうち、1の未処理のテナントを処理中のテナントとして選択し、S802に処理を進める。
S802において、移行処理部402は、移行元システム103のテナント情報処理部302を通じて、処理中のテナントの移行状態503を取得する。例えば、移行処理部402は、移行元システム103に処理中のテナントの移行状態503の取得を要求する。この要求に応じて、移行元システム103のテナント情報処理部302は、要求されたテナントの移行状態503をデータ移行システム105に送信する。
次に、S803において、移行処理部402は、上記S802で取得した移行状態503が「移行前」(=未設定)であるか否かを判定する。ここで、移行処理部402が、移行状態503が「移行前」であると判定した場合(S803でYesの場合)、S804に処理を進める。S804において、移行処理部402は、移行元システム103のテナント情報処理部302を通じて、処理中のテナントの移行状態503を「移行中」に変更させる。例えば、移行処理部402は、移行元システム103に処理中のテナントの移行状態503を「移行中」に変更することを要求する。この要求に応じて、移行元システム103のテナント情報処理部302は、要求されたテナントの移行状態503を「移行中」に変更する。
一方、上記S803において、移行処理部402が、移行状態503が「移行前」でない(つまり「移行中」または「移行完了」)と判定した場合(S803でNoの場合)、S805に処理を進める。この判定は、移行対象テナントの入力が間違っていて、既に「移行中」または「移行完了」しているテナントが移行対象になっていた場合、そのテナントを移行対象から除外するために行うものである。
S805において、移行処理部402は、処理中のテナントを移行失敗と判定し、移行対象テナントから除外するように制御する。
上記S804又はS805の処理の後、S806において、移行処理部402は、まだ上記S802〜S805の処理を行っていない移行対象テナントがあるか否かを判定する。ここで、上記S802〜S805の処理を行っていない移行対象テナントがあると判定した場合、移行処理部402は、上記S801に処理を戻し、次の未処理のテナントに処理を移す。
一方、上記S802〜S805の処理を行っていない移行対象テナントがない(全ての移行対象テナントについてS802〜S805の処理を行った)と判定した場合、移行処理部402は、本フローチャートの処理を終了する。
<移行元システムのバッチ処理の完了待機処理>
図9は、図7のS703で実行する移行元システムのバッチ処理の完了待機処理の詳細手順例を示すフローチャートである。本処理は、移行対象テナントについて移行元システム103におけるバッチ処理が実行中の場合に、該実行中のバッチ処理の完了を監視し、該実行中のバッチ処理が完了するまで待機する処理である。なお、移行元システム103や移行先システム104のバッチ処理部303は、後述するバッチ処理に示すように、移行状態503が「移行中」のテナントについてはバッチ処理を実行しないように制御する。しかし、移行状態503が「移行中」になる前に開始されたバッチ処理については、実行中の可能性がある。そのため、移行元システム103のバッチ処理が実行中の場合に完了するまで待機する処理が必要となる。
移行元システムのバッチ処理の完了待機処理を開始すると、S901において、移行処理部402は、移行元システム103のバッチ処理部303を通じて、すべての移行対象テナントのすべてのバッチ処理の実行状態603を取得する。例えば、移行処理部402は、移行元システム103にすべてのテナントのすべてのバッチ処理の実行状態603の取得を要求する。この要求に応じて、移行元システム103のバッチ処理部303は、すべてのテナントのすべてのバッチ処理の実行状態603をデータ移行システム105に送信する。そして、すべての移行対象テナントのすべてのバッチ処理の実行状態603が「未実行」であるか否かを判定する。
ここで、すべての移行対象テナントのすべてのバッチ処理の実行状態603が「未実行」であると判定した場合(S901でYesの場合)、移行処理部402は、本フローチャートの処理を終了する。
一方、いずれかの移行対象テナントのいずれかのバッチ処理に実行状態603が「未実行」のものがあると判定した場合(S901でNoの場合)、移行処理部402は、S902に処理を進める。
S902において、移行処理部402は、本フローチャートの処理(移行元システムのバッチ処理の完了待機処理)が開始してから(すなわち図7のS702で移行元システム103の移行状態が移行中を示す状態に変更されてから)予め設定された最大待機時間を超えているか否かを判定する。ここで、まだ最大待機時間を超えていないと判定した場合(S902でNoの場合)、移行処理部402は、S901に処理を戻す。
一方、最大待機時間を超えていると判定した場合(S902で)、移行処理部402は、S903に処理を進める。
S903において、移行処理部402は、移行元システム103のバッチ処理部303を通じて、実行状態603が実行中のバッチ処理を強制的に停止させ、実行状態を「未実行」に、実行結果を「失敗」に変更させる。例えば、移行処理部402は、移行元システム103に実行状態603が実行中のバッチ処理を強制的に停止させることを要求する。この要求に応じて、移行元システム103のバッチ処理部303は、実行状態603が実行中のバッチ処理を強制的に停止させる。さらに、移行処理部402は、移行元システム103に上記強制的に停止させたバッチ処理の実行結果605を「失敗」に変更することを要求する。この要求に応じて、移行元システム103のバッチ処理部303は、要求されたバッチ処理の実行結果605を「失敗」に変更する。
上記S903の処理の後、移行処理部402は、本フローチャートの処理を終了する。
なお、本フローチャートに示す処理の目的は、移行元システム103のバッチ処理の完了を待機し続けることで、移行にかかる時間が長くなることを防ぐことである。
<データの移行処理>
図10は、図7のS704で実行するデータの移行処理の詳細手順例を示すフローチャートである。本処理は、移行元システム103が保持するデータを移行先システム104へ移行する処理である。
データの移行処理を開始すると、移行処理部402は、S1001,S1011において、S1002〜S1010に示す処理を、すべての移行対象テナントについて、1テナントずつ実行するように制御する。なお、図8のS805の処理によって、移行対象テナントから除外したテナントについては、S1002〜S1010に示す処理を行わないものとする。
まず、S1001において、移行処理部402は、移行対象テナントのうち、1の未処理のテナントを処理中のテナントとして選択し、S1002に処理を進める。
S1002において、移行処理部402は、移行元システム103のデータベース304が保持する処理中のテナントのデータを取得する。例えば、移行処理部402は、移行元システム103に処理中のテナントのデータの取得を要求する。この要求に応じて、移行元システム103のテナント情報処理部302は、要求されたテナントのデータをデータ移行システム105に送信する。
次に、S1003において、移行処理部402は、移行先システム104のデータベース304が保持する処理中のテナントのデータを削除させる。移行先システム104のデータベース304へデータを登録する処理以降でエラーになった場合、移行先システム104のデータベース304には間違ったデータや中途半端なデータ(例えば更新中の不完全なデータ)が登録されている可能性がある。そのため、移行先システム104のデータベース304にデータを登録する前に、データの削除を行う。例えば、移行処理部402は、移行先システム104に処理中のテナントのデータの削除を要求する。この要求に応じて、移行先システム104のテナント情報処理部302は、要求されたテナントのデータを削除する。
次に、S1004において、移行処理部402は、上記S1002で取得したデータを移行先システム104のデータベース304へ登録する。なお、移行元システム103と移行先システム104とで、データを管理しているデータベースの種類が異なる場合や、データ構造が変更になっている場合は、移行処理部402は、上記S1002で取得したデータを、移行先システム104のデータベースに対応するように変換してから登録する。なお、データの変換処理は、上記S1002のデータ取得時などに行ってもよい。例えば、移行処理部402は、移行先システム104に処理中のテナントのデータを送信して登録することを要求する。この要求に応じて、移行先システム104のテナント情報処理部302は、要求されたテナントのデータをデータベース304に登録する。
次に、S1005において、移行処理部402は、移行元システム103と移行先システム104の双方のデータベース304からデータを取得し、データ比較を行い、正常にデータが移行できたかを確認する。例えば、移行処理部402は、移行元システム103及び移行先システム104に処理中のテナントのデータの取得を要求する。この要求に応じて、移行元システム103及び移行先システム104のテナント情報処理部302は、要求されたテナントのデータをデータ移行システム105に送信する。そして、移行処理部402は、移行元システム103及び移行先システム104の双方から取得したデータ比較を行い、正常にデータが移行できたかを確認する。
次に、S1006において、移行処理部402は、上記S1002〜S1005の処理がすべて正常終了したかを否かを判定する。ここで、上記S1002〜S1005の処理がすべて正常終了したと判定した場合(S1006でYesの場合)、移行処理部402は、S1007に処理を進める。S1007において、移行処理部402は、処理中の移行対象テナントは移行が成功したと判定し、該判定結果をRAM203等に記憶しておく。
一方、上記S1002〜S1005の処理のうち正常終了していない処理があると判定した場合(S1006でNoの場合)、移行処理部402は、S1008に処理を進める。S1008において、移行処理部402は、処理中のテナント(データの移行処理が失敗した移行対象テナント)について、データの移行処理のリトライが可能か否かを判定する。リトライが可能か否かの判定を、例えば、以下のように行う。まず、移行処理部402は、データの移行処理が失敗した移行対象テナントの移行データサイズを基に移行予想時間を算出し、該移行予想時間を現在時刻に追加し、予め設定された移行完了予定時刻よりも前に完了するか否かの判定を行う。そして、移行処理部402は、移行完了予定時刻よりも前に完了すると判定した場合はリトライが可能と判定し、移行完了予定時刻以後に完了すると判定した場合はリトライが不可能と判定する。
上記S1008において、データの移行処理のリトライが可能でない(不可能)と判定した場合(S1008でNoの場合)、移行処理部402は、S1010に処理を進める。S1010において、移行処理部402は、処理中のテナントは移行が失敗したと判定し、該判定結果をRAM203等に記憶しておく。
一方、上記S1008において、データの移行処理のリトライが可能であると判定した場合(S1008でYesの場合)、移行処理部402は、S1009に処理を進める。
S1009において、移行処理部402は、処理中のテナントについてデータの移行処理をリトライするか否かを判定する。リトライするかの判定を、例えば、以下のように行う。まず、システムの管理者がデータの移行処理がエラーになった際の情報を確認し、リトライするかを判定する。そして、システムの管理者が判定結果を移行処理部402に入力する。移行処理部402は、その入力に従ってリトライをするか否かを判定する。
上記S1009において、データの移行処理をリトライすると判定した場合(S1009でYesの場合)、移行処理部402は、S1002に処理を戻し、処理中のテナントについて処理を繰り返す。
一方、データの移行処理をリトライしないと判定した場合(S1009でNoの場合)、移行処理部402は、S1010に処理を進め、処理中のテナントは移行が失敗したと判定する。
上記S1007又はS1010の処理の後、S1011において、移行処理部402は、まだ上記S1002〜S1010の処理を行っていない移行対象テナントがあるか否かを判定する。ここで、まだ上記S1002〜S1010の処理を行っていない移行対象テナントがあると判定した場合、移行処理部402は、上記S1001に処理を戻し、次の未処理のテナントに処理を移す。
一方、上記S1002〜S1010の処理を行っていない移行対象テナントがない(全ての移行対象テナントについてS1002〜S1010の処理を行った)と判定した場合、移行処理部402は、本フローチャートの処理を終了する。
<移行完了時の移行状態の変更処理>
図11は、図7のS705で実行する移行完了時の移行状態の変更処理の詳細手順を例示するフローチャートである。本処理は、移行が成功した移行対象テナントについて移行先システム104の移行状態503を移行完了に変更するものである。
移行完了時の移行状態の変更処理を開始すると、移行処理部402は、S1101,S1106において、S1102〜S1105に示す処理を、すべての移行対象テナントについて、1テナントずつ実行するように制御する。
まず、S1101において、移行処理部402は、移行対象テナントのうち、1の未処理のテナントを処理中のテナントとして選択し、S1102に処理を進める。
S1102において、移行処理部402は、図8のS805、図10のS1007、S1010の処理結果から、処理中のテナントの移行が成功したか否かを判定する。ここで、移行が成功したと判定した場合(S1102でYesの場合)、移行処理部402は、S1103に処理を進める。
S1103において、移行処理部402は、移行元システム103のテナント情報処理部302を通じて、処理中のテナントの移行状態503を「移行完了」に変更させる。例えば、移行処理部402は、移行元システム103に処理中のテナントの移行状態503を「移行完了」に変更することを要求する。この要求に応じて、移行元システム103のテナント情報処理部302は、要求されたテナントの移行状態503を「移行完了」に変更する。
さらに、S1104において、移行処理部402は、移行先システム104のテナント情報処理部302を通じて、処理中のテナントの移行状態503を「移行完了」に変更させる。例えば、移行処理部402は、移行先システム104に処理中のテナントの移行状態503を「移行完了」に変更することを要求する。この要求に応じて、移行先システム104のテナント情報処理部302は、要求されたテナントの移行状態503を「移行完了」に変更する。
一方、上記S1102において、移行が成功していない(すなわち移行が失敗した)と判定した場合(S1102でNoの場合)、移行処理部402は、S1105に処理を進める。
S1105において、移行処理部402は、移行元システム103のテナント情報処理部302を通じて、処理中の移行対象テナントの移行状態503を移行前(=未設定)に変更させる。例えば、移行処理部402は、移行元システム103に処理中のテナントの移行状態503を移行前(=未設定)に変更することを要求する。この要求に応じて、移行元システム103のテナント情報処理部302は、要求されたテナントの移行状態503を移行前(=未設定)に変更する。
上記S1104又はS1105の処理の後、移行処理部402は、S1106において、まだ上記S1102〜S1105の処理を行っていない移行対象テナントがあるか否かを判定する。ここで、まだ上記S1102〜S1105の処理を行っていない移行対象テナントがあると判定した場合、移行処理部402は、上記S1101に処理を戻し、次の未処理のテナントに処理を移す。
一方、上記S1102〜S1105の処理を行っていない移行対象テナントがない(全ての移行対象テナントについてS1102〜S1105の処理を行った)と判定した場合、移行処理部402は、本フローチャートの処理を終了する。
<バッチ処理>
図12は、移行元システム103と移行先システム104のバッチ処理部303が実行するバッチ処理の手順例を示すフローチャートである。すなわち、図12に示す処理は、移行元システム103と移行先システム104のCPU201がHDD211等に格納されるプログラムを読み出して実行することにより実現されるものである。本処理は、移行元システム103と移行先システム104において、移行中のテナントに対するバッチ処理は実行しないように制御する処理である。本処理の目的は、移行中に、移行対象テナントのデータがバッチ処理によって変更されることを防ぐことである。これにより、中途半端な状態でデータが移行されることがなくなる。さらに、図10のS1005の移行元システムと移行先システムのデータの整合性チェックにおいて、正しいチェック結果が得られるようになる。
バッチ処理を開始すると、バッチ処理部303は、S1201,S1206において、S1202〜S1205に示す処理を、すべてのテナントについて、1テナントずつ実行するように制御する。なお、バッチ処理の処理対象のテナントが複数テナントではなく、1テナントの場合は、バッチ処理部303は、S1202〜S1205の処理を一度行う。
まず、S1201において、バッチ処理部303は、テナントのうち、1の未処理のテナントを処理中のテナントとして選択し、S1202に処理を進める。
S1202において、バッチ処理部303は、テナント情報処理部302を通じて、処理中のテナントの移行状態503を取得する。
次に、S1203で、バッチ処理部303は、上記S1202で取得した移行状態503を確認し、判定する。ここで、移行状態503が「未設定(移行前)」または「移行完了」であると判定した場合、バッチ処理部303は、S1204に処理を進める。
S1204において、バッチ処理部303は、処理中のテナントのバッチ処理を実行する。このとき、バッチ処理部303は、バッチ処理の開始前に実行状態603を「実行中」に変更する。さらに、バッチ処理部303は、バッチ処理の完了後に実行状態603を「未実行」にし、最終実行日時604、実行結果605を更新し、S1206に処理を進める。
一方、移行状態503が「未設定(移行前)」でも「移行完了」でもないと判定した場合(S1203で「移行中」の場合)、バッチ処理部303は、S1205に処理を進める。
S1205において、バッチ処理部303は、処理中のテナントのバッチ処理を実行せずに、S1206に処理を進める。
S1206において、バッチ処理部303は、S1202〜S1205の処理を行っていないテナントがあるか否かを判定する。ここで、S1202〜S1205の処理を行っていないテナントがあると判定した場合、バッチ処理部303は、S1201に処理を戻し、次の未処理のテナントに処理を移す。
一方、上記S1202〜S1205の処理を行っていないテナントがない(全てのテナントについてS1202〜S1205の処理を行った)と判定した場合、バッチ処理部303は、本フローチャートの処理を終了する。
以上示したように、本実施例では、データ移行システム105は、移行元システム103における、データ移行対象のテナントの移行状態について、移行開始時に移行中を示す状態に変更させる。また、データ移行システム105は、移行完了時に移行が成功したテナントについては、移行元システム103及び移行先システム104における移行状態について、移行完了を示す状態に変更させる。なお、移行元システム103は、テナントの移行状態が、移行前および移行完了を示す状態の場合は、バッチ処理を実行するように制御し、移行中を示す状態の場合は、バッチ処理を実行しないように制御する。また、移行先システム104は、テナントの移行状態が、移行完了を示す状態の場合は、バッチ処理を実行するように制御し、移行中を示す状態の場合は、バッチ処理を実行しないように制御する。以上の構成により、バッチ処理を実行するシステムのデータを、移行元及び移行先のシステムを並行稼働しながら段階的に移行する場合であっても、データを正常に移行でき、移行後のデータチェックも正常に行えるデータ移行システムを提供できる。
実施例2では、移行元システム103と移行先システム104のバッチ処理部303が、バッチ処理によって課金データを作成している場合の実施例について説明する。
実施例2では、バッチ処理によって1日1回課金データを作成している場合を例にして説明するが、本発明はこの例に限定されるものではない。以下では、課金データを作成するバッチ処理を、課金データ作成処理と呼ぶ。
クラウドサービスの利用料を顧客に課金する方法として、例えば以下の(1),(2)がある。
(1)回数課金方法;顧客が提供するサービスを利用した回数をカウントして課金する方法。
(2)管理数課金方法;顧客が提供するサービスに登録しているネットワーク機器数などをカウントして課金する方法。
移行元システム103と移行先システム104のクラウドサービスが並行稼動し、段階的に移行が実施される場合、システムの管理者が課金額の確認をするためには、移行元システム103と移行先システム104の両システムで確認する必要がある。
この手間を無くすために、移行元システム103から移行先システム104に課金データを送信し、移行先システム104で課金データを集計し、利用料を移行先システム104のみで確認できるようにすることが考えられる。このような仕組みにした場合、回数課金のデータは、移行元システム103と移行先システム104の利用回数を加算しても問題ない。例えば、顧客が移行元システム103でサービスを2回利用し、移行先システム104でサービスを3回利用したとする。その場合、移行元システム103は利用回数が2回という課金データを作成し、移行先システム104は利用回数が3回という課金データを作成する。顧客がサービスを利用した回数は合計5回なので、移行元システム103と移行先システム104の課金データを加算し5回とすれば正しい。
しかし、管理数課金のデータは、移行元システム103と移行先システム104の管理数を加算すると問題がある。例えば、顧客が移行元システム103でネットワーク機器102を10台管理していたとする。データの移行によって、顧客の管理しているネットワーク機器102のデータは移行先システム104に移行される。その場合、移行元システム103は管理数が10台という課金データを作成し、移行先システム104でも管理数が10台という課金データを作成する。顧客がサービスで管理している台数は10台なので、移行元システム103と移行先システム104の課金データを加算し20台とすると正しくない。このように、移行元システム103から移行先システム104に課金データを送信すると、課金方法によっては正しい課金ができないという課題があった。
また、移行中に課金データ作成処理を実行していなかった場合、課金データ作成処理の実行時刻が移行中の時間帯と重なると、課金データが作成されない日が発生するという課題があった。
実施例2では、移行元システム103が課金データ作成処理によって作成したデータを移行先システム104へ送信している場合であっても、正しく課金するための仕組みについて説明する。また、課金データ作成処理の実行時刻が移行中の時間帯と重なった場合であっても、課金データの作成漏れが発生しないための仕組みについて説明する。
なお、以下では実施例1と同一の構成については説明を省略し差分についてのみ説明する。
<移行処理>
図13は、実施例2においてデータ移行システム105の移行処理部402が実行する移行処理の手順を例示するフローチャートである。すなわち、図13に示す処理は、データ移行システム105のCPU201がHDD211等に格納されるプログラムを読み出して実行することにより実現されるものである。本処理は、実施例1の図7で示した移行処理を拡張したものである。本処理では、移行完了後に課金データ作成処理を実行する。なお、図7と同一のステップには同一のステップ番号を付してある。
S701〜S706は、実施例1で示した通りである。
S706の後、S1301において、移行処理部402は、移行先システム104のバッチ処理部303を通じて、移行先システム104において課金データ作成処理を実行させる。例えば、移行処理部402は、移行先システム104に課金データ作成処理を実行することを要求する。この要求に応じて、移行先システム104のバッチ処理部303は、課金データ作成処理(詳細は図14に示す)を実行する。
S1301の処理の後、移行処理部402は、本フローチャートの処理を終了する。
<移行先システムの課金データ作成処理>
図14は、実施例2において移行先システム104のバッチ処理部303が実行する移行先システムの課金データ作成処理の手順を例示するフローチャートである。すなわち、図14に示す処理は、移行先システム104のCPU201がHDD211等に格納されるプログラムを読み出して実行することにより実現されるものである。本処理は、実施例1の図12で示したバッチ処理を拡張したものである。本処理では、管理数の課金データ作成処理の場合、最終実行日時をもとに、課金データの作成漏れがあるかを判定する、さらに、課金データの作成漏れがあると判定した場合に、課金データを作成する処理を追加し、課金データの作成漏れが発生しないようにする。なお、図12と同一のステップには同一のステップ番号を付してある。
S1201〜S1206は、実施例1で示した通りである。
S1202の後、S1401において、バッチ処理部303は、S1202で取得した移行状態503を確認し、判定する。ここで、移行状態503が「移行中」であると判定した場合、バッチ処理部303は、S1205に処理を進め、パッチ処理を実行しないように制御する。
一方、上記S1401において、移行状態503が「未設定」または「移行完了」であると判定した場合、バッチ処理部303は、S1402に処理を進める。
S1402において、バッチ処理部303は、作成対象の課金データの種類を確認し、判定する。ここで、作成対象の課金データが「回数課金データ」であると判定した場合、バッチ処理部303は、S1204に処理を進め、バッチ処理を実行するように制御する。
一方、上記S1402において、作成対象の課金データが「管理数課金データ」であると判定した場合、バッチ処理部303は、S1403に処理を進める。
S1403において、バッチ処理部303は、最終実行日時604が本日か否かを判定する。ここで、最終実行日時604が本日であると判定した場合(S1403でYesの場合)、バッチ処理部303は、S1205に処理を進め、パッチ処理を実行しないように制御する。
一方、上記S1403において、最終実行日時604が本日ではないと判定した場合(S1403でNoの場合)、バッチ処理部303は、S1204に処理を進め、バッチ処理を実行するように制御する。
なお、上記S1403の判定では、1日1回課金データを作成している場合を例にしているため、最終実行日時が本日ではない場合(S1403でNoの場合)は、本日分の課金データの作成漏れがあると判定し、課金データを作成する(すなわちバッチ処理を実行する)ように制御している。例えば、1週間に1回の間隔で課金データを作成している場合には、最終実行日時が今週か否かを判定条件にする。また、1月に1回の間隔で課金データを作成している場合には、最終実行日時が今月か否かを判定条件にする。また、1年に1回の間隔で課金データを作成している場合には、最終実行日時が今年か否かを判定条件にする。
このように、実施例2の移行先システム104では、移行状態が移行完了を示すテナントのデータについてバッチ処理を実行するか否かを、該バッチ処理で作成されるデータの種類、及び、該バッチ処理が最後に実行されたタイミングに基づいて決定する。
<移行元システムの課金データ作成処理>
図15は、実施例2における移行元システム103のバッチ処理部303が実行する移行元システムの課金データ作成処理の手順を例示するフローチャートである。すなわち、図15に示す処理は、移行元システム103のCPU201がHDD211等に格納されるプログラムを読み出して実行することにより実現されるものである。本処理は、実施例1の図12で示したバッチ処理を拡張したものである。本処理によって作成された課金データは、移行先システム104へ送信される。本処理では、作成対象の課金データが回数課金のデータの場合は課金データを作成するように制御し、管理数課金のデータの場合は課金データを作成しないように制御する。これにより、移行元システム103が課金データ作成処理によって作成したデータを移行先システム104へ送信している場合であっても、正しく課金できるようにする。なお、図12と同一のステップには同一のステップ番号を付してある。
S1201〜S1206は、実施例1で示した通りである。
S1202の後、S1501において、バッチ処理部303は、S1202で取得した移行状態503を確認し、判定する。ここで、移行状態503が「移行前(=未設定)」であると判定した場合、バッチ処理部303は、S1204に処理を進め、バッチ処理を実行するように制御する。
また、上記S1501において、移行状態503が「移行中」であると判定した場合、バッチ処理部303は、S1205に処理を進め、パッチ処理を実行しないように制御する。
また、上記S1501において、移行状態503が「移行完了」であると判定した場合、バッチ処理部303は、S1502に処理を進める。
S1502で、バッチ処理部303は、作成対象の課金データが何かを確認し、判定する。ここで、作成対象の課金データが「回数課金データ」であると判定した場合、バッチ処理部303は、S1204に処理を進め、バッチ処理を実行するように制御する。
一方、上記S1502において、作成対象の課金データが「管理数課金データ」であると判定した場合、バッチ処理部303は、S1205に処理を進め、パッチ処理を実行しないように制御する。
つまり、作成対象の課金データが回数課金のデータの場合は課金データを作成するように制御し、管理数課金のデータの場合は課金データを作成しないように制御する。
このように、実施例2の移行元システム103では、移行状態が移行完了を示すテナントのデータについてバッチ処理を実行するか否かを、該バッチ処理で作成されるデータの種類に基づいて決定する。
以上のように、実施例2によれば、移行元システム103が課金データ作成処理によって作成したデータを移行先システム104へ送信している場合であっても、正しく課金することができる。また、課金データ作成処理の実行時刻が移行中の時間帯と重なった場合であっても、課金データの作成漏れが発生しないようにすることができる。
なお、実施例2では課金データ作成処理を例に説明したが、課金データ作成処理に限定されるものではない。例えば、あるバッチ処理で作成されるデータが、システムで提供されるサービスを利用した回数に応じて算出される種類のデータである場合には、移行元システム103および移行先システム104では、移行状態が移行完了を示すデータについて、該バッチ処理を実行すると決定する。一方、そのバッチ処理で作成されるデータが、システムで提供されるサービスに登録されている機器の数に応じて算出される種類のデータである場合には、移行元システム103では、移行状態が移行完了を示すデータについて、該バッチ処理を実行しないと決定し、移行先システム104では、移行状態が移行完了を示すデータについて、そのバッチ処理が最後に実行されたタイミングに基づいて、そのバッチ処理を実行するか否かを決定するように構成してもよい。
実施例3では、移行先システム104における移行完了後の初回バッチ処理に要する時間が、通常よりも長くなる場合があり、これを解決する実施例について説明する。
前回の処理からの差分データのみを処理対象にするバッチ処理がある。このようなバッチ処理の処理対象データは、通常は前回の処理からの差分データのみである。しかし、移行完了後の初回バッチ処理では、通常の処理対象データよりも多くのデータを処理しなければならない場合がある。例えば、前回の処理からの差分データのみをデータベースに登録するようなバッチ処理がある。また、移行元システム103と移行先システム104とでデータベースの種類が異なる場合がある。このような場合、移行先システム104の移行完了後の初回バッチ処理では、すべてのデータを新しいデータベースに登録する必要がある。そのため、移行完了後の初回バッチ処理に要する時間は、通常よりも長くなる。
また、単純に、移行中にバッチ処理を実行していなかった場合、移行完了後の初回バッチ処理では、移行中に処理するはずだったデータをまとめて処理する。そのため、移行完了後の初回バッチ処理に要する時間は、通常よりも長くなる。
実施例3では、移行先システム104における移行完了後の初回バッチ処理に要する時間を、短くするための仕組みについて説明する。なお、以下、実施例1との差分について説明する。
<移行処理>
図16は、実施例3においてデータ移行システム105の移行処理部402が実行する移行処理の手順を例示するフローチャートである。すなわち、図16に示す処理は、データ移行システム105のCPU201がHDD211等に格納されるプログラムを読み出して実行することにより実現されるものである。本処理は、実施例1の図7で示した移行処理を拡張したものである。本処理では、移行完了後から初回バッチ処理が完了するまでの間、バッチ処理を実行するサーバの性能を上げる処理を追加し、移行完了後の初回バッチ処理に要する時間を短くする。なお、図7と同一のステップには同一のステップ番号を付してある。
S701〜S706は、実施例1で示した通りである。
S706の後、S1601において、移行処理部402は、移行先システム104のバッチ処理を実行するサーバの性能を上げさせる。例えば、移行処理部402は、移行先システム104のバッチ処理を実行するサーバのCPUを高性能に性能アップする、また使用可能なRAM容量を大きくすることを、移行先システム104に要求する。この要求に応じて、移行先システム104は、バッチ処理を実行するサーバのCPUを高性能に性能アップする、また使用可能なRAM容量を大きくする。すなわち、移行処理部402は、データ移行が完了した後の移行先システム104における初回のバッチ処理の実行前に、移行先システム104の性能を上げるように、移行先システム104の処理能力を制御する。本処理の目的は、移行先システム104のバッチ処理を実行するサーバの性能を上げることで、移行完了後の初回バッチ処理に要する時間を短くすることである。
次に、S1602において、移行処理部402は、移行先システム104の初回バッチ処理が完了するまで待機する。
次に、S1603において、移行処理部402は、上記S1601で設定した移行先システム104のバッチ処理を実行するサーバの性能を元に戻す(上記S1601の設定前の状態に下げる)。例えば、移行処理部402は、移行先システム104のバッチ処理を実行するサーバのCPUの性能を元に戻す(下げる)、また使用可能なRAM容量を元に戻す(小さくする)ことを、移行先システム104に要求する。この要求に応じて、移行先システム104は、バッチ処理を実行するサーバのCPUを性能ダウンする、また使用可能なRAM容量を小さくする。上記S1603の処理の後、移行処理部402は、本フローチャートの処理を終了する。
以上のように、実施例3によれば、移行先システム104における移行完了後の初回バッチ処理に要する時間を、短くすることができる。
実施例4では、移行先システム104における移行完了後の初回バッチ処理に要する時間を、短くするための、実施例3とは別の仕組みについて説明する。以下では実施例3との差分について説明する。
<移行処理>
図17は、実施例4においてデータ移行システム105の移行処理部402が実行する移行処理の手順を例示するフローチャートである。すなわち、図17に示す処理は、データ移行システム105のCPU201がHDD211等に格納されるプログラムを読み出して実行することにより実現されるものである。本処理は、実施例3の図16で示した移行処理の一部を変更したものである。本処理では、移行完了後から初回バッチ処理が完了するまでの間、バッチ処理を実行するサーバの性能を上げる、または、サーバを増やす処理を追加し、移行完了後の初回バッチ処理に要する時間を短くする。なお、図16と同一のステップには同一のステップ番号を付してある。
S701〜S706、S1602は、実施例3で示した通りである。
S706の後、S1701において、移行処理部402は、移行先システム104のバッチ処理に関するオートスケールの設定を、オートスケールアップまたはオートスケールアウトが発生しやすいように変更させる。オートスケールの設定とは、例えば、キュー内のメッセージ数が閾値を超えた場合にメッセージを取得して自動的にバッチ処理を実行するサーバの台数を増加するスケールアウトの発動をさせるための条件等の設定、また、バッチ処理を実行するサーバのCPU使用率やRAM使用率が高い状態が一定時間以上続いた場合に自動的にバッチ処理を実行するサーバを高性能なサーバに変更するスケールアップの発動をさせるための条件等の設定を示す。このようなバッチ処理に関するオートスケールの設定を、オートスケールアップまたはオートスケールアウトが発生しやすいように変更させる。例えば、移行処理部402は、移行先システム104のバッチ処理に関するオートスケールの設定を、オートスケールアップまたはオートスケールアウトが発生しやすい設定に変更することを、移行先システム104に要求する。この要求に応じて、移行先システム104は、バッチ処理に関するオートスケールの設定を、オートスケールアップまたはオートスケールアウトが発生しやすい設定に変更する。本処理の目的は、移行先システム104のバッチ処理を実行するサーバをスケールアップまたはスケールアウトさせることで、移行完了後の初回バッチ処理に要する時間を短くすることである。
また、S1602の後、S1702において、移行処理部402は、上記S1701で設定した移行先システム104のバッチ処理に関するオートスケールの設定を元(上記S1701の設定前の状態)に戻させる。例えば、移行処理部402は、移行先システム104のバッチ処理に関するオートスケールの設定を元の設定に戻すことを、移行先システム104に要求する。この要求に応じて、移行先システム104は、バッチ処理に関するオートスケールの設定を元に戻す。
上記S1702の後、移行処理部402は、本フローチャートの処理を終了する。
以上のように、実施例4によれば、移行先システム104における移行完了後の初回バッチ処理に要する時間を、短くすることができる。
以上のように、本発明の各実施例は、ネットワーク機器102の管理サービスが動作する移行元システム103を、移行先システム104に移行する際の機能に関するものである。各実施例において、システムの移行は、並行動作する移行元システム103と移行先システム104との間で、データベース304で管理されるデータなどを移行することで行わる。例えば、デバイス管理サービスが動作するクラウド環境を、新クラウド環境に移行する際に、各クラウド環境で並行動作する管理サービス間で、管理データなどを移行する。データ移行システム105は、移行元システム103におけるバッチ処理の進捗、データ移行の状態に基づいて、移行元システム103及び移行先システム104の移行に係るステータス(図5に示す移行状態503)を管理する。移行元システム103及び移行先システム104では、このステータス(移行状態503)に応じて、バッチ処理の実行の可否を制御する。
すなわち、データ移行システム105は、移行元システム103のデータベースで管理される移行対象のデータの移行状態を移行中に変更させる。さらに、データ移行システム105は、移行元システム103で実行中のバッチ処理の完了を待機する。さらに、データ移行システム105は、移行元システム103のデータベースで管理される移行対象のデータを取得して移行先システム104のデータベースに登録する。さらに、データ移行システム105は、移行元システム103のデータベースで管理される各データのうち、移行に成功したデータの移行状態を移行完了に変更させ、移行に失敗したデータの移行状態を移行前に変更させる。また、移行元システム103及び移行先システム104では、移行状態が移行中を示すデータに対してはバッチ処理が実行されないように制御する。なお、データ移行システム105は、データの移行前に、移行先システム104のデータベースの性能を上げておき、データの移行後に、移行先システム104のデータベースの性能を元に戻させるように制御する。このような構成により、バッチ処理を実行するシステムのデータを、移行元及び移行先のシステムを並行稼働しながら段階的に移行する場合であっても、データを高速かつ正常に移行でき、移行後のデータチェックも正常に行えるデータ移行システムを提供できる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
(その他の実施例)
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。

Claims (11)

  1. 第1のシステムのデータベースで管理されるデータの、該第1のシステムから第2のシステムへのデータ移行を制御するデータ移行システムであって、
    前記第1のシステムのデータベースで管理される移行対象のデータの移行状態を、移行中を示す状態に変更させる変更手段と、
    前記第1のシステムで実行中のバッチ処理の完了を監視する監視手段と、
    前記第1のシステムのデータベースで管理される移行対象のデータを取得し、該取得したデータを前記第2のシステムのデータベースに登録することで、データ移行を実行する移行手段と、を有し、
    前記変更手段は、前記第1のシステムのデータベースで管理される移行対象の各データのうち、前記移行手段によるデータ移行に成功したデータの移行状態を、移行完了を示す状態に変更させ、
    前記変更手段は、前記第1のシステムのデータベースで管理される移行対象の各データのうち、前記移行手段によるデータ移行に失敗したデータの移行状態を、移行前を示す状態に変更させ、
    前記第1のシステム及び前記第2のシステムでは、移行状態が移行中を示すデータに対してはバッチ処理が実行されないことを特徴とするデータ移行システム。
  2. 前記移行手段によるデータ移行の前に、前記第2のシステムのデータベースの性能を上げることを前記第2のシステムに要求する第1の制御手段を、有し、
    前記第1の制御手段は、前記移行手段によるデータ移行の後に、前記第2のシステムのデータベースの性能を下げることを前記第2のシステムに要求することを特徴とする請求項1に記載のデータ移行システム。
  3. 前記第2のシステム及び前記第1のシステムでは、バッチ処理で作成されるデータがサービスを利用した回数に応じて算出される種類のデータである場合には、移行状態が移行完了を示すデータについて、該バッチ処理を実行すると決定されることを特徴とする請求項1又は2に記載のデータ移行システム。
  4. 前記第2のシステムでは、バッチ処理で作成されるデータがサービスに登録されている機器の数に応じて算出される種類のデータである場合には、移行状態が移行完了を示すデータについて、該バッチ処理が最後に実行されたタイミングに基づいて、該バッチ処理を実行するか否かが決定されることを特徴とする請求項1乃至3のいずれか1項に記載のデータ移行システム。
  5. 前記第1のシステムでは、バッチ処理で作成されるデータがサービスに登録されている機器の数に応じて算出される種類のデータである場合には、移行状態が移行完了を示すデータについて、該バッチ処理を実行しないと決定されることを特徴とする請求項1乃至4のいずれか1項に記載のデータ移行システム。
  6. 前記第1のシステム及び前記第2のシステムでは、顧客のデータが、顧客ごとに用意されたテナントで管理され、
    前記移行手段は、前記テナントの単位でデータ移行を実行し、
    前記第1のシステム及び前記第2のシステムでは、前記テナントの単位でバッチ処理の実行の可否が決定されることを特徴とする請求項1乃至5のいずれか1項に記載のデータ移行システム。
  7. 前記監視手段は、前記変更手段により移行状態が移行中を示す状態に変更されてからの待機時間が所定の時間を超えた場合には、前記第1のシステムで実行中のバッチ処理を停止させ、該停止させたバッチ処理の実行状態を、失敗を示す状態に変更させることを特徴とする請求項1乃至6のいずれか1項の記載のデータ移行システム。
  8. 前記データ移行が完了した後の前記第2のシステムにおける初回のバッチ処理の実行前に、前記第2のシステムの性能を上げることを前記第2のシステムに要求する第2の制御手段を、有し、
    前記第2の制御手段は、前記初回のバッチ処理の完了後に、前記第2のシステムの性能を下げることを前記第2のシステムに要求することを特徴とする請求項1乃至7のいずれか1項に記載のデータ移行システム。
  9. 前記データ移行が完了した後の前記第2のシステムにおける初回のバッチ処理の実行前に、前記第2のシステムにおけるオートスケールの設定について、スケールアップまたはスケールアウトが発生しやすい設定への変更を前記第2のシステムに要求する第3の制御手段と、
    前記第3の制御手段は、前記初回のバッチ処理の完了後に、前記第2のシステムにおけるオートスケールの設定を、該変更の前の状態に戻すことを前記第2のシステムに要求することを特徴とする請求項1乃至7のいずれか1項に記載のデータ移行システム。
  10. 前記データ移行システムは、前記第2のシステム内に構築されることを特徴とする請求項1乃至9のいずれか1項に記載のデータ移行システム。
  11. 第1のシステムのデータベースで管理されるデータの、該第1のシステムから第2のシステムへのデータ移行を制御するデータ移行システムの制御方法であって、
    前記第1のシステムのデータベースで管理される移行対象のデータの移行状態を、移行中を示す状態に変更させる第1の変更ステップと、
    前記第1のシステムで実行中のバッチ処理の完了を監視する監視ステップと、
    前記第1のシステムのデータベースで管理される移行対象のデータを取得し、該取得したデータを前記第2のシステムのデータベースに登録することで、データ移行を実行する移行ステップと、
    前記第1のシステムのデータベースで管理される移行対象の各データのうち、前記移行ステップでのデータ移行に成功したデータの移行状態を、移行完了を示す状態に変更させる第2の変更ステップと、
    前記第1のシステムのデータベースで管理される移行対象の各データのうち、前記移行ステップでのデータ移行に失敗したデータの移行状態を、移行前を示す状態に変更させる第3の変更ステップと、を有し、
    前記第1のシステム及び前記第2のシステムでは、移行状態が移行中を示すデータに対してはバッチ処理が実行されないことを特徴とするデータ移行システムの制御方法。
JP2016045484A 2016-03-09 2016-03-09 データ移行システム、及び、データ移行システムの制御方法 Active JP6755680B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016045484A JP6755680B2 (ja) 2016-03-09 2016-03-09 データ移行システム、及び、データ移行システムの制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016045484A JP6755680B2 (ja) 2016-03-09 2016-03-09 データ移行システム、及び、データ移行システムの制御方法

Publications (2)

Publication Number Publication Date
JP2017162152A true JP2017162152A (ja) 2017-09-14
JP6755680B2 JP6755680B2 (ja) 2020-09-16

Family

ID=59856971

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016045484A Active JP6755680B2 (ja) 2016-03-09 2016-03-09 データ移行システム、及び、データ移行システムの制御方法

Country Status (1)

Country Link
JP (1) JP6755680B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102125010B1 (ko) 2020-03-17 2020-06-19 김명훈 데이터베이스 전환 분석 시스템 및 방법
CN114202365A (zh) * 2021-12-15 2022-03-18 广东电力信息科技有限公司 一种基于电力行业营销系统实时数据的监控方法
WO2022172798A1 (ja) * 2021-02-12 2022-08-18 ダイキン工業株式会社 情報処理装置、情報処理方法、及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006323539A (ja) * 2005-05-17 2006-11-30 Hitachi Ltd 情報処理方法及びシステム
WO2013073018A1 (ja) * 2011-11-16 2013-05-23 株式会社日立製作所 データベース管理方法、データベースシステム及びデータベース管理プログラム
JP2015111460A (ja) * 2015-02-26 2015-06-18 株式会社日立製作所 管理計算機、計算機システム、及び管理方法
JP2015138334A (ja) * 2014-01-21 2015-07-30 キヤノン株式会社 サーバー装置、データ管理システム、データ管理方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006323539A (ja) * 2005-05-17 2006-11-30 Hitachi Ltd 情報処理方法及びシステム
WO2013073018A1 (ja) * 2011-11-16 2013-05-23 株式会社日立製作所 データベース管理方法、データベースシステム及びデータベース管理プログラム
JP2015138334A (ja) * 2014-01-21 2015-07-30 キヤノン株式会社 サーバー装置、データ管理システム、データ管理方法及びプログラム
JP2015111460A (ja) * 2015-02-26 2015-06-18 株式会社日立製作所 管理計算機、計算機システム、及び管理方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102125010B1 (ko) 2020-03-17 2020-06-19 김명훈 데이터베이스 전환 분석 시스템 및 방법
WO2022172798A1 (ja) * 2021-02-12 2022-08-18 ダイキン工業株式会社 情報処理装置、情報処理方法、及びプログラム
JP2022123361A (ja) * 2021-02-12 2022-08-24 ダイキン工業株式会社 情報処理装置、情報処理方法、及びプログラム
JP7273326B2 (ja) 2021-02-12 2023-05-15 ダイキン工業株式会社 情報処理装置、情報処理方法、及びプログラム
CN114202365A (zh) * 2021-12-15 2022-03-18 广东电力信息科技有限公司 一种基于电力行业营销系统实时数据的监控方法

Also Published As

Publication number Publication date
JP6755680B2 (ja) 2020-09-16

Similar Documents

Publication Publication Date Title
US8458284B2 (en) Systems and methods for efficient live application migration within bandwidth constrained networks
JP5191062B2 (ja) ストレージ制御システム、ストレージ制御システムに関する操作方法、データ・キャリア及びコンピュータ・プログラム
JP7158864B2 (ja) システムおよびそれを用いる方法
JP5391601B2 (ja) 資源転送システム、資源転送方法、情報処理装置及びコンピュータプログラム
US9720776B2 (en) Server system, method for controlling the same, and program for executing parallel distributed processing
US10452818B2 (en) License management system
JP2010218049A (ja) 情報処理装置、情報処理方法及びプログラム
JP6755680B2 (ja) データ移行システム、及び、データ移行システムの制御方法
WO2013076872A1 (ja) 計算機システム
CN111262720B (zh) 设备管理服务器及方法、和计算机可读存储介质
JP5250955B2 (ja) データ処理システムのバックアップ制御装置及びシステム
JP2016081189A (ja) 情報処理装置とデータ同期方法、データ同期システムおよびプログラム
JP2017004502A (ja) 情報システムおよびアップデート方法
US20180357135A1 (en) Information processing apparatus that manages data on client, backup method therefor, control method therefor, and storage medium
JP6639363B2 (ja) サーバ装置、情報処理方法及びプログラム
JP6740037B2 (ja) ソフトウェア配信システム、及びそのソフトウェア配信方法
WO2017097221A1 (zh) 用于数据呈现以及辅助数据呈现的方法和装置
JP2015153117A (ja) 文書生成システム
CN110928872B (zh) 处理系统和方法
JP2014137672A (ja) 管理システム、管理方法およびコンピュータプログラム
JP7098280B2 (ja) 情報処理システム、および制御方法
JP2016212852A (ja) 情報処理装置、情報処理システムおよび方法
JP6819501B2 (ja) 情報処理システムおよび情報処理方法
US20150254139A1 (en) Redundancy processing method and system, and information processing apparatus thereof
JP5965781B2 (ja) リソース管理装置、リソース管理方法およびプログラム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20180306

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200114

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200826

R151 Written notification of patent or utility model registration

Ref document number: 6755680

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151