JP5040629B2 - データ移行プログラム、データ移行方法およびデータ移行装置 - Google Patents

データ移行プログラム、データ移行方法およびデータ移行装置 Download PDF

Info

Publication number
JP5040629B2
JP5040629B2 JP2007318767A JP2007318767A JP5040629B2 JP 5040629 B2 JP5040629 B2 JP 5040629B2 JP 2007318767 A JP2007318767 A JP 2007318767A JP 2007318767 A JP2007318767 A JP 2007318767A JP 5040629 B2 JP5040629 B2 JP 5040629B2
Authority
JP
Japan
Prior art keywords
data
migration
request
response
business
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
JP2007318767A
Other languages
English (en)
Other versions
JP2009140428A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007318767A priority Critical patent/JP5040629B2/ja
Publication of JP2009140428A publication Critical patent/JP2009140428A/ja
Application granted granted Critical
Publication of JP5040629B2 publication Critical patent/JP5040629B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、データ移行プログラム、データ移行方法およびデータ移行装置に関し、特にシステム間でデータを移行するデータ移行プログラム、データ移行方法およびデータ移行装置に関する。
近年、コンピュータによるデータ処理システムの形態として、SOA(Service Oriented Architecture)が普及してきている。SOA型のデータ処理システムは、複数のサービスを動的に連携させることで一連のデータ処理を実現する疎結合の分散処理システムである。SOA型のデータ処理システムを用いることで、構成要素であるサービスの追加・変更・削除を柔軟に行うことができる。このような利点から、SOAは企業の基幹業務システムなど高い信頼性が要求されるシステムにも採用されつつある。
ところで、極めて高い信頼性が要求されるデータ処理システムでは、旧システムから新システムへの移行などのメンテナンス作業中でも、システム全体の停止を避け、24時間365日連続稼動させることが望まれる。例えば、金融機関の基幹業務システムでは、顧客口座データや取引記録データを検索・更新するサービスを稼動させつつ、これらのデータを旧データベースから新データベースに移行できるようにしたいという要求がある。
このような要求に対し、旧データベースと新データベースとを同時に稼動させておき、アクセス要求の発生に応じて、順次データを旧データベースから新データベースに移行するシステムが知られている(例えば、特許文献1参照)。このシステムでは、アクセス要求があると、まず新データベースを検索して対象データの有無を調べ、新データベースに対象データが存在しない場合には、旧データベースから新データベースに対象データを移行する。
特開平05−324420号公報
しかし、上記特許文献1に記載のデータ移行方法は、同一データを対象とする複数のデータ処理依頼が入力された場合のアクセス競合について考慮していないという問題がある。例えば、SOA型のデータ処理システムでは、複数のデータ処理依頼が入力されると、データ処理依頼に対応して複数のプロセスが並列に実行される。
この時、(1)第1のプロセスが新システムにアクセスして対象データが未移行と判断する、(2)第2のプロセスが新システムにアクセスして対称データが未移行と判断する、(3)第1のプロセスが旧システムから新システムに対象データを移行する、(4)第2のプロセスが旧システムから新システムに対象データの移行を試みる、という順に2つのプロセスが実行される場合が考えられる。この場合、第2のプロセスは上記(2)と(4)の処理の結果、新旧いずれのシステムにも対象データが存在しないと判断することになり、エラーが生じる。このようなアクセス競合によるデータ処理の失敗は、高い信頼性が要求されるシステムでは大きな問題となる。
本発明はこのような点に鑑みてなされたものであり、データ処理依頼に応じて旧システムから新システムにデータ移行を行う場合に、アクセス競合が生じても正常にデータ処理を継続できるようにするデータ移行プログラム、データ移行方法およびデータ移行装置を提供することを目的とする。
上記課題を解決するために、移行元データ処理システムと移行先データ処理システムとに接続されたコンピュータに、移行元データ処理システムから移行先データ処理システムへのデータ移行を実行させるデータ移行プログラムが提供される。このデータ移行プログラムは、コンピュータを、処理依頼手段、データ要求手段、登録依頼手段、再処理依頼手段および削除依頼手段として機能させる。処理依頼手段は、データ処理依頼を受け付けると、移行先データ処理システムにデータ処理依頼を送信する。データ要求手段は、処理依頼手段による送信に対し移行先データ処理システムから処理対象データの不存在応答を受信すると、移行元データ処理システムに処理対象データの取得要求を送信する。登録依頼手段は、データ要求手段による取得要求に対し移行元データ処理システムから処理対象データを受信した場合、移行先データ処理システムに受信したデータの登録依頼を送信する。再処理依頼手段は、データ要求手段による取得要求に対し移行元データ処理システムから処理対象データの不存在応答を受信した場合、および、登録依頼手段により登録依頼が送信された場合、処理依頼手段が送信したデータ処理依頼を移行先データ処理システムに再送信する。削除依頼手段は、登録依頼手段による送信に対し移行先データ処理システムから登録完了応答を受信し、かつ、再処理依頼手段による再送信に対し移行先データ処理システムから処理結果応答を受信すると、移行元データ処理システムに処理対象データの削除依頼を送信する。
このようなデータ移行プログラムを実行するコンピュータによれば、データ処理依頼を受け付けると、処理依頼手段により、移行先データ処理システムにデータ処理依頼が送信される。これに対し、移行先データ処理システムから処理対象データの不存在応答を受信すると、データ要求手段により、移行元データ処理システムに処理対象データの取得要求が送信される。ここで、移行元データ処理システムから処理対象データを受信した場合、登録依頼手段により、移行先データ処理システムに処理対象データの登録依頼が送信される。そして、移行元データ処理システムから処理対象データの不存在応答を受信した場合、および、移行先データ処理システムに登録依頼を送信した場合、再処理依頼手段により、データ処理依頼が移行先データ処理システムに再送信される。その後、移行先データ処理システムから登録完了応答を受信し、かつ、移行先データ処理システムから処理結果応答を受信すると、削除依頼手段により、移行元データ処理システムに処理対象データの削除依頼が送信される。
また、上記課題を解決するために、上記データ移行プログラムを実行するコンピュータと同様の処理を行うデータ移行方法、および、上記データ移行プログラムを実行するコンピュータと同様の機能を有するデータ移行装置が提供される。
上記データ移行プログラム、データ移行方法およびデータ移行装置によれば、データ処理依頼に応じて移行元データ処理システムから移行先データ処理システムへのデータ移行を行う際に、アクセス競合が生じても正常にデータ処理を継続することが可能となる。
以下、実施の形態を図面を参照して詳細に説明する。まず、本実施の形態の概要について説明し、その後、本実施の形態の具体的な内容を説明する。
図1は、本実施の形態の概念図である。図1に示されるコンピュータ1は、システムを稼動したまま、移行先データ処理システム2への移行元データ処理システム3からのデータの移行を可能とする。また、コンピュータ1は、利用者からの移行先データ処理システム2への業務処理の要求を中継する。コンピュータ1は、システム管理情報記憶手段1a、処理依頼手段1b、データ要求手段1c、登録依頼手段1d、再処理依頼手段1eおよび削除依頼手段1fを有する。
システム管理情報記憶手段1aには、移行先データ処理システム2や移行元データ処理システム3を構成するコンピュータやサービスの配置先を定義したシステム管理情報が格納される。
処理依頼手段1bは、業務処理の要求が発生した場合に、システム管理情報記憶手段1aに記憶されたシステム管理情報に基づいて、処理の対象となる移行先データ処理システム2で稼動するサービス群2aに業務処理を依頼する。業務処理の要求は、例えば、移行先データ処理システム2のサービス群2aを利用しようとする利用者の端末や、この利用者の要求を中継する別のシステムからコンピュータ1へ送信される。
データ要求手段1cは、処理依頼手段1bが送信した業務処理の依頼に対して、移行先データ処理システム2に処理の対象となるデータが存在しない場合、移行元データ処理システム3に対してこのデータを提供するよう依頼する。データ要求手段1cは、この依頼に対して対応するデータを取得した場合は、登録依頼手段1dに取得したデータを出力する。また、データ要求手段1cは、移行元データ処理システム3から、このデータが存在しない旨の応答を受信した場合、再処理依頼手段1eに再度、業務処理の依頼を移行先データ処理システム2に送信するよう通知する。
登録依頼手段1dは、データ要求手段1cからデータを取得すると、システム管理情報に基づいて、取得したデータを移行先データ処理システム2に登録するよう依頼する。登録依頼手段1dは、移行先データ処理システム2から、登録完了応答または登録済み応答を受信する。そして、登録依頼手段1dは、再処理依頼手段1eに再度業務処理の依頼を移行先データ処理システム2に送信するよう通知する。
再処理依頼手段1eは、データ要求手段1cまたは登録依頼手段1dからの通知を受け付けると、システム管理情報に基づいて移行先データ処理システム2に再度業務処理を依頼する。
削除依頼手段1fは、登録依頼手段1dが移行先データ処理システム2から登録完了応答を受信し、かつ、再処理依頼手段による再依頼に対して処理結果応答を受信すると、移行元データ処理システム3に上記データを削除するよう移行元データ処理システム3に依頼する。
移行先データ処理システム2は、サービス群2aおよびデータ記憶手段2bを有する。
サービス群2aは、コンピュータ1からの依頼に応じて処理を実行し、実行結果を応答する業務サービス群である。サービス群2aは、以下のサービスを含んでいる。第1のサービスは、処理依頼手段1bや再処理依頼手段1eからの処理依頼に対して業務処理を実行し、処理結果応答やデータ不存在応答を処理依頼手段1bや再処理依頼手段1eに送信するデータ処理実行サービスである。第2のサービスは、登録依頼手段1dからの登録依頼に対してデータをデータ記憶手段2bに登録するデータ登録サービスである。
データ記憶手段2bは、サービス群2aが扱うデータを記憶する。
移行元データ処理システム3は、サービス群3aおよびデータ記憶手段3bを有する。
サービス群3aは、コンピュータ1からの依頼に応じて処理を実行し、実行結果を応答する業務サービス群である。サービス群3aは、以下のサービスを含んでいる。第1のサービスは、データ要求手段1cからのデータ要求に対して、データ記憶手段3bから該当のデータを取得し、データ要求手段1cに送信するデータ取得サービスである。第2のサービスは、削除依頼手段1fからのデータ削除依頼に対して、データ記憶手段3bに登録された該当のデータを削除するデータ削除サービスである。
データ記憶手段3bは、サービス群3aが扱うデータを記憶する。
このような構成により、コンピュータ1が業務処理の要求を受信すると、その業務処理の対象となる移行先データ処理システムで稼動するサービスに処理依頼が送信される。そして、その処理依頼の対象となるデータが存在しない旨の応答を受信すると、移行元データ処理システムにデータ提供が依頼される。データ提供の依頼によってデータが取得されると、移行先データ処理システムにデータが登録され、また、データ提供の依頼の際に、移行元データ処理システムより対象のデータが存在しない旨の応答を受信した場合には、再度移行先データ処理システムに処理依頼が送信される。更にまた、この処理依頼に対する処理結果の応答に基づいて、移行元データ処理システムに登録されたデータの削除が依頼される。
これにより、データ処理依頼に応じて移行元データ処理システム3から移行先データ処理システム2へのデータ移行を行う際に、アクセス競合が生じても正常にデータ処理を継続することが可能となる。
以下、本実施の形態を図面を参照して詳細に説明する。
図2は、本実施の形態のシステム構成を示す図である。図2に示すデータ処理システムは、データ移行連携用サーバ100によって制御されるSOA型の連携システムである。
本実施の形態に係る連携システムでは、データ移行連携用サーバ100、新システム200および旧システム300がネットワーク10を介して相互に接続されている。また、端末装置21,22,23が、ネットワーク20を介してデータ移行連携用サーバ100に接続されている。
データ移行連携用サーバ100は、新システム200と旧システム300との間でデータの移行を実行する。また、データ移行連携用サーバ100は、端末装置21,22,23から業務処理の要求を受け付け、業務処理を実行するサーバおよびサービスを特定して、特定したサービスに対して業務処理の依頼を送信する。すなわち、データ移行連携用サーバ100は、データ移行のためのシステム間連携のみならず、業務処理を実行するために複数のサービスが必要な場合、共通のデータ形式、コマンドなどを用いて互いに通信できるように仲介するインタフェースの役割を担う。
新システム200は、サーバ210a、210bおよびデータベース(DB:DataBase)220で構成されている。サーバ210a、210bは、利用者に対して業務サービスを提供する。データベース220は、サーバ210a、210bに接続されたデータベースシステムである。データベース220には、サーバ210a、210bで稼動するサービスで利用されるデータが格納されている。図2の例では、サーバ210a、210bでデータベース220を共有する構成としているが、各サーバに別々にデータベースを用意してもよい。
旧システム300は、サーバ310a、310bおよびデータベース320で構成されている。サーバ310a、310bは、サーバ210a、210bに対する旧環境のサーバである。データベース320は、サーバ310a、310bと接続されたデータベースシステムである。データベース320には、サーバ310a、310bで稼動するサービスで利用されるデータが格納されている。データベース320は、データベース220に対する旧環境のデータベースであり、データベース220への移行が必要なデータを記憶している。
次に、データ移行連携用サーバ100のハードウェア構成に関して説明する。
図3は、データ移行連携用サーバのハードウェア構成を示す図である。データ移行連携用サーバ100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス108を介してRAM(Random Access Memory)102、HDD(Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、通信インタフェース106,107が接続されている。
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。
HDD103には、データ移行連携用サーバ100上のOSやアプリケーションプログラムが扱うデータが格納される。
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス108を介してCPU101に送信する。
通信インタフェース106は、ネットワーク10に接続されている。通信インタフェース106は、ネットワーク10を介して、端末装置21,22,23との間でデータの送受信を行う。
通信インタフェース107は、ネットワーク20に接続されている。通信インタフェース107は、ネットワーク20を介して、新システム200や旧システム300との間でデータの送受信を行う。
なお、端末装置21,22,23およびサーバ210a、210b、310a,310bに関しても同様のハードウェア構成によって実現できる。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
次に、データ移行連携用サーバ100の機能構成について説明する。
図4は、データ移行連携用サーバのデータ移行機能を示すブロック図である。データ移行連携用サーバ100は、端末装置21,22,23からの業務処理要求が発生した場合に、その処理要求の対象となるデータが新システム200に無い場合に、このデータを旧システム300から新システム200に移行する。このように業務処理要求を契機として実行されるデータ移行を、以降の説明では順次移行と呼ぶこととする。
更に、データ移行連携用サーバ100は、データベースのログなどの業務処理の対象外であるデータや、処理要求の発生頻度が低いデータを移行するために、移行対象データのリストである移行データリストに基づいて、処理要求を待たずに移行する。このように移行データリストに基づいたデータ移行を、以降の説明では一括移行と呼ぶこととする。一括移行は、例えば、管理者によるスケジュール登録や、即時開始の要求により実行される。
データ移行連携用サーバ100は、システム管理情報記憶部111、業務処理要求受付部112、業務処理依頼部113、業務データ要求部114、登録依頼部115、再業務処理依頼部116、削除依頼部117、業務処理結果応答部118、移行データリスト受付部119および移行データリスト読込部120を有する。
システム管理情報記憶部111は、新システム200と旧システム300とを構成するサーバやサービスの配置先を定義したシステム管理情報、移行対象とするデータのリスト、端末装置21,22,23から受け付けた業務処理要求を記憶する。
業務処理要求受付部112は、端末装置21,22,23から送信された業務処理要求を受け付ける。そして、業務処理要求に要求IDを付与してシステム管理情報記憶部111に格納する。なお、この要求IDに対して、各部の処理の進行度合いをログとして生成することで、複数の要求を受け付けた場合にも、各要求と次に実行する処理の対応付けを可能とする。
業務処理依頼部113は、受け付けた業務処理要求に対する業務処理の実行依頼を新システム200に送信する。業務処理依頼部113は、新システム200から上記業務処理の処理対象となるデータが存在しない旨の応答を受信した場合には、業務データ要求部114にこの応答を通知する。また、業務処理依頼部113は、新システム200から業務処理の結果応答を受け付けると、業務処理結果応答部118にこの結果を通知する。
業務データ要求部114は、順次移行の場合、業務処理依頼部113から、処理対象となるデータが新システム200に存在しない旨の通知を受け付ける。そして、旧システム300にこの処理対象となるデータを提供するよう依頼する。業務データ要求部114は、このデータを旧システム300から受け付けた場合、このデータを登録依頼部115に出力する。業務データ要求部114は、旧システム300に上記データが存在しない旨の応答を受け付けた場合には、再業務処理依頼部116に対して新システム200に処理依頼を送信するよう通知する。
また、業務データ要求部114は、一括移行の場合、移行データリスト読込部120によって指定されたデータを旧システム300に提供するよう依頼する。業務データ要求部114は、このデータを旧システム300から受け付けた場合、このデータを登録依頼部115に出力する。業務データ要求部114は、提供を依頼したデータが旧システム300に存在しない旨の応答を受け付けた場合には、移行データリスト読込部120に、移行データリストに指定された次のデータを参照するよう通知する。
登録依頼部115は、システム管理情報記憶部111に記憶されたシステム管理情報に基づいて、新システム200に業務データ要求部114から受け付けたデータを登録するよう依頼する。登録依頼部115は、新システム200に正常にデータの登録が完了した場合、登録完了応答を受信する。登録依頼部115は、新システム200に既にこのデータが存在する場合、新システム200からデータ登録済み応答を受信する。また、順次移行の場合、登録依頼部115は、再業務処理依頼部116に対して新システム200に処理依頼を送信するよう通知する。
再業務処理依頼部116は、業務データ要求部114または登録依頼部115からの通知を受け付けると、新システム200に業務処理依頼をする。再業務処理依頼部116は、新システム200から業務処理の結果応答を受け付けると、業務処理結果応答部118にこの結果を通知する。
削除依頼部117は、登録依頼部115が新システム200から登録完了応答を受信し、かつ再業務処理依頼部116が業務処理の結果応答を受け付けると、旧システム300に対し、新システム200に登録されたデータを削除するよう依頼する。また、一括移行の場合、削除依頼部117は、移行データリスト読込部120に移行データリストに指定された次のデータを参照するよう通知する。
業務処理結果応答部118は、業務処理依頼部113または再業務処理依頼部116から業務処理要求に対する応答を受け付けると業務処理の要求元である端末装置21,22,23に業務処理結果を応答する。
移行データリスト受付部119は、端末装置21,22,23から移行データリストを受け付ける。そして、移行データリスト受付部119は、移行データリストをシステム管理情報記憶部111に格納する。
移行データリスト読込部120は、システム管理情報記憶部111に記憶された移行データリストから移行対象データを1件分読み込んで、業務データ要求部114に旧システム300に対してデータの要求を送信するよう指示する。移行データリスト読込部120は、業務データ要求部114から指示されたデータが無い旨の応答を受け付けた場合、移行データリストの次の1件分を読み込んで業務データ要求部114にデータの移行を指示する。また、移行データリスト読込部120は、削除依頼部117から次のデータを参照するよう通知を受けると、移行データリストの次の1件分を読み込んで業務データ要求部114にデータの移行を指示する。
新システム200は、業務サービス群211および業務データ記憶部221を有する。 業務サービス群211は、データ移行連携用サーバ100からの依頼に応じて処理を実行し、データ移行連携用サーバ100に実行結果を応答する業務サービス群である。業務サービス群211は、以下のサービスを含んでいる。第1のサービスは、業務処理依頼部113や再業務処理依頼部116からの処理依頼に対して業務処理を実行し、処理結果応答やデータ不存在応答を業務処理依頼部113や再業務処理依頼部116に送信するデータ処理実行サービスである。第2のサービスは、登録依頼部115からの登録依頼に対してデータを業務データ記憶部221に登録するデータ登録サービスである。
業務データ記憶部221は、業務サービス群211が扱うデータを記憶する。
旧システム300は、業務サービス群311および業務データ記憶部321を有する。 業務サービス群311は、データ移行連携用サーバ100からの依頼に応じて処理を実行し、データ移行連携用サーバ100に実行結果を応答する業務サービス群である。業務サービス群311は、以下のサービスを含んでいる。第1のサービスは、業務データ要求部114からのデータ要求に対して、業務データ記憶部321から該当のデータを取得し、業務データ要求部114に送信するデータ取得サービスである。第2のサービスは、削除依頼部117からのデータ削除依頼に対して、業務データ記憶部321に登録された該当のデータを削除するデータ削除サービスである。
業務データ記憶部321は、業務サービス群311が扱うデータを記憶する。
ここで、新システム200は、旧システム300に対する新環境のシステムであり、業務サービス群211は、業務サービス群311が実行するサービスの機能を含んでいる。また、業務データ記憶部221は、データ移行連携用サーバ100によって、業務データ記憶部321に記憶されたデータが移行される。
なお、新システム200と旧システム300とで扱うデータの形式が異なる場合、データ移行連携用サーバ100は、図示しないデータ形式変換部によって、データを新システム200で扱うデータ形式に変換するようにしてもよい。
図5は、データ移行連携用テーブルのデータ構造例を示す図である。データ移行連携用テーブル111aは、システム管理情報記憶部111に記憶されて、旧システム300から新システム200にデータを移行する際に参照される。データ移行連携用テーブル111aには、サービス名を示す項目、連携先サービス所在(ホスト名、オブジェクト名)を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つのサービスについての情報を構成する。
サービス名を示す項目には、データ移行連携用サーバ100にて利用されるサービスの名称が設定される。連携先サービス所在(ホスト名)を示す項目には、サービス名を示す項目に指定されたサービスに対応する業務サービスを実行するサーバの識別情報が設定される。ここで、図の例ではサーバの識別情報を、ホスト名としているが、データ移行連携用サーバ100が属するネットワーク上でサーバを一意に特定する情報であれば、その他の識別情報でも構わない。連携先サービス所在(オブジェクト名)を示す項目には、サービス名を示す項目に設定されたサービスに対する連携先サーバのサービスのオブジェクト名が設定される。
データ移行連携用テーブル111aには、例えば、サービス名が“出金業務処理依頼”、連携先サービス所在(ホスト名)が“新サーバ1”、連携先サービス所在(オブジェクト名)が“出金業務データ処理オブジェクト”という情報が設定される。これは、データ移行連携用サーバ100におけるサービス“出金業務処理依頼”の連携先が、“新サーバ1”に存在する“出金業務データ処理オブジェクト”であることを示している。
図6は、業務処理要求のデータ構造例を示す図である。業務処理要求112aは、利用者が端末装置21,22,23を操作することによって、データ移行連携用サーバ100に対して送信される。業務処理要求112aには、業務処理名を示す項目、口座番号を示す項目および金額を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つの業務処理要求についての情報を構成する。
業務処理名を示す項目には、利用者から要求のあった業務処理の名称が設定される。口座番号を示す項目には、利用者の口座番号が設定される。金額を示す項目には、入金や出金などの金額が設定される。
業務処理要求112aには、例えば、業務処理名が“出金”、口座番号が“0000005”、金額が“5000”という情報が設定される。これは、利用者の口座番号“0000005”から金額“5000”円を“出金”するという業務処理要求を示している。
図7は、業務処理要求管理テーブルのデータ構造例を示す図である。業務処理要求管理テーブル111bは、業務処理要求受付部112によって業務処理要求112aが受け付けられて、更に、各業務処理要求112aを管理するために要求IDが付与されたものである。業務処理要求受付部112は、業務処理要求管理テーブル111bをシステム管理情報記憶部111に格納する。
業務処理要求管理テーブル111bには、要求IDを示す項目、業務処理名を示す項目、口座番号を示す項目、金額を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つの業務処理要求についての情報を構成する。要求IDを示す項目には、業務処理要求を一意に識別するための番号が設定される。業務処理名を示す項目、口座番号を示す項目、金額を示す項目は、業務処理要求112aにおける同じ名称の項目と同一の情報が設定される。
業務処理要求管理テーブル111bには、例えば、要求IDが“100”、業務処理名が“出金”、口座番号が“0000005”、金額が“5000”という情報が設定される。これは、業務処理要求112aで表される業務処理要求に対して、要求ID“100”が付与されて管理されることを示している。
図8は、データ移行ログのデータ構造例を示す図である。データ移行ログ111cは、システム管理情報記憶部111に記憶されて、データ移行連携用サーバ100の各部の機能によってデータが追加される。データ移行ログ111cは、ログIDを示す項目、要求IDを示す項目、サービス名を示す項目、ログ内容を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つのサービスに関するログ情報を構成する。
ログIDを示す項目には、ログを一意に識別するための番号が設定される。要求IDを示す項目には、業務処理要求管理テーブル111bの要求IDと同一の情報が設定される。サービス名を示す項目には、ログを出力したサービスの名称が設定される。ログ内容を示す項目には、上記ログを出力したサービスの処理結果が設定される。
データ移行ログ111cには、例えば、ログIDが“10010”、要求IDが“100”、サービス名が“出金業務処理依頼”、ログ内容が“処理対象無し応答受信”という情報が設定される。これは、要求IDが“100”で識別される業務処理要求によるデータの移行が実行されていることを示している。そして、サービス“出金業務処理依頼”の実行結果に対して、“処理対象無し応答受信”、すなわち、新システム200に業務処理の対象となるデータが存在しない旨の通知を受け付けた場合のログを示している。
このように、要求ID、サービス名およびログ内容によって次に実行する処理を判定することができる。
図9は、移行データリストのデータ構造例を示す図である。移行データリスト111dは、端末装置21,22,23などでシステムの管理者によって作成される。移行データリスト111dは、移行データリスト受付部119によって受け付けられる。そして、移行データリスト受付部119は、受け付けた移行データリスト111dをシステム管理情報記憶部111に格納する。
移行データリスト111dには、識別IDを示す項目、移行データを示す項目、移行元サーバを示す項目、移行元パスを示す項目、移行先サーバを示す項目、移行先パスを示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つの移行データに関する情報を構成する。識別IDを示す項目には、移行データを一意に識別するための番号が設定される。移行データを示す項目には、移行データを特定するための情報(例えば、ファイル名)が設定される。移行元サーバを示す項目には、移行元サーバを特定するサーバの識別情報(例えば、ホスト名)が設定される。移行元パスを示す項目には、移行元サーバにおける移行データの所在を表すパスが設定される。移行先サーバを示す項目には、移行先サーバを特定するサーバの識別情報(例えば、ホスト名)が設定される。移行先パスを示す項目には、移行先サーバにおいて移行データを格納するパスが設定される。
移行データリスト111dには、例えば、識別IDが“1”、移行データが“データA”、移行元サーバが“旧サーバ1”、移行元パスが“/var/”、移行先サーバが“新サーバ1”、移行先パスが“/var/”という情報が設定される。これは、移行データの識別ID“1”に対して、移行データ“データA”が設定されており、“データA”は、“旧サーバ1”のパス“/var/”に格納されていて、“新サーバ1”のパス“/var/”に移行することを示している。
なお、図9では、移行対象のデータをデータ単位で指定する例を示したが、業務処理単位で指定して、その業務処理に関連する複数のデータを移行するようにしてもよい。
図10は、データ移行連携用サーバによる順次移行の手順を示すフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。各手順の結果は、データ移行連携用サーバ100の各部によって、システム管理情報記憶部111に記憶されたデータ移行ログ111cに出力される。
[ステップS11]業務処理要求受付部112は、端末装置21,22,23から業務処理要求112aを受け付ける。業務処理要求受付部112は、各業務処理要求112aに識別IDを付与して、システム管理情報記憶部111に業務処理要求管理テーブル111bとして格納する。
[ステップS12]業務処理依頼部113は、システム管理情報記憶部111から業務処理要求管理テーブル111bから業務処理要求を読み出す。業務処理依頼部113は、読み出した業務処理要求に基づいて、業務サービス群211に処理依頼(この処理依頼を処理依頼Aと呼ぶこととする)を行う。
[ステップS13]業務処理依頼部113は、業務サービス群211から、業務データ記憶部221に処理依頼Aの対象のデータ(このデータをデータAと呼ぶこととする)が存在するか否かの応答を受け付ける。データAが存在しない場合、業務処理依頼部113は業務データ要求部114にデータAが存在しなかった旨を通知して、処理がステップS14に移される。データAが存在する場合、業務処理依頼部113は、業務サービス群211による処理結果応答を取得して、処理がステップS21に移される。
[ステップS14]業務データ要求部114は、業務処理依頼部113の通知に基づいて、業務サービス群311にデータAを提供するよう依頼する。
[ステップS15]業務データ要求部114は、業務サービス群311から、業務データ記憶部321にデータAが存在するか否かの応答を受け付ける。データAが存在する場合、業務データ要求部114は、業務サービス群311からデータAを取得して、登録依頼部115にデータAを出力し、処理がステップS16に移される。データAが存在しない旨の応答を受け付けた場合、業務データ要求部114は、再業務処理依頼部116に再度、業務サービス群211へ処理依頼Aを行うよう要求して、処理がステップS18に移される。
[ステップS16]登録依頼部115は、業務データ要求部114からデータAを取得し、業務サービス群211にデータAを業務データ記憶部221に登録するよう依頼する。
[ステップS17]登録依頼部115は、業務サービス群211から業務データ記憶部221にデータAが登録済み、または正常登録の応答を受け付ける。そして、登録依頼部115は、再業務処理依頼部116に再度、業務サービス群211へ処理依頼Aを行うよう要求する。
[ステップS18]再業務処理依頼部116は、業務サービス群211へ再度処理依頼Aを行う。再業務処理依頼部116は、業務サービス群211による処理結果応答を取得する。
[ステップS19]登録依頼部115は、システム管理情報記憶部111に記憶されたデータ移行ログ111cを参照して、ステップS15でデータA無し応答または、ステップS17でデータAの登録済応答を受け付けているかを判定する。どちらか一方を受け付けている場合、処理がステップS21に移される。どちらも受け付けていない場合、処理がステップS20に移される。
[ステップS20]削除依頼部117は、業務サービス群311に業務データ記憶部321に記憶されたデータAを削除するよう依頼する。
[ステップS21]業務処理結果応答部118は、業務処理依頼部113や再業務処理依頼部116から処理依頼Aの結果を受け付ける。そして、業務処理結果応答部118は、端末装置21,22,23に業務処理結果を送信する。
上記のように、データ移行連携用サーバ100は、利用者からの業務処理要求112aに応じて、処理対象のデータが新システム200に登録されていない場合には、旧システム300からこのデータを取得して、新システム200に登録するよう依頼する。この時、移行の各段階において、新システム200や旧システム300における対象データの有無を判定して、処理対象のデータが既に別の業務処理要求112aによるデータ移行によって新システム200へ登録済みかを判断する。そして、新システム200に既に移行済みであると判断した場合には、再度、新システム200に処理依頼を行う。
図11は、データ移行連携用サーバによる一括移行の手順を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
[ステップS31]移行データリスト受付部119は、移行データリスト111dを受け付けて、システム管理情報記憶部111に格納する。
[ステップS32]移行データリスト読込部120は、システム管理情報記憶部111に格納された移行データリスト111dから移行対象となるデータを1件読み出す。
[ステップS33]移行データリスト読込部120は、業務データ要求部114に該当のデータ(このデータをデータBと呼ぶこととする)を取得するよう通知する。そして、業務データ要求部114は、業務サービス群311にデータBを提供するよう依頼する。
[ステップS34]業務データ要求部114は、業務サービス群311にデータBを提供するよう依頼する。業務データ要求部114は、業務サービス群311からデータBの有無の応答を判定する。データBが存在する旨の応答を取得した場合、業務データ要求部114は、業務サービス群311からデータBを取得して、データBを登録依頼部115に出力し、処理がステップS35に移される。データBが存在しない旨の応答を取得した場合、処理がステップS38に移される。
[ステップS35]登録依頼部115は、業務データ要求部114からデータBを取得する。登録依頼部115は、業務サービス群211に対して業務データ記憶部221にデータBを登録するよう依頼する。
[ステップS36]登録依頼部115は、業務サービス群211から、業務データ記憶部221にデータBが正常登録されたかを判定する。データBが正常登録された場合、処理がステップS37に移される。データBが既に別の移行プロセスによって、業務データ記憶部221に登録済みの場合は、処理がステップS38に移される。
[ステップS37]削除依頼部117は、業務サービス群311に業務データ記憶部321に記憶されたデータBを削除するよう依頼する。
[ステップS38]移行データリスト読込部120は、システム管理情報記憶部111に記憶された移行データリスト111dを参照して、全データに対して移行が完了したかを確認する。完了していない場合、処理がステップS32に移される。完了している場合、一括移行は完了する。
上記のように、業務処理の対象とならないデータや、業務処理要求112aの発生頻度が少ないデータに関しては、移行データリスト111dにより指定して、この移行データリスト111dに基づいて図10で示される順次移行と並行して移行が行われる。この時、移行の各段階において、新システム200や旧システム300における対象データの有無を判定して、処理対象のデータが既に別の移行プロセスによるデータ移行によって新システム200へ登録済みかを判断する。そして、新システム200に既に移行済みであると判断した場合には、移行データリスト111dに設定された次のデータに関して移行を行う。
このようにすると、順次移行と一括移行とが競合して、データ不存在やデータ登録済みなどの例外的な応答が発生する場合でも、データ移行連携用サーバ100は、各業務処理要求112aに対して、新システム200の処理を再度実行させて、処理結果を応答することができる。また、いずれかのタイミングで別の移行プロセスにより新システム200へのデータの登録がなされたことを確認した場合には、削除依頼部117は旧システム300に該当データの削除を依頼しないため、余計な削除処理は実行されない。
図12は、順次移行を表す第1の模式図である。図12の例では、金融機関の預貯金システムに利用者が出金の要求を行った場合を示している。ここで、預貯金システムにおいて、出金の処理を実行するサービスのサービス名を出金処理サービスと呼ぶこととする。データ移行連携用サーバ100は、利用者からの要求を新システム200で稼動する新出金処理サービスに中継する。データ移行連携用サーバ100は、旧システム300で稼動する旧出金処理サービスとも接続しており、新旧データベース間のデータ移行を制御する。以下、図12に示す処理をステップ番号に沿って説明する。
[ステップST1]業務処理要求受付部112が、端末装置21,22,23から業務処理要求112aを受け付ける。業務処理要求112aには、業務処理名“出金”、利用者の口座番号“0000005”および金額“5000”が設定されている。業務処理要求受付部112は、この業務処理要求112aに要求IDを付与して、システム管理情報記憶部111の業務処理要求管理テーブル111bに格納する。
[ステップST2]業務処理依頼部113は、システム管理情報記憶部111に記憶された業務処理要求管理テーブル111bを参照して、業務処理要求112aに示される要求を取得すると、新出金処理サービスに対して、口座番号“0000005”に対する出金処理を依頼する。新出金処理サービスは、新DBのテーブルである新口座テーブル221aに口座番号“0000005”が存在するかを照会する。そして、対象の口座番号が存在しないことを確認すると、業務処理依頼部113にその旨を応答する。業務処理依頼部113は、新出金処理サービスから、業務処理の対象となる口座番号が無い旨の応答を受け付け、業務データ要求部114に旧システム300の旧出金処理サービスに口座番号“0000005”に関するデータの提供を依頼する。そして、旧出金処理サービスは、旧DBのテーブルである旧口座テーブル321aに口座番号“0000005”が存在するかを照会する。旧出金処理サービスは、旧口座テーブル321aに該当の口座番号があることを確認すると、業務データ要求部114にそのデータを提供する。そして、業務データ要求部114は、取得したデータを登録依頼部115に出力する。
[ステップST3]登録依頼部115は、業務データ要求部114からデータを取得すると、新出金処理サービスに対して、取得したデータを新口座テーブル221aに登録するよう依頼する。そして、新出金処理サービスは、新口座テーブル221aに口座番号“0000005”を登録して、新口座テーブル221bを作成する。
図13は、順次移行を表す第2の模式図である。図13に示すテーブル情報の遷移は、図12から継続するものである。以下、図13に示す処理をステップ番号に沿って説明する。
[ステップST4]登録依頼部115は、新出金処理サービスによって、新口座テーブル221bに上記口座番号に関するデータが登録された旨の応答を受け付ける。そして、登録依頼部115は、再業務処理依頼部116に再度、新出金処理サービスに対して、上記口座番号に対する業務処理を依頼するよう要求する。そして、新出金処理サービスにより、“5000”円の出金処理が実行されて、新口座テーブル221cに示すように、口座番号“0000005”の残高が“95000”円となる。
[ステップST5]削除依頼部117は、旧口座テーブル321aに登録された口座番号“0000005”のデータを削除して、旧口座テーブル321bを作成する。
このように、順次移行では業務処理要求112aを受け付ける毎に、新システム200に対して業務処理を依頼する。そして、データ移行連携用サーバ100は、新システム200に業務処理の対象となるデータが存在しない場合には、旧システム300から該当の処理の対象となるデータを取得して、新システム200に登録する。
次に、上記に説明した順次移行と一括移行との並列実行に関して説明する。まず、順次移行と一括移行との間で、データ移行に関する競合が無い場合に関して説明する。ここで、データ移行に関する競合とは、順次移行同士、または、順次移行と一括移行とが同一のデータをほぼ同時に移行しようとすることを表す。
図14は、順次移行と一括移行とが競合しない場合の処理の流れの具体例を示す第1のシーケンス図である。データ移行連携用サーバ100では、順次移行と一括移行とを実行している。以降の説明では、データ移行連携用サーバ100の構成において、順次移行を制御する機能を順次移行連携用サービスと呼び、一括移行を制御する機能を一括移行連携用サービスと呼ぶこととする。なお、順次移行連携用サービスは、業務処理の対象であるデータAに対する処理要求を受け付けているものとする。以下、図14に示す処理をステップ番号に沿って説明する。
[ステップS101]順次移行連携用サービスは、新システム200の業務サービス群211にデータAに関する処理要求を送信する。
[ステップS102]業務サービス群211は、順次移行連携用サービスに処理対象となるデータAが新システム200に登録されていない旨の応答をする。
[ステップS103]順次移行連携用サービスは、旧システム300の業務サービス群311にデータAの提供要求を送信する。
[ステップS104]業務サービス群311は、業務データ記憶部321に記憶されたデータAを取得し、順次移行連携用サービスに送信する。
[ステップS105]順次移行連携用サービスは、取得したデータAを新システム200に登録するように業務サービス群211に依頼する。
[ステップS106]業務サービス群211は、順次移行連携用サービスに対して、データBの登録が正常に完了した旨の応答をする。
[ステップS107]順次移行連携用サービスは、新システム200の業務サービス群211に対して再度データAに関する処理要求を送信する。
[ステップS108]業務サービス群211は、順次移行連携用サービスに対してデータAに関する処理が正常に完了したことと、その処理結果を応答する。
[ステップS109]順次移行連携用サービスは、旧システム300の業務サービス群311にデータAの削除要求を送信する。
[ステップS110]業務サービス群311は、業務データ記憶部321に記憶されたデータAを削除し、データを削除した旨を順次移行連携用サービスに応答する。なお、順次移行連携用サービスは、この応答を受け付けるとステップS108における処理の完了応答を処理要求元に送信する。
[ステップS111]一括移行連携用サービスは、移行データリスト111dから、データAを移行対象として読み込む。そして、一括移行連携用サービスは、旧システム300の業務サービス群311に対してデータAの提供要求を送信する。
[ステップS112]業務サービス群311は、業務データ記憶部321にデータAが存在しない旨の応答を、一括移行連携用サービスに対して送信する。
図15は、順次移行と一括移行とが競合しない場合の処理の流れの具体例を示す第2のシーケンス図である。図15は、図14から継続する処理の流れを示す。以下、図15に示す処理をステップ番号に沿って説明する。
[ステップS113]一括移行連携用サービスは、移行データリスト111dからデータBを移行対象として読み込む。そして、一括移行連携用サービスは、旧システム300の業務サービス群311に対して、データBの提供要求を送信する。
[ステップS114]業務サービス群311は、業務データ記憶部321に記憶されたデータBを取得し、一括移行連携用サービスに送信する。
[ステップS115]一括移行連携用サービスは、取得したデータBを新システム200に登録するように業務サービス群211に依頼する。
[ステップS116]業務サービス群211は、一括移行連携用サービスに対して、データBの登録が正常に完了した旨の応答を送信する。
[ステップS117]一括移行連携用サービスは、旧システム300の業務サービス群311にデータBの削除要求を送信する。
[ステップS118]業務サービス群311は、業務データ記憶部321に記憶されたデータBを削除し、データを削除した旨を一括移行連携用サービスに応答する。データBに関する一括移行による移行処理は、これで完了する。
[ステップS119]順次移行連携用サービスは、データBに対する処理要求を受け付ける。そして、順次移行連携用サービスは、新システム200の業務サービス群211にデータBに関する処理要求を送信する。
[ステップS120]業務サービス群211は、順次移行連携用サービスに対してデータBに関する処理が正常に完了したことと、その処理結果を応答する。順次移行連携用サービスは、この応答を受け付けるとデータBに関する処理の完了応答を処理要求元に送信する。
このように、順次移行と一括移行とを同時に行うことによって、業務処理要求で処理の対象とならないログデータや、発生頻度の少ない業務処理要求に関連するデータの移行も確実に行うことができる。更に、順次移行と一括移行とを同時に実行することで、データ移行を迅速に行うことができる。
次に、順次移行と一括移行とによって同一データの移行処理が競合する場合を説明する。
図16は、順次移行と一括移行とが競合する場合の処理の流れの具体例を示す第1のシーケンス図である。以下、図16に示す処理をステップ番号に沿って説明する。
[ステップS131]一括移行連携用サービスは、移行データリスト111dから、データAを移行対象として読み込む。そして、一括移行連携用サービスは、旧システム300の業務サービス群311に対してデータAの提供要求を送信する。
[ステップS132]業務サービス群311は、業務データ記憶部321に記憶されたデータAを取得し、一括移行連携用サービスに送信する。
[ステップS133]順次移行連携用サービスは、データAに関する処理要求を受け付ける。そして、順次移行連携用サービスは、新システム200の業務サービス群211にデータAに関する処理要求を送信する。
[ステップS134]業務サービス群211は、順次移行連携用サービスに処理対象となるデータAが新システム200に登録されていない旨の応答をする。
[ステップS135]一括移行連携用サービスは、取得したデータAを新システム200に登録するように業務サービス群211に依頼する。
[ステップS136]業務サービス群211は、一括移行連携用サービスに対して、データAの登録が正常に完了した旨の応答をする。
[ステップS137]一括移行連携用サービスは、旧システム300の業務サービス群311にデータAの削除要求を送信する。
[ステップS138]業務サービス群311は、業務データ記憶部321に記憶されたデータAを削除し、データを削除した旨を一括移行連携用サービスに応答する。
[ステップS139]順次移行連携用サービスは、旧システム300の業務サービス群311にデータAの提供要求を送信する。
[ステップS140]業務サービス群311は、順次移行連携用サービスにデータAが登録されていない旨の応答をする。
[ステップS141]順次移行連携用サービスは、別の移行処理によって、旧システム300に登録されていたデータAが既に新システム200に移行済みであると判断する(ここでは、ステップS135で一括移行により移行済みである)。そして、順次移行連携用サービスは、新システム200の業務サービス群211にデータAに関する処理要求を再送信する。
[ステップS142]業務サービス群211は、順次移行連携用サービスに対してデータAに関する処理が正常に完了したことと、その処理結果を応答する。順次移行連携用サービスは、この応答を受け付けるとデータAに関する処理の完了応答を処理要求元に送信する。
このように、順次移行により移行が開始され、旧システム300にデータの提供依頼を送信したが、一括移行によって直前に旧システム300から対象のデータが削除された場合でも、業務処理を中断することなく、正常にサービスを提供することができる。
図17は、順次移行と一括移行とが競合する場合の処理の流れの具体例を示す第2のシーケンス図である。以下、図17に示す処理をステップ番号に沿って説明する。
[ステップS151]順次移行連携用サービスは、データAに関する処理要求を受け付ける。そして、順次移行連携用サービスは、新システム200の業務サービス群211にデータAに関する処理要求を送信する。
[ステップS152]新システム200の業務サービス群211は、順次移行連携用サービスに処理対象となるデータAが新システム200に登録されていない旨の応答をする。
[ステップS153]一括移行連携用サービスは、移行データリスト111dから、データAを移行対象として読み込む。そして、一括移行連携用サービスは、旧システム300の業務サービス群311に対してデータAの提供要求を送信する。
[ステップS154]業務サービス群311は、業務データ記憶部321に記憶されたデータAを取得し、一括移行連携用サービスに送信する。
[ステップS155]順次移行連携用サービスは、旧システム300の業務サービス群311にデータAの提供要求を送信する。
[ステップS156]業務サービス群311は、業務データ記憶部321に記憶されたデータAを取得し、順次移行連携用サービスに送信する。
[ステップS157]一括移行連携用サービスは、取得したデータAを新システム200に登録するように業務サービス群211に依頼する。
[ステップS158]業務サービス群211は、一括移行連携用サービスに対して、データAの登録が正常に完了した旨の応答をする。
[ステップS159]一括移行連携用サービスは、旧システム300の業務サービス群311にデータAの削除要求を送信する。
[ステップS160]業務サービス群311は、業務データ記憶部321に記憶されたデータAを削除し、データを削除した旨を一括移行連携用サービスに応答する。
[ステップS161]順次移行連携用サービスは、取得したデータAを新システム200に登録するように業務サービス群211に依頼する。
[ステップS162]業務サービス群211は、順次移行連携用サービスにデータAが既に登録済みである旨の応答をする。
[ステップS163]順次移行連携用サービスは、別の移行処理によって、旧システム300に登録されていたデータAが既に新システム200に移行済みであると判断する(ここでは、ステップS157で一括移行により移行済みである)。そして、順次移行連携用サービスは、新システム200の業務サービス群211にデータAに関する処理要求を再送信する。
[ステップS164]業務サービス群211は、順次移行連携用サービスに対してデータAに関する処理が正常に完了したことと、その処理結果を応答する。順次移行連携用サービスは、この応答を受け付けるとデータAに関する処理の完了応答を処理要求元に送信する。
このように、順次移行により移行が開始され、旧システム300からデータを取得して、新システム200に登録依頼をしたが、一括移行によって直前に新システム200に対象のデータが登録された場合でも、業務処理を中断することなく、正常に処理応答することができる。
次に、順次移行によるデータ移行が競合する場合を説明する。
図18は、順次移行が競合する場合の具体例を示す第1のタイミング図である。図18では、順次移行連携用サービスの2つのプロセス(順次移行#1,2)が同時に実行されて、同一データの移行が競合する場合を示している。以下、図18に示す処理をステップ番号に沿って説明する。
[ステップS171]順次移行#1は、新システム200に処理依頼(この処理依頼を処理依頼Aと呼ぶこととする)を送信する。順次移行#1は、新システム200から処理の対象となるデータAが存在しない旨の応答を受信する。
[ステップS172]順次移行#1は、旧システム300にデータAを要求する。順次移行#1は、旧システム300からデータAを取得する。
[ステップS173]順次移行#2は、新システム200に処理依頼Aを送信する。順次移行#2は、新システム200から処理の対象となるデータAが存在しない旨の応答を受信する。
[ステップS174]順次移行#1は、新システム200にデータAの登録を依頼する。順次移行#1は、新システム200からデータAの登録の正常終了応答を受信する。
[ステップS175]順次移行#1は、新システム200に処理依頼Aを再送信する。順次移行#1は、新システム200から処理の結果応答を受信する。
[ステップS176]順次移行#1は、旧システム300にデータAの削除を依頼する。順次移行#1は、旧システム300からデータAの削除が完了した旨の応答を受信する。
[ステップS177]順次移行#2は、旧システム300にデータAを要求する。順次移行#2は、旧システム300からデータAが存在しない旨の応答を受信する。
[ステップS178]順次移行#2は、新システム200に処理依頼Aを再送信する。順次移行#2は、新システム200から処理の結果応答を受信する。
このように、順次移行#2が旧システム300にデータを要求した際に、順次移行#1によって既に該当のデータが削除された場合でも、順次移行#2は、再度処理依頼を新システム200に送信することで正常に処理依頼を完了することができる。
図19は、順次移行が競合する場合の具体例を示す第2のタイミング図である。図19では、順次移行連携用サービスの2つのプロセス(順次移行#1,2)が同時に実行されて、同一データの移行が競合する場合を示している。以下、図19に示す処理をステップ番号に沿って説明する。
[ステップS181]順次移行#1は、新システム200に処理依頼(この処理依頼を処理依頼Aと呼ぶこととする)を送信する。順次移行#1は、新システム200から処理の対象となるデータAが存在しない旨の応答を受信する。
[ステップS182]順次移行#2は、新システム200に処理依頼Aを送信する。順次移行#2は、新システム200から処理の対象となるデータAが存在しない旨の応答を受信する。
[ステップS183]順次移行#1は、旧システム300にデータAを要求する。順次移行#1は、旧システム300からデータAを取得する。
[ステップS184]順次移行#2は、旧システム300にデータAを要求する。順次移行#2は、旧システム300からデータAを取得する。
[ステップS185]順次移行#1は、新システム200にデータAの登録を依頼する。順次移行#1は、新システム200からデータAの登録の正常終了応答を受信する。
[ステップS186]順次移行#2は、新システム200にデータAの登録を依頼する。順次移行#2は、新システム200からデータAが既に登録済みである旨の応答を受信する。
[ステップS187]順次移行#1は、新システム200に処理依頼Aを再送信する。順次移行#1は、新システム200から処理の結果応答を受信する。
[ステップS188]順次移行#1は、旧システム300にデータAの削除を依頼する。順次移行#1は、旧システム300からデータAの削除が完了した旨の応答を受信する。
[ステップS189]順次移行#2は、新システム200に処理依頼Aを再送信する。順次移行#2は、新システム200から処理の結果応答を受信する。
このように、順次移行#2が、新システム200にデータの登録を要求した際に、順次移行#1によって既に該当のデータが登録済みである場合でも、順次移行#2は、再度処理依頼を新システム200に送信することで正常に処理依頼を完了することができる。
上記の通り、データ移行連携用サーバ100は、旧システム300から新システム200に対して、順次移行と一括移行とによってデータ移行を迅速に実行する。そして、順次移行や一括移行によって同一データに関するアクセスが競合するような場合も正常にデータ移行を実行し、業務処理を中断することなく処理応答することができる。
以上、データ移行プログラム、データ移行方法およびデータ移行装置を図示の実施の形態に基づいて説明したが、これらに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、これらに他の任意の構成物や行程が付加されてもよい。また、これらは前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、データ移行連携用サーバ100が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体には、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、HDD、フレキシブルディスク(FD)、磁気テープ(MT)などがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc - Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto - Optical disk)などがある。
上記プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータに格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
上記プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラム若しくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
本実施の形態の概念図である。 本実施の形態のシステム構成を示す図である。 データ移行連携用サーバのハードウェア構成を示す図である。 データ移行連携用サーバのデータ移行機能を示すブロック図である。 データ移行連携用テーブルのデータ構造例を示す図である。 業務処理要求のデータ構造例を示す図である。 業務処理要求管理テーブルのデータ構造例を示す図である。 データ移行ログのデータ構造例を示す図である。 移行データリストのデータ構造例を示す図である。 データ移行連携用サーバによる順次移行の手順を示すフローチャートである。 データ移行連携用サーバによる一括移行の手順を示すフローチャートである。 順次移行を表す第1の模式図である。 順次移行を表す第2の模式図である。 順次移行と一括移行とが競合しない場合の処理の流れの具体例を示す第1のシーケンス図である。 順次移行と一括移行とが競合しない場合の処理の流れの具体例を示す第2のシーケンス図である。 順次移行と一括移行とが競合する場合の処理の流れの具体例を示す第1のシーケンス図である。 順次移行と一括移行とが競合する場合の処理の流れの具体例を示す第2のシーケンス図である。 順次移行が競合する場合の具体例を示す第1のタイミング図である。 順次移行が競合する場合の具体例を示す第2のタイミング図である。
符号の説明
1 コンピュータ
1a システム管理情報記憶手段
1b 処理依頼手段
1c データ要求手段
1d 登録依頼手段
1e 再処理依頼手段
1f 削除依頼手順
2 移行先データ処理システム
2a サービス群
2b データ記憶手段
3 移行元データ処理システム
3a サービス群
3b データ記憶手段

Claims (3)

  1. 移行元データ処理システムと移行先データ処理システムとに接続されたコンピュータを、
    データ処理依頼を受け付けると、前記移行先データ処理システムに前記データ処理依頼を送信する処理依頼手段、
    前記処理依頼手段による送信に対し前記移行先データ処理システムから処理対象データの不存在応答を受信すると、前記移行元データ処理システムに前記処理対象データの取得要求を送信するデータ要求手段、
    前記データ要求手段による取得要求に対し前記移行元データ処理システムから前記処理対象データを受信した場合、前記移行先データ処理システムに受信したデータの登録依頼を送信する登録依頼手段、
    前記データ要求手段による取得要求に対し前記移行元データ処理システムから前記処理対象データの不存在応答を受信した場合、および、前記登録依頼手段により登録依頼が送信された場合、前記処理依頼手段が送信した前記データ処理依頼を前記移行先データ処理システムに再送信する再処理依頼手段、
    前記登録依頼手段による送信に対し前記移行先データ処理システムから登録完了応答を受信し、かつ、前記再処理依頼手段による再送信に対し前記移行先データ処理システムから処理結果応答を受信すると、前記移行元データ処理システムに前記処理対象データの削除依頼を送信する削除依頼手段、
    として機能させることを特徴とするデータ移行プログラム。
  2. 移行元データ処理システムと移行先データ処理システムとに接続されたコンピュータが、
    データ処理依頼を受け付けると、前記移行先データ処理システムに前記データ処理依頼を送信する処理依頼ステップと、
    前記処理依頼ステップによる送信に対し前記移行先データ処理システムから処理対象データの不存在応答を受信すると、前記移行元データ処理システムに前記処理対象データの取得要求を送信するデータ要求ステップと、
    前記データ要求ステップによる取得要求に対し前記移行元データ処理システムから前記処理対象データを受信した場合、前記移行先データ処理システムに受信したデータの登録依頼を送信する登録依頼ステップと、
    前記データ要求ステップによる取得要求に対し前記移行元データ処理システムから前記処理対象データの不存在応答を受信した場合、および、前記登録依頼ステップにより登録依頼が送信された場合、前記処理依頼ステップが送信した前記データ処理依頼を前記移行先データ処理システムに再送信する再処理依頼ステップと、
    前記登録依頼ステップによる送信に対し前記移行先データ処理システムから登録完了応答を受信し、かつ、前記再処理依頼ステップによる再送信に対し前記移行先データ処理システムから処理結果応答を受信すると、前記移行元データ処理システムに前記処理対象データの削除依頼を送信する削除依頼ステップと、
    を実行することを特徴とするデータ移行方法。
  3. 移行元データ処理システムと移行先データ処理システムとに接続されたデータ移行装置であって、
    データ処理依頼を受け付けると、前記移行先データ処理システムに前記データ処理依頼を送信する処理依頼手段と、
    前記処理依頼手段による送信に対し前記移行先データ処理システムから処理対象データの不存在応答を受信すると、前記移行元データ処理システムに前記処理対象データの取得要求を送信するデータ要求手段と、
    前記データ要求手段による取得要求に対し前記移行元データ処理システムから前記処理対象データを受信した場合、前記移行先データ処理システムに受信したデータの登録依頼を送信する登録依頼手段と、
    前記データ要求手段による取得要求に対し前記移行元データ処理システムから前記処理対象データの不存在応答を受信した場合、および、前記登録依頼手段により登録依頼が送信された場合、前記処理依頼手段が送信した前記データ処理依頼を前記移行先データ処理システムに再送信する再処理依頼手段と、
    前記登録依頼手段による送信に対し前記移行先データ処理システムから登録完了応答を受信し、かつ、前記再処理依頼手段による再送信に対し前記移行先データ処理システムから処理結果応答を受信すると、前記移行元データ処理システムに前記処理対象データの削除依頼を送信する削除依頼手段と、
    を有することを特徴とするデータ移行装置。
JP2007318767A 2007-12-10 2007-12-10 データ移行プログラム、データ移行方法およびデータ移行装置 Active JP5040629B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007318767A JP5040629B2 (ja) 2007-12-10 2007-12-10 データ移行プログラム、データ移行方法およびデータ移行装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007318767A JP5040629B2 (ja) 2007-12-10 2007-12-10 データ移行プログラム、データ移行方法およびデータ移行装置

Publications (2)

Publication Number Publication Date
JP2009140428A JP2009140428A (ja) 2009-06-25
JP5040629B2 true JP5040629B2 (ja) 2012-10-03

Family

ID=40870937

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007318767A Active JP5040629B2 (ja) 2007-12-10 2007-12-10 データ移行プログラム、データ移行方法およびデータ移行装置

Country Status (1)

Country Link
JP (1) JP5040629B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8286145B2 (en) 2007-05-25 2012-10-09 Panasonic Corporation Program re-writing apparatus

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5631839B2 (ja) * 2011-10-18 2014-11-26 富士通テレコムネットワークス株式会社 データ管理システム、センター装置およびデータ管理方法
JP5632408B2 (ja) * 2012-02-27 2014-11-26 日本電信電話株式会社 データ移行装置およびその動作方法
JP5386009B2 (ja) * 2012-05-30 2014-01-15 みずほ情報総研株式会社 情報管理システム及び情報管理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4168626B2 (ja) * 2001-12-06 2008-10-22 株式会社日立製作所 記憶装置間のファイル移行方法
JP4349871B2 (ja) * 2003-09-09 2009-10-21 株式会社日立製作所 ファイル共有装置及びファイル共有装置間のデータ移行方法
JP4438582B2 (ja) * 2004-09-22 2010-03-24 株式会社日立製作所 データ移行方法
JP4693540B2 (ja) * 2005-08-04 2011-06-01 富士通株式会社 データベース再構成装置、およびデータベース再構成プログラム
JP4414409B2 (ja) * 2006-04-24 2010-02-10 富士通株式会社 ディスク装置、ディスク制御方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8286145B2 (en) 2007-05-25 2012-10-09 Panasonic Corporation Program re-writing apparatus

Also Published As

Publication number Publication date
JP2009140428A (ja) 2009-06-25

Similar Documents

Publication Publication Date Title
US5613155A (en) Bundling client write requests in a server
US9081841B2 (en) Asynchronous distributed garbage collection for replicated storage clusters
US9361390B2 (en) Web content management
US7650477B2 (en) Method for changing a remote copy pair
US7567989B2 (en) Method and system for data processing with data replication for the same
US20030212660A1 (en) Database scattering system
JP2005243026A (ja) 任意数のバックアップ・コンポーネント用のシステム・アーキテクチャのための方法、システム、およびコンピュータ・プログラム
US7519633B2 (en) Asynchronous replication of data
CN101512527A (zh) 用于处理请求的数据处理系统和方法
JP5040629B2 (ja) データ移行プログラム、データ移行方法およびデータ移行装置
JP2018049635A (ja) トランザクション処理方法および装置
US7954112B2 (en) Automatic recovery from failures of messages within a data interchange
US20090024768A1 (en) Connection management program, connection management method and information processing apparatus
US20030088638A1 (en) Support of fixed-block storage devices over escon links
JP2003345640A (ja) データベースバックアップシステム
US20230376470A1 (en) Moving Window Data Deduplication in Distributed Storage
US8706714B2 (en) File aggregation method and information processing system using the same
US7533132B2 (en) Parallel replication mechanism for state information produced by serialized processing
JP4222065B2 (ja) 情報システムにおけるデータアクセス方法および情報システム
CN113495739A (zh) 信息处理装置、信息处理方法和系统、计算机可读介质
JP2008158978A (ja) データベース同期システム、データベース同期方法、データベースサーバ、データベースサーバの制御方法、およびプログラム
JP2005526328A (ja) データの自動インポート
JPH06290098A (ja) 分散データベース処理方法
US20240078485A1 (en) Data management system and data management method
WO2024111045A1 (ja) 仮想コンピュータ管理システム、同期サーバおよび仮想コンピュータ管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100715

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120625

R150 Certificate of patent or registration of utility model

Ref document number: 5040629

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150720

Year of fee payment: 3