JP2021096573A - 装置、システム、方法およびプログラム - Google Patents

装置、システム、方法およびプログラム Download PDF

Info

Publication number
JP2021096573A
JP2021096573A JP2019226435A JP2019226435A JP2021096573A JP 2021096573 A JP2021096573 A JP 2021096573A JP 2019226435 A JP2019226435 A JP 2019226435A JP 2019226435 A JP2019226435 A JP 2019226435A JP 2021096573 A JP2021096573 A JP 2021096573A
Authority
JP
Japan
Prior art keywords
operation information
request
database
information
error
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.)
Pending
Application number
JP2019226435A
Other languages
English (en)
Inventor
知也 石田
Tomoya Ishida
知也 石田
和也 寺木
Kazuya Teraki
和也 寺木
正徳 杉本
Masanori Sugimoto
正徳 杉本
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.)
NEC Communication Systems Ltd
Original Assignee
NEC Communication Systems 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 NEC Communication Systems Ltd filed Critical NEC Communication Systems Ltd
Priority to JP2019226435A priority Critical patent/JP2021096573A/ja
Publication of JP2021096573A publication Critical patent/JP2021096573A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Retry When Errors Occur (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】データベースに対して実行された意図しない更新操作を、当該データベースのデータの複製を記憶する他の装置のデータベースに反映させることを防止する装置、システム、方法およびプログラムを提供する。【解決手段】本発明の装置は、データを記憶するマスタデータベースと、データの更新操作に関する複数の操作情報を含む要求を受信したことに応じて、マスタデータベースに要求に係る操作を実行する要求実行部と、要求に係る操作の実行結果に基づいて、複数の操作情報からエラーに係る操作情報を除去するエラー除去部と、複製先のスレーブ装置に通信可能に接続され、エラーに係る操作情報を除いた残りの操作情報をスレーブ装置に送信するマスタ通信部とを備える。【選択図】図1

Description

本発明はデータベースの同期に関し、特にデータベースのデータを他の装置のデータベースに複製する装置、システム、方法およびプログラムに関する。
一般に、装置のデータベースの更新処理中の不具合およびそのデータベースに記憶されるデータの消失等に備えて、マスタとなるデータベース(マスタデータベース)のデータの複製を他の装置のデータベースに記憶させることが行われている。
特許文献1には、マスタデータベースを更新する場合に、更新操作の実行前に予め定められた条件に従って、複製先の他の装置のデータベースに更新操作に関する情報を送信することが開示されている。
また特許文献2には、データベースのある時点の状態のバックアップを装置の別のデータベースに記憶させるとともに、それ以降に発生したデータベースの更新操作に関する情報を更新要求元の他の装置に記憶させることが開示されている。
特開2006−163560号公報 特開2000−020369号公報
しかし特許文献1においては、実行した更新操作に関する情報の一部に、誤操作および外部からのアタック等の意図しない更新操作に関する情報が含まれていた場合にも、条件に適合すれば、その更新操作が他の装置のデータベースに反映されるという問題があった。
また特許文献2においては、他の装置が意図しない更新操作を含む更新操作を要求した場合に、他の装置に記憶される更新操作情報から意図しない更新操作情報を除去することができないという問題があった。
本発明の目的は、上述した課題を鑑み、データベースに対して実行された意図しない更新操作を、当該データベースのデータの複製を記憶する他の装置のデータベースに反映させることを防止する装置、システム、方法およびプログラムを提供することにある。
本発明の装置は、データを記憶するマスタデータベースと、前記データの更新操作に関する複数の操作情報を含む要求を受信したことに応じて、前記マスタデータベースに前記要求に係る操作を実行する要求実行部と、前記要求に係る操作の実行結果に基づいて、前記複数の操作情報からエラーに係る操作情報を除去するエラー除去部と、複製先のスレーブ装置に通信可能に接続され、前記エラーに係る操作情報を除いた残りの操作情報を前記スレーブ装置に送信するマスタ通信部とを備える。
本発明のシステムは、データを記憶するマスタデータベースを有するマスタ装置と、前記データの複製を記憶するスレーブデータベースを有する複数のスレーブ装置とを備える。前記マスタ装置は、前記データの更新操作に関する複数の操作情報を含む要求を受信したことに応じて、前記マスタデータベースに前記要求に係る操作を実行する要求実行部を有する。前記マスタ装置は、前記要求に係る操作の実行結果に基づいて、前記複数の操作情報からエラーに係る操作情報を除去するエラー除去部を有する。前記マスタ装置は、前記複数のスレーブ装置のそれぞれに通信可能に接続され、前記エラーに係る操作情報を除いた残りの操作情報を前記スレーブ装置に送信するマスタ通信部を有する。
本発明の方法は、マスタデータベースに記憶されるデータの更新操作に関する複数の操作情報を含む要求を受信したことに応じて、マスタデータベースに前記要求に係る操作を実行する段階と、前記要求に係る操作の実行結果に基づいて、前記複数の操作情報からエラーに係る操作情報を除去する段階と、前記エラーに係る操作情報を除いた残りの操作情報を、複製先のスレーブ装置に送信する段階とを備える。
本発明のプログラムは、マスタデータベースに記憶されるデータの更新操作に関する複数の操作情報を含む要求を受信したことに応じて、マスタデータベースに前記要求を実行する要求実行機能と、前記要求に係る操作の実行結果に基づいて、前記複数の操作情報からエラーに係る操作情報を除去するエラー除去機能と、前記エラーに係る操作情報を除いた残りの操作情報を、複製先のスレーブ装置に対して送信する処理を実行させる送信機能とをコンピュータに実現させる。
本発明により、データベースに対して実行された意図しない更新操作を、当該データベースのデータの複製を記憶する他の装置のデータベースに反映させることを防止する装置、システム、方法およびプログラムを提供することができる。
実施形態1にかかる装置の構成図である。 実施形態2にかかる装置が適用されるシステムの構成図である。 実施形態2にかかるマスタ装置の構成図である。 実施形態2にかかるスレーブ装置の構成図である。 実施形態2にかかる要求関連情報のデータ構造の一例を示す。 実施形態2にかかる実行情報のデータ構造の一例を示す。 実施形態2にかかる複製情報のデータ構造の一例を示す。 実施形態2にかかるシステムのシーケンス図である。 実施形態3にかかるマスタ装置の構成図である。 実施形態3にかかる実行情報、エラー除去部により生成される複製情報および複製記憶部に記憶される情報のデータ構造の一例を示す。 実施形態3にかかるシステムのシーケンス図である。 実施形態3にかかるバックアップ実行部の処理の一例を示すフローチャートである。 実施形態3にかかるデータ復旧処理の一例を示すフローチャートである。 実施形態1〜3にかかるコンピュータの構成図である。
実施形態1.
まず、図1を用いて本発明の実施形態1について説明する。図1は、実施形態1にかかる装置の構成図である。装置は、マスタデータベース100と、要求実行部110と、エラー除去部120と、マスタ通信部140とを備える。
マスタデータベース100は、データを記憶する。
要求実行部110は、データの更新操作に関する複数の操作情報を含む要求を受信したことに応じて、マスタデータベース100に要求に係る操作を実行する。
エラー除去部120は、要求に係る操作の実行結果に基づいて、複数の操作情報からエラーに係る操作情報を除去する。
マスタ通信部140は、複製先のスレーブ装置に通信可能に接続され、エラーに係る操作情報を除いた残りの操作情報をスレーブ装置に送信する。
このように実施形態1にかかる装置によれば、エラー除去部120が複数の操作情報からエラーに係る操作情報を除去するため、意図しない操作情報を除いた残りの操作情報だけをスレーブ装置に送信することができる。したがって、意図しない更新操作をスレーブデータベースに反映させることを防止することができる。また、意図しない更新操作以外の更新操作をスレーブデータベースに機動的に反映させることができる。これにより、たとえばマスタデータベース100の更新処理中に、スレーブ装置側でデータの参照処理を正しく行うことができ、不具合を回避できる。また、マスタデータベース100のデータ消失等の有事の際に、スレーブデータベースを用いてマスタデータベース100を早期に復旧させることが可能となる。
実施形態2.
次に図2〜8を用いて、本発明の実施形態2について説明する。図2は、本発明の実施形態2にかかる装置が適用されるシステム1の構成図である。システム1は、データベースにおけるデータの登録、変更および削除等のデータベースの更新処理並びにデータベースに記憶されるデータの参照処理といった、データベースの管理を行う。システム1は、1または複数の端末4と、要求投入サーバ3と、データベースサーバ2とを備え、これらがネットワーク5を介して通信可能に接続される構成をとる。
ネットワーク5は、インターネット、広域ネットワーク(WAN)、ローカルエリアネットワーク等の各種ネットワークまたはその組み合わせを含んで構成される。たとえばネットワーク5は、インターネットに加え、異なる事業者が提供する、インターネットと分離された複数の専用回線を含む。
端末4は、パーソナルコンピュータ、ノート型コンピュータ、携帯電話、スマートフォン、またはデータ入出力可能なその他の端末装置等である。端末4は、ネットワーク5を介して、他の端末4とデータの送受信を行う。たとえば端末4は、ネットワーク5に接続される中継サーバ(不図示)を介して、他の端末4とメール等のデータの送受信を行う。また端末4は、当該データの送受信に関する各種情報の参照を要求投入サーバ3に要求する。たとえば端末4は、受信されたメールの内容を取得する要求を要求投入サーバ3に送信する。また端末4は、データの送受信に関する各種設定の変更を要求投入サーバ3に要求する。たとえば端末4は、メールの受信フィルタの設定を変更する要求を要求投入サーバ3に送信する。
要求投入サーバ3は、サーバ・コンピュータ等のコンピュータであり、端末4または中継サーバからの要求を受信したことに応じて、要求に関する情報(要求関連情報)をデータベースサーバ2に送信する。なお要求投入サーバ3は、複数のコンピュータによる分散システムであってもよい。
たとえば要求投入サーバ3は、データの送受信に関する各種情報を参照する要求を端末4から受信したことに応じて、要求関連情報をデータベースサーバ2に送信する。また要求投入サーバ3は、データの送受信に関する各種設定を変更する要求を端末4から受信したことに応じて、要求関連情報をデータベースサーバ2に送信する。また要求投入サーバ3は、データの送受信に関する情報をデータベースサーバ2のデータベースに記憶させる要求を中継サーバから受信したことに応じて、要求関連情報をデータベースサーバ2に送信する。
データベースサーバ2は、複数のサーバ・コンピュータ等のコンピュータにより構成される。データベースサーバ2は、要求関連情報を要求投入サーバ3から受信したことに応じて、要求関連情報に基づく処理を行う。データベースサーバ2は、マスタ装置20と、1または複数のスレーブ装置26とを備える。
マスタ装置20は、サーバ・コンピュータ等のコンピュータである。マスタ装置20は、複数のコンピュータによる分散システムであってもよい。
マスタ装置20は、端末4のデータの送受信に関する情報を記憶するデータベースを有する。ここでデータの送受信に関する情報とは、たとえば受信したメールの内容およびメールの受信設定等の端末4のユーザのメールボックスに関する情報である。そしてマスタ装置20は、要求関連情報を要求投入サーバ3から受信したことに応じて、データベースへのデータの登録、データベースに記憶されるデータの変更および削除等の更新処理並びにデータベースの参照処理を行う。マスタ装置20は、1または複数のスレーブ装置26に通信可能に接続され、データベースの更新処理を行った場合にデータベースの更新に関する情報をスレーブ装置26に送信する。またマスタ装置20は、データベースの参照処理を行った場合、データベースのデータを、中継サーバを介して要求元(たとえば端末4)に送信する。
スレーブ装置26は、マスタ装置20と同様のコンピュータであり、マスタ装置20のデータベースのデータの複製を記憶するデータベースをそれぞれ有する。スレーブ装置26は、データベースの更新に関する情報をマスタ装置20から受信したことに応じて、当該情報に基づいて自己のデータベースを更新する。
スレーブ装置26は、マスタ装置20のデータベースのデータが消失した場合、自己のデータベースに記憶されるデータをマスタ装置20に送信する。
またスレーブ装置26は、マスタ装置20のデータベースの更新処理中に要求投入サーバ3からのデータの参照の要求に関する情報を受信した場合、自己のデータベースに記憶されるデータを、中継サーバを介して要求元(たとえば端末4)に送信する。
このように、システム1は、端末4のデータの送受信に関する情報をマスタ装置20およびスレーブ装置26のデータベース上で管理する。
図3は、実施形態2にかかるマスタ装置20の構成図である。マスタ装置20は、マスタデータベース200と、要求実行部210と、エラー除去部220と、マスタ通信部240とを備える。
マスタデータベース200は、データを記憶する記憶媒体である。マスタデータベース200は、要求実行部210に接続される。
要求実行部210は、エラー除去部220およびマスタ通信部240に接続される。要求実行部210は、マスタ通信部240からデータの更新操作の要求関連情報を受信する。要求関連情報は、データの更新操作に関する複数の操作情報300を含む。要求実行部210は、当該情報に基づいて、データの更新操作の要求に係る操作をマスタデータベース200に対して実行する。そして要求実行部210は、当該要求に係る操作の実行条件および実行結果に応じて実行情報32を生成する。実行情報32は、実行した複数の操作情報300を含む。
エラー除去部220は、マスタ通信部240に接続される。エラー除去部220は、実行情報32に含まれる複数の操作情報300からエラーに係る操作情報を除去し、エラーに係る操作情報を除いた残りの操作情報300を含む複製情報40を生成する。ここで、残りの操作情報300は、スレーブ装置26のスレーブデータベース260に反映される必要がある更新操作に関する操作情報である。
マスタ通信部240は、要求投入サーバ3および複製先のスレーブ装置26に通信可能に接続され、それぞれとの間で情報の送受信を行う。たとえばマスタ通信部240は、要求投入サーバ3から要求関連情報を受信する。またマスタ通信部240は、エラー除去部220から受信した複製情報40をスレーブ装置26に送信する。
図4は、実施形態2にかかるスレーブ装置26の構成図である。スレーブ装置26は、スレーブ通信部264と、複製実行部262と、スレーブデータベース260とを備える。
スレーブ通信部264は、要求投入サーバ3、マスタ装置20のマスタ通信部240および自己の複製実行部262に通信可能に接続され、それぞれとの間で情報の送受信を行う。たとえばスレーブ通信部264は、マスタ通信部240から複製情報40を受信する。
複製実行部262は、スレーブデータベース260に接続される。複製実行部262は、複製情報40に含まれる残りの操作情報300に基づく操作を実行し、その実行結果をスレーブデータベース260に記憶させる。
スレーブデータベース260は、マスタ装置20のマスタデータベース200に記憶されるデータの複製を記憶する記憶媒体である。スレーブデータベース260は、複製実行部262に接続され、複製実行部262の実行結果を記憶する。
図5は、実施形態2にかかる要求投入サーバ3から受信される要求関連情報のデータ構造の一例を示す。要求関連情報は、要求番号と、実行番号と、複数の操作情報300とを有する。
要求番号は、要求投入サーバ3が端末4または中継サーバから受信した、データの更新操作の要求を識別する番号である。要求番号は、一例として自然数である。
実行番号は、要求実行部210が要求に係る複数の操作情報300のうち対応する操作情報に基づく操作を実行する順番を示す。実行番号は、一例として自然数である。
操作情報300は、新たなデータをマスタデータベース200に記憶し、またはマスタデータベース200に記憶されるデータを変更若しくは削除する等の、マスタデータベース200に対する更新操作を示すコマンドである。操作情報300は、コンピュータ言語であり、一例としてSQL文である。たとえば本図のように、要求関連情報は、要求番号は同じであるが実行番号が異なる複数の操作情報300(第1操作情報331、第2操作情報332および第3操作情報333)を有する。
図6は、実施形態2にかかる要求実行部210によって生成される実行情報32のデータ構造の一例を示す。実行情報32は、要求番号と、実行番号と、複数の操作情報300と、エラー判定情報とを有する。本図に示す実行情報32に含まれる要求番号、実行番号および操作情報300は、図5に示す要求関連情報に含まれる要求番号、実行番号および操作情報300と同様であるから、説明を省略する。
エラー判定情報は、操作情報300が実行された結果に基づいて、当該操作情報300がエラーを含むか否かを示す情報である。ここでエラーは、たとえばマスタデータベース200への意図しない更新操作に関する操作情報である。たとえばエラー判定情報のフィールドには、対応する操作情報300にエラーが含まれない場合に0が格納され、対応する操作情報300にエラーが含まれる場合に1が格納される。本実施形態2では、第1操作情報331および第3操作情報333に対応するフィールドに0が、第2操作情報332に対応するフィールドに1が格納される。つまり、第2操作情報332はエラーを含む。
図7は、実施形態2にかかるエラー除去部220によって生成される複製情報40のデータ構造の一例を示す。複製情報40は、要求番号と、操作情報300とを有する。本図に示す複製情報40に含まれる要求番号および操作情報300は、図6に示す実行情報32に含まれる要求番号および操作情報300と同様であるから、説明を省略する。ただし本図では、複製情報40が第2操作情報332に対応するレコードを有さない点で相違する。本実施形態2では、操作情報300は、実行情報32における対応する実行番号の値が小さいものから順番に格納される。なお実施形態2では、複製情報40は実行番号を有さないが、実行番号を有してもよい。
次に、実施形態2にかかるマスタデータベース200の更新に関するシステム1のフローについて図8を用いて説明する。図8は、実施形態2にかかるシステム1のシーケンス図である。
まずS100において、要求投入サーバ3は、マスタデータベース200の更新の要求に関する要求関連情報をマスタ装置20のマスタ通信部240に送信する。
次にS102において、マスタ通信部240は、要求投入サーバ3から要求関連情報を受信したことに応じて、要求実行部210に要求関連情報を送信する。
S104において、要求実行部210は、マスタ通信部240から要求関連情報を受信したことに応じて、要求関連情報に含まれる操作情報300に基づく操作を実行番号に従って実行する。そして要求実行部210は、その実行結果をマスタデータベース200に記憶させる。その後、要求実行部210は、要求関連情報のテーブル中の実行済の操作情報300に対応するレコードにエラー判定情報を追加し、実行情報32を生成する。
本実施形態2ではエラー判定情報は、要求関連情報に含まれる操作情報300に基づく操作の実行結果に基づいて、外部からの入力を受けて追加される。例えば、当該操作情報300に基づいてマスタデータベース200に対して意図しない操作が実行され、エラー状態に至ったことを、ユーザが認識した場合に、ユーザは所定の入力手段によってマスタ装置20に対しエラー判定情報を入力する。このとき、ユーザは、入力したエラー判定情報において、複数の操作情報300の中からエラー状態の要因となる操作情報300、すなわちエラーに係る操作情報を特定する。しかしこれに限らず、エラー判定情報は、要求実行部210がその実行結果があらかじめ定められた条件に適合するか否かを判定することに応じて追加されてよい。
要求実行部210は、実行情報32をエラー除去部220に送信する。
次にS106において、エラー除去部220は、要求に係る操作が実行されたことに応じて、実行情報32を受信し、実行情報32に含まれる複数の操作情報300からエラーに係る操作情報を除去する。本実施形態2では、エラー除去部220は、実行情報32の第2操作情報332に対応するレコードのエラー判定情報のフィールドに1が格納されていることを検出し、第2操作情報332にエラーが含まれると判定する。そしてエラー除去部220は、実行情報32のテーブルから第2操作情報332に対応するレコードを除去する。そしてエラー除去部220は、エラーに係る操作情報が除去された実行情報32に基づいて、複製情報40を生成する。
なお、本実施形態2ではエラー除去部220が実行情報32からエラーに係る操作情報を除去して複製情報40を生成するとしたが、エラーに係る操作情報を含まない複製情報40を生成するのであればどのような方法であってもよい。たとえば、エラー除去部220は、実行情報32からエラーに係る操作情報以外の操作情報を選択して取得することで複製情報40を生成してもよい。
次にS108において、エラー除去部220は、複製情報40がエラーに係る操作情報を除いた残りの操作情報300を含むか否かを判定する。本実施形態2では、エラー除去部220は、複製情報40のテーブルが、残りの操作情報300を有するレコードを含むか否かを判定する。エラー除去部220は、含むと判定した場合(S108でY)、処理をS110に進め、そうでない場合(S108でN)、処理をS120に進める。
S110において、エラー除去部220は、マスタ通信部240に残りの操作情報300を含む複製情報40を送信する。そしてマスタ通信部240は、当該複製情報40をスレーブ装置26のスレーブ通信部264に送信する。
S112において、スレーブ通信部264は、残りの操作情報300を含む複製情報40を受信し、当該複製情報40を複製実行部262に送信する。
S114において、複製実行部262は、複製情報40を受信したことに応じて、対応するスレーブデータベース260に残りの操作情報300に係る操作を実行する。
S116において、スレーブ通信部264は、残りの操作情報300に係る操作を実行したことに応じて、その実行結果をマスタ装置20のマスタ通信部240に通知する。マスタ通信部240は、実行結果を受信後、要求実行部210に更新結果に応じた処理を行う旨の信号を送信する。
S120において、要求実行部210は、マスタデータベース200およびスレーブデータベース260の更新結果に応じた処理を行う。
このように実施形態2によれば、エラー除去部220が複数の操作情報300からエラーに係る操作情報を除去するため、意図しない操作情報を除いた残りの操作情報300だけをスレーブ装置26に送信することができる。したがって、意図しない更新操作をスレーブデータベース260に反映させることを防止することができる。また、意図しない更新操作以外の更新操作をスレーブデータベース260に機動的に反映させることができる。これにより、たとえばマスタデータベース200の更新処理中に、スレーブ装置26側でデータの参照処理を正しく行うことができ、不具合を回避できる。また、マスタデータベース200のデータ消失等の有事の際に、スレーブデータベース260を用いてマスタデータベース200を早期に復旧させることが可能となる。
また実施形態2によれば、エラー除去部220が要求に係る操作の実行後に複数の操作情報300からエラーに係る操作情報を除去する。このため実行の結果、意図しない更新操作が発生したと判明しても、スレーブ装置26に送信する操作情報からエラーに係る操作情報を未然に取り除いて、スレーブデータベース260に反映させたい更新操作に関する操作情報300だけを選択できる。したがってスレーブデータベース260に意図しない更新操作が反映されることを機動的に防止することができる。
なお、本実施形態2では、S106においてエラー除去部220は、実行情報32に含まれる複数の操作情報300からエラーに係る操作情報を除去することで、複製情報40を生成する。しかしこれに代えて、エラー除去部220は、外部からの入力により実行情報32に含まれる複数の操作情報300からエラーに係る操作情報を除去することで、複製情報40を生成してよい。例えば、当該操作情報300に基づいてマスタデータベース200に対して意図しない操作が実行され、エラー状態に至ったことを、ユーザが認識した場合に、ユーザは所定の入力手段によってマスタ装置20に対し除去対象の操作情報を選択し、除去する。この場合、S104において、要求実行部210は、要求関連情報のテーブル中の実行済の操作情報300に対応するレコードにエラー判定情報を追加する処理を省略してよい。
なお、マスタ装置20は、要求実行部210に接続され、マスタデータベース200に対して意図しない操作が実行されたことによるエラー状態を検知する検知部(不図示)を備えてもよい。この場合、S104において要求実行部210が外部からの入力を受けて要求関連情報にエラー判定情報を追加することに代えて、エラー状態を検知した旨の信号を検知部から受信したことに応じてエラー判定情報を追加してよい。
実施形態3.
次に図9〜12を用いて、本発明の実施形態3について説明する。図9は、実施形態3にかかるマスタ装置22の構成図である。本図に示すマスタ装置22は、図3に示すマスタ装置20と基本的には同様であるため、図3と同一の箇所については同一の符号を付して、適宜その説明を省略する。ただし、図9に示すマスタ装置22は、マスタ装置20に加えて、複製管理部230、バックアップデータベース250およびバックアップ実行部252を備える点で相違する。
複製管理部230は、エラー除去部220、マスタ通信部240およびバックアップ実行部252に接続される。複製管理部230は、エラー除去部220によるエラー除去処理で生成される複製情報40を含む情報を管理する。また複製管理部230は、バックアップ実行部252による要求に応じて、自己が管理する情報をバックアップ実行部252に提供する。また複製管理部230は、マスタ通信部240に複製情報40を送信する。ここで複製管理部230は、割り当て部232と複製記憶部234とを有する。
割り当て部232は、複製記憶部234に接続される。割り当て部232は、残りの操作情報300のそれぞれに対して、要求番号ごとに一意のシーケンス番号を割り当てる。たとえば割り当て部232は、残りの操作情報300に対して、要求実行部210によって実行された時刻順にシーケンス番号を割り当てる。
複製記憶部234は、残りの操作情報300および対応するシーケンス番号を記憶する記憶媒体である。
バックアップ実行部252は、複製管理部230の複製記憶部234に接続される。バックアップ実行部252は、予め定められた条件に従って複製記憶部234に記憶される残りの操作情報300を取得し、バックアップデータベース250に対して実行する。
バックアップデータベース250は、バックアップ実行部252に接続され、バックアップ実行部252によって実行された結果を記憶する記憶媒体である。
図10は、実施形態3にかかる各種情報のデータ構造の一例を示す。図10(a)は実行情報32のデータ構造を示し、図10(b)はエラー除去部220によって生成される複製情報40のデータ構造を示し、図10(c)は複製記憶部234に記憶される情報のデータ構造を示す。
図10(a)に示す実行情報32は、基本的には図6に示す実行情報32と同様であるが、実行番号に代えて付加情報を有する点で相違する。図10(a)に示す付加情報は、対応する操作情報300に係る操作が要求実行部210によって実行された時刻である。
図10(b)に示す複製情報40は、基本的には図7に示す複製情報40と同様であるが、付加情報を有する点で相違する。図10(b)に示す付加情報は、図10(a)に示す付加情報と同様である。
図10(c)に示す複製記憶部234に記憶される情報は、基本的には図10(b)に示す複製情報40と同様の構成を有するが、複数の異なる要求番号のレコードを有し、各レコードはシーケンス番号を有する点で相違する。なおシーケンス番号は、割り当て部232により割り当てられる。なお本実施形態3では、図10(c)に示す付加情報は図10(a)および(b)に示す付加情報と同様であり、シーケンス番号は当該付加情報に基づいて決定される。
次に、実施形態3にかかるマスタデータベース200の更新に関するシステム1のフローについて図11を用いて説明する。図11は、実施形態3にかかるシステム1のシーケンス図である。図11に示す各ステップは、基本的には図8に示すステップと同様であり、同一のステップには同一の符号を付して、適宜説明を省略する。
S108においてエラー除去部220は、複製情報40に操作情報300を含むレコードが存在すると判定した場合(S108でY)、処理をS110に代えてS200に進める。エラー除去部220は、そうでない場合(S108でN)、処理をS120に進める。
S200において、エラー除去部220は複製管理部230に残りの操作情報300を含む複製情報40を送信する。そして複製管理部230の割り当て部232は、複製情報40に含まれる付加情報に基づいて、各残りの操作情報300に対してシーケンス番号を割り当てる。割り当て部232は、複製情報40内の残りの操作情報300に対応するレコードに、割り当てたシーケンス番号をそれぞれ追加する。
次にS202において、割り当て部232は、追加した複製情報40を複製記憶部234に記憶させる。また割り当て部232は、マスタ通信部240にシーケンス番号を追加した複製情報40を送信する。そしてマスタ通信部240は、残りの操作情報300および対応するシーケンス番号を含む複製情報40をスレーブ装置26のスレーブ通信部264に送信する。
次にS112に代えてS206において、スレーブ通信部264は、複製情報40を受信したことに応じて、複製情報40を複製実行部262に送信する。
そしてS114に代えてS208において、複製実行部262は、複製情報40に含まれる残りの操作情報300に係る操作をシーケンス番号に従って実行し、その実行結果を自己のスレーブデータベース260に記憶させる。
このように実施形態3によれば、残りの操作情報300に対してシーケンス番号を割り当て、シーケンス番号を残りの操作情報300とともにスレーブ装置26に送信する。したがってスレーブ装置26においてスレーブデータベース260の更新処理を効率よく行うことができる。
なお実施形態3によれば、複製管理部230の複製記憶部234がエラー除去後の残りの操作情報300を含む複製情報40を記憶する。したがってスレーブ装置26に送信する複製情報40のログを管理できる他、マスタデータベース200のバックアップとしてマスタ装置22内で当該複製情報40を再利用できる。また複製記憶部234が残りの操作情報300に対応するシーケンス番号をさらに記憶するため、このようなバックアップ処理を効率よく行うことができる。ここでマスタ装置22内でのマスタデータベース200のバックアップ処理について図12を用いて説明する。
図12は、実施形態3にかかるバックアップ実行部252の処理の一例を示すフローチャートである。
まずS300において、バックアップ実行部252は、マスタ装置22内の計時部(不図示)から現在時刻を取得し、前回のバックアップ処理時刻から予め定められた時間Tが経過したか否かを判定する。時間Tは、一例として1時間である。バックアップ実行部252は、時間Tが経過していれば(S300でY)、処理をS310に進め、そうでなければ(S300でN)、処理をS300に戻す。
S310において、バックアップ実行部252は、複製記憶部234内の複製情報40のうち、現在時刻から時間Tだけ前の時刻以前に要求実行部210によって実行された残りの操作情報300を対応するシーケンス番号とともに取得する。ただしバックアップ実行部252は、前回のバックアップ処理に係る残りの操作情報300を取得しなくてよい。
S320において、バックアップ実行部252は、取得した複製情報40に含まれる残りの操作情報300をシーケンス番号に従って実行し、その実行結果をバックアップデータベース250に記憶させる。
実施形態3によれば、バックアップ実行部252がエラー除去処理後の残りの操作情報300を用いてマスタ装置22内でマスタデータベース200のバックアップを行う。したがって、マスタデータベース200のデータ消失等の有事の際にマスタデータベース200を即時に復旧することができる。なお実施形態3によれば、バックアップ実行部252が所定時間ごとに所定時間前までの残りの操作情報300を用いてマスタデータベース200のバックアップを行う。これにより、マスタ装置22は、マスタデータベース200と比較して時間T遅れのバックアップデータベース250を保持することができる。したがって、有事の際にマスタデータベース200を所定時間前の状態に即時に復旧することができる。
なお、本実施形態3では、複製記憶部234に記憶される情報に含まれる付加情報は、対応する操作情報300に係る操作が要求実行部210によって実行された時刻である(図10(c)参照)。しかしこれに代えて、当該付加情報は、操作情報300が複製記憶部234に格納される時刻であってもよい。この場合S310に代えて、バックアップ実行部252は、複製記憶部234内の複製情報40のうち、現在時刻から時間Tだけ前の時刻以前に複製記憶部234によって格納された操作情報300を対応するシーケンス番号とともに取得する。
次に、マスタデータベース200のデータの破損時等におけるマスタデータベース200のデータの復旧処理について図13を用いて説明する。図13は、実施形態3にかかるデータ復旧処理の一例を示すフローチャートである。
まず、S400において、要求実行部210は、バックアップデータベース250のデータの複製を取得し、マスタデータベース200に記憶させる。
次にS410において、要求実行部210は、複製記憶部234に記憶される複製情報40のうち、直近に実行された操作情報300を取得する。ここで、複製情報40は、実行情報32からエラーに係る操作情報300を除去した後の残りの操作情報300を含む。また、直近に実行された操作情報300は、前回までのバックアップ処理においてバックアップされていない操作情報300である。本実施形態3では直近に実行された操作情報300は、前回のバックアップ処理時刻からTだけ前の時刻から、現在時刻までの間に要求実行部210によって実行された操作情報300である。
そしてS420において、要求実行部210は、取得した操作情報300を実行し、マスタデータベース200に記憶させる。
本実施形態3によれば、マスタ装置22は、マスタデータベース200のデータが破損した場合、バックアップデータベース250からデータを複製するとともに、複製記憶部234に記憶される操作情報300を取得してマスタデータベース200に実行する。したがって、バックアップデータベース250にバックアップしているデータについては複製により即時に復元させ、それ以降の直近のデータについては、最小限の操作を実行することによって即時に直前のデータに復旧させることができる。
図14は、実施形態1〜3にかかるコンピュータ1900の構成図である。本図は、装置、マスタ装置20,22およびスレーブ装置26の具体的な構成を表したものである。マスタ装置20,22およびスレーブ装置26(以下、単に装置と呼ぶ)は、図14に示すようにシステム全体を制御するための制御部1000を備えている。この制御部1000には、データバス等のバスラインを介して、記憶装置1200、記憶媒体駆動装置1300、通信制御装置1400、および入出力I/F1500が接続されている。
制御部1000は、CPU1010と、ROM1020と、RAM1030とを備えている。
CPU1010は、ROM1020や記憶装置1200等の各種記憶部に記憶されたプログラムに従って、各種の情報処理や制御を行う。
ROM1020は、CPU1010が各種制御や演算を行うための各種プログラムやデータが予め格納されたリードオンリーメモリである。
RAM1030は、CPU1010にワーキングメモリとして使用されるランダムアクセスメモリである。このRAM1030には、本実施形態1〜3による要求実行処理、エラー除去処理、複製管理処理、バックアップ実行処理等の各種処理を行うための各種エリアが確保可能になっている。
記憶装置1200は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータ等の各種情報を読み書きするための駆動装置で構成されている。
この記憶装置1200に使用される記憶媒体としては、主としてハードディスクが使用されるが、後述の記憶媒体駆動装置1300で使用される各種記憶媒体のうちの読み書き可能な記憶媒体を使用するようにしてもよい。
記憶装置1200は、データ格納部1210、プログラム格納部1220および図示しないその他の格納部(例えば、この記憶装置1200内に格納されているプログラムやデータ等をバックアップするための格納部)等を有している。プログラム格納部1220には、本実施形態1〜3における要求実行処理プログラム、エラー除去プログラム、バックアップ実行処理プログラム、実行情報処理プログラム、複製管理処理プログラム等の各種プログラムが格納されている。データ格納部1210には、本実施形態1〜3にかかる各種データベースの各種データを格納する。
記憶媒体駆動装置1300は、CPU1010が外部の記憶媒体(外部記憶媒体)からコンピュータプログラムや文書を含むデータ等を読み込むための駆動装置である。
ここで、外部記憶媒体とは、コンピュータプログラムやデータ等が記憶される記憶媒体をいう。外部記憶媒体は、具体的には、フロッピーディスク、ハードディスク、磁気テープ等の磁気記憶媒体、メモリチップやICカード等の半導体記憶媒体、CD−ROMやMO、PD(相変化書換型光ディスク)等の光学的に情報が読み取られる記憶媒体が含まれてよい。また外部記憶媒体は、紙カードや紙テープ等の用紙(および、用紙に相当する機能を持った媒体)を用いた記憶媒体、その他各種方法でコンピュータプログラム等が記憶される記憶媒体が含まれてよい。
記憶媒体駆動装置1300は、これらの各種外部記憶媒体からコンピュータプログラムを読み込むことが可能である。このほか、記憶媒体駆動装置1300は、フロッピーディスクのような書き込み可能な外部記憶媒体に対してRAM1030や記憶装置1200に格納されているデータ等を書き込むことが可能である。
本実施形態1〜3の装置では、制御部1000のCPU1010が、記憶媒体駆動装置1300にセットされた外部の記憶媒体からコンピュータプログラムを読み込んで、記憶装置1200の各部に格納(インストール)する。
そして、装置が各種処理を実行する場合、記憶装置1200から該当プログラムをRAM1030に読み込み、実行するようになっている。但し装置は、記憶装置1200からではなく、記憶媒体駆動装置1300により外部の記憶媒体から直接RAM1030にプログラムを読み込んで実行することも可能である。また、装置によっては各種プログラム等を予めROM1020に記憶させておき、これをCPU1010が実行するようにしてもよい。さらに、装置は、各種プログラムやデータを、通信制御装置1400を介して他の記憶媒体からダウンロードし、実行するようにしてもよい。
通信制御装置1400は、装置と他のパーソナルコンピュータやワードプロセッサ等の各種外部電子機器との間をネットワーク接続するための制御装置である。通信制御装置1400は、これら各種外部電子機器から装置にアクセスすることを可能とする。
入出力I/F1500は、パラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を接続するためのインターフェースである。
本実施形態1〜3の装置は、パーソナルコンピュータやワードプロセッサ等を含むコンピュータシステムで構成するだけでなく、LAN(ローカル・エリア・ネットワーク)のサーバ、コンピュータ(パソコン)通信のホスト、インターネット上に接続されたコンピュータシステム等によって構成することも可能である。また、ネットワーク上の各機器に機能分散させ、ネットワーク全体で装置を構成することも可能である。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。その様な変更を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置および方法における各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのではない限り、任意の順序で実現しうる。特許請求の範囲、明細書および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順序で実施することが必須であることを意味するものではない。
1 システム、2 データベースサーバ、3 要求投入サーバ、4 端末、5 ネットワーク、20,22 マスタ装置、26 スレーブ装置、32 実行情報、40 複製情報、100,200 マスタデータベース、110,210 要求実行部、120,220 エラー除去部、230 複製管理部、232 割り当て部、234 複製記憶部、140,240 マスタ通信部、250 バックアップデータベース、252 バックアップ実行部、260 スレーブデータベース、262 複製実行部、264 スレーブ通信部、300 操作情報、331 第1操作情報、332 第2操作情報、333 第3操作情報、1000 制御部、1010 CPU、1020 ROM、1030 RAM、1200 記憶装置、1210 データ格納部、1220 プログラム格納部、1300 記憶媒体駆動装置、1400 通信制御装置、1500 入出力I/F、1900 コンピュータ

Claims (9)

  1. データを記憶するマスタデータベースと、
    前記データの更新操作に関する複数の操作情報を含む要求を受信したことに応じて、前記マスタデータベースに前記要求に係る操作を実行する要求実行部と、
    前記要求に係る操作の実行結果に基づいて、前記複数の操作情報からエラーに係る操作情報を除去するエラー除去部と、
    複製先のスレーブ装置に通信可能に接続され、前記エラーに係る操作情報を除いた残りの操作情報を前記スレーブ装置に送信するマスタ通信部と
    を備える装置。
  2. 前記残りの操作情報を記憶する複製記憶部を有する複製管理部をさらに備える、請求項1に記載の装置。
  3. 前記複製管理部は、前記残りの操作情報のそれぞれにシーケンス番号を割り当てる割り当て部をさらに有し、
    前記複製記憶部は、前記残りの操作情報に対応する前記シーケンス番号をさらに記憶する、
    請求項2に記載の装置。
  4. 前記マスタ通信部は、前記残りの操作情報および対応する前記シーケンス番号を前記スレーブ装置に送信する、請求項3に記載の装置。
  5. バックアップデータベースをさらに備え、
    前記複製管理部は、前記複製記憶部に記憶される前記残りの操作情報を取得し、前記バックアップデータベースに実行するバックアップ実行部を有する、請求項2から4のいずれか一項に記載の装置。
  6. データを記憶するマスタデータベースを有するマスタ装置と、前記データの複製を記憶するスレーブデータベースを有する複数のスレーブ装置とを備えるシステムであって、
    前記マスタ装置は、
    前記データの更新操作に関する複数の操作情報を含む要求を受信したことに応じて、前記マスタデータベースに前記要求に係る操作を実行する要求実行部と、
    前記要求に係る操作の実行結果に基づいて、前記複数の操作情報からエラーに係る操作情報を除去するエラー除去部と、
    前記複数のスレーブ装置のそれぞれに通信可能に接続され、前記エラーに係る操作情報を除いた残りの操作情報を前記スレーブ装置に送信するマスタ通信部と
    を有する、システム。
  7. 前記複数のスレーブ装置の各々は、
    前記残りの操作情報を受信したことに応じて、対応するスレーブデータベースに前記残りの操作情報に係る操作を実行する複製実行部と、
    前記マスタ装置に通信可能に接続され、前記残りの操作情報に係る操作の実行結果を前記マスタ装置に通知するスレーブ通信部と
    を有する、請求項6に記載のシステム。
  8. マスタデータベースに記憶されるデータの更新操作に関する複数の操作情報を含む要求を受信したことに応じて、マスタデータベースに前記要求に係る操作を実行する段階と、
    前記要求に係る操作の実行結果に基づいて、前記複数の操作情報からエラーに係る操作情報を除去する段階と、
    前記エラーに係る操作情報を除いた残りの操作情報を、複製先のスレーブ装置に送信する段階と
    を備える方法。
  9. マスタデータベースに記憶されるデータの更新操作に関する複数の操作情報を含む要求を受信したことに応じて、マスタデータベースに前記要求を実行する要求実行機能と、
    前記要求に係る操作の実行結果に基づいて、前記複数の操作情報からエラーに係る操作情報を除去するエラー除去機能と、
    前記エラーに係る操作情報を除いた残りの操作情報を、複製先のスレーブ装置に対して送信する処理を実行させる送信機能と
    をコンピュータに実現させるためのプログラム。
JP2019226435A 2019-12-16 2019-12-16 装置、システム、方法およびプログラム Pending JP2021096573A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019226435A JP2021096573A (ja) 2019-12-16 2019-12-16 装置、システム、方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019226435A JP2021096573A (ja) 2019-12-16 2019-12-16 装置、システム、方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2021096573A true JP2021096573A (ja) 2021-06-24

Family

ID=76432024

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019226435A Pending JP2021096573A (ja) 2019-12-16 2019-12-16 装置、システム、方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2021096573A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006065629A (ja) * 2004-08-27 2006-03-09 Hitachi Ltd データ処理システム及び方法
JP2008129794A (ja) * 2006-11-20 2008-06-05 Fujitsu Ltd バックアップシステム及びバックアップ装置
JP2017054415A (ja) * 2015-09-11 2017-03-16 富士通株式会社 制御装置、情報処理システム、及び制御プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006065629A (ja) * 2004-08-27 2006-03-09 Hitachi Ltd データ処理システム及び方法
JP2008129794A (ja) * 2006-11-20 2008-06-05 Fujitsu Ltd バックアップシステム及びバックアップ装置
JP2017054415A (ja) * 2015-09-11 2017-03-16 富士通株式会社 制御装置、情報処理システム、及び制御プログラム

Similar Documents

Publication Publication Date Title
WO2021238267A1 (zh) 基于集群文件系统的数据备份方法、装置及可读存储介质
US7890716B2 (en) Method of managing time-based differential snapshot
US9396198B2 (en) Computer system, file management method and metadata server
CN100414547C (zh) 用于访问文件系统快照的方法和文件系统
US7694169B2 (en) Restoring a client device
JP2018028715A (ja) ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム
US20160259574A1 (en) Incremental replication of a source data set
US7216210B2 (en) Data I/O system using a plurality of mirror volumes
US11698808B2 (en) System and method of selectively restoring a computer system to an operational state
US10048978B2 (en) Apparatus and method for identifying a virtual machine having changeable settings
JP2012507788A (ja) ストレージ・エリア・ネットワークを使用してコンピュータシステムを復旧するための方法およびシステム
CN105593829A (zh) 从原始映像备份中排除文件系统对象
CN100594480C (zh) 复制设备、复制方法和块标识数据获取方法
JP6967010B2 (ja) 異種ストレージシステム間の複製
US20080155319A1 (en) Methods and systems for managing removable media
CN107341072A (zh) 一种数据备份方法及装置
US20170139779A1 (en) Controller, storage system, and non-transitory computer-readable storage medium having control program stored therein
JP2012014317A (ja) 複製装置、複製方法、メモリメディア、プログラム
JP2021096573A (ja) 装置、システム、方法およびプログラム
US20130031320A1 (en) Control device, control method and storage apparatus
JP6497157B2 (ja) 情報管理装置、情報管理方法、情報管理プログラム、データ構造、及び、ソフトウェア資産管理システム
CN100444130C (zh) 存储设备、数据处理系统及方法、数据库和存储控制单元
JP5240086B2 (ja) データ管理プログラム
US20070124366A1 (en) Storage control method for managing access environment enabling host to access data
US10379777B2 (en) Method for performing replication control in storage system with aid of relationship tree within database, and associated apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231220

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20240312