【文献】
松信 嘉範,MySQLパワーアップ講座 後編 MySQLのレプリケーション,SoftwareDesign 2008年10月号,日本,(株)技術評論社,2008年10月18日,第114頁−第121頁
【文献】
松信 嘉範,本気で取り組むDBAのためのMySQL入門,DB Magazine 2004年12月号,日本,株式会社翔泳社,2004年12月 1日,第206頁−第213頁
【文献】
川上 明久,実践AWS! 企業クラウドの設計パターン,日経SYSTEMS 2015年9月号,日本,日経BP社,2015年 8月26日,第74頁−第79頁
(58)【調査した分野】(Int.Cl.,DB名)
前記遅延サーバは、さらに、前記マスターサーバからバックアップデータを読み出し、前記バックアップデータに基づいて統計機能を行い、前記バックアップデータが増分リストアおよびロールバックに利用できるか否かを定期的に検証することを特徴とする、請求項1に記載のホットバックアップシステム。
【発明を実施するための形態】
【0012】
以下、本発明の実施例について詳細に説明し、前記実施例の例が図面に示されている。同一又は類似の符号は常に同一又は類似の要素を表す。以下に図面を参照ながら説明された実施例は、例示であり、本発明を解釈するためのものであるので、本発明を限定するものであると理解してはいけない。
【0013】
以下、図面を参照しながら、本発明の実施例のホットバックアップシステム、ホットバックアップ方法、及びコンピュータ機器を説明する。
図1は、本発明の一実施例に係るホットバックアップシステムの概略構成図である。
図1に示すように、当該ホットバックアップシステム100は、集中管理モジュール110と、それぞれ集中管理モジュール110に接続されたマスターサーバ120とスレーブサーバ130と遅延サーバ140と、を含むことができる。本発明の実施例において、集中管理モジュール110は、通信ケーブルを介してマスターサーバ120、スレーブサーバ130および遅延サーバ140にそれぞれ通信可能に接続することができる。
【0014】
具体的には、集中管理モジュール110は、業務サーバとデータ伝送を行う。一例として、集中管理モジュール110は、業務サーバとの通信リンクを構築し、当該通信リンクを介して業務サーバとのデータ伝送を行うことができる。例えば、集中管理モジュール110は、業務サーバによって送信された格納待ちのデータを受信し、当該格納待ちのデータをマスターサーバ120のデータベースに送信して格納することができる。また、データベースからデータを読み出して、読み出したデータを業務サーバに送信して、業務サーバとのデータ伝送を行うこともできる。
【0015】
本発明の実施例において、本発明の実施例のホットバックアップシステム100は、3つのサーバを含むことができ、当該3つのサーバは、それぞれアイデンティティ、マスターサーバ、スレーブサーバおよび遅延サーバという各自のアイデンティティを持っている。マスターサーバ120は、集中管理モジュール110によって送信された、業務サーバによって送信された第1のデータが含まれた書き込み命令を受信し、当該書き込み命令に基づいて、第1のデータをマスターサーバ120のデータベースに書き込むことができる。例えば、集中管理モジュール110は、業務サーバによって送信された第1のデータを受信した場合、当該第1のデータに対する書き込み命令を生成し、当該書き込み命令をマスターサーバ120に送信することができる。マスターサーバ120は、集中管理モジュール110によって送信された書き込み命令を受信した場合、当該書き込み命令に基づいて、当該書き込み命令に含まれる第1のデータをマスターサーバ120のデータベースに書き込んで、データのデータベースへの書き込みを行うことができる。
【0016】
スレーブサーバ130は、マスターサーバ120とリアルタイムでデータ同期を行い、集中管理モジュール110によって送信された読み出し命令を受信し、読み出し命令に基づいて、読み出した第2のデータを集中管理モジュール110に送信して、集中管理モジュール110が第2のデータを業務サーバに送信する。例を挙げると、スレーブサーバ130は、マスターサーバ120にハートビートパッケージをリアルタイムで送信して両者の通信接続を維持し、当該通信接続を介してリアルタイムでマスターサーバ120にデータ同期要求をリアルタイムで送信することができる。マスターサーバ120は、当該データ同期要求を受信した場合、自身のデータベースに格納されたデータをスレーブサーバ130に送信して、データ同期機能を実現することができる。
【0017】
本発明の実施例において、スレーブサーバ130は、読み出し機能をさらに有することができる。すなわち、集中管理モジュール110によって送信された読み出し命令を受信し、当該読み出し命令に基づいて、読み出した第2のデータを集中管理モジュール110に送信することができる。集中管理モジュール110は、スレーブサーバ130から読み出した第2のデータを業務サーバに送信することで、対応する業務データ操作が行われる。
【0018】
遅延サーバ140は、予め設定された遅延バックアップパラメータに基づいて、マスターサーバ120で生成されたデータ操作情報の遅延バックアップを行うことができる。本発明の実施例において、前記遅延バックアップパラメータは、1時間程度の遅延時間を含んでも良い。例を挙げると、遅延サーバ140は、予め設定された遅延バックアップパラメータに基づいて、マスターサーバ120に格納されたデータ操作情報の遅延バックアップを行うことができる。例えば、マスターサーバ120に現在格納されているデータがデータAであると、遅延サーバ140は、1時間遅延した後、マスターサーバ120から格納されているデータAを読み出し、当該データAを格納してバックアップすることによって、マスターサーバのデータの遅延バックアップの機能を実現する。このようにして、遅延サーバがマスターサーバのデータの遅延バックアップを行うことによって、現在のシステムにデータ送信故障が発生したとき、遅延サーバ中のバックアップデータを利用してマスターサーバ中のデータを、前記遅延時間前の状態に復元することができる。例えば、マスターサーバ中のデータを1時間前の状態に復元することによって、データベースの誤動作時の迅速な障害復旧の目的を実現することができる。
【0019】
集中管理モジュール110は、さらに、ホットバックアップシステム100の稼働状態の異常が監視された場合、稼働状態の異常に基づいて、マスターサーバ120、スレーブサーバ130および遅延サーバ140のアイデンティティロールの切替え管理をそれぞれ行う。選択可能に、集中管理モジュール110は、ホットバックアップシステム100の稼働状態の異常が監視された場合には、当該稼働状態の異常に基づいて、対応するデータ障害レベルを決定し、当該データ障害レベルに基づいて、マスターサーバ120、スレーブサーバ130および遅延サーバ140の新たなアイデンティティ属性をそれぞれ決定し、当該新たなアイデンティティ属性に基づいて、マスターサーバ120、スレーブサーバ130および遅延サーバ140のアイデンティティの切替えをそれぞれ行う。
【0020】
例を挙げると、集中管理モジュール110は、ホットバックアップシステム100の稼働状態をリアルタイムで監視することができ、ホットバックアップシステム100の稼働状態が異常であることを検出した場合には、当該稼働状態の異常に基づいて、対応するデータ障害レベルを決定することができる。例えば、当該データ障害レベルは、第1のレベルと第2のレベルとを含むことができる。第1のレベルの障害の程度は、第2のレベルの障害の程度よりも小さく、例えば、第1のレベルは、マスターサーバの稼働状態が異常(すなわち、データ格納不能)であり、第2のレベルは、マスターサーバとスレーブサーバとの稼働状態がいずれも異常であってもよい。対応するデータ障害レベルを決定した後、当該データ障害レベルに基づいて、マスターサーバ120、スレーブサーバ130および遅延サーバ140の新たなアイデンティティ属性をそれぞれ決定し、当該新たなアイデンティティ属性に基づいてマスターサーバ120、スレーブサーバ130および遅延サーバ140のアイデンティティの切替えをそれぞれ行うことができる。
【0021】
例えば、データ障害レベルが前記第1のレベルであると決定した場合、集中管理モジュール110は、スレーブサーバ130を新たなマスターサーバとし、稼働状態が異常である元のマスターサーバを再起動して新たなスレーブサーバとし、遅延サーバ140をそのまま新たな遅延サーバとすることができる。また、例えば、データ障害レベルが前記第2のレベルであると決定した場合、集中管理モジュール110は、元の遅延サーバを新たなマスターサーバとし、稼働状態が異常である元のマスターサーバを再起動して新たなスレーブサーバとし、稼働状態が異常である元のスレーブサーバを再起動して新たな遅延サーバとすることができる。このように、データ障害レベルに基づいて様々なデータベースディザスタリカバリの問題が迅速に解決され、マスター・スレーブの切替えによってネットワークまたは機械の故障問題が解決され、遅延サーバの切替えによってデータベース誤動作の問題が迅速に解決される。
【0022】
データベースを任意の時点でロールバックするために、選択可能に、本発明の一実施例において、マスターサーバ120は、さらに、Binlogでマスターサーバ120中のデータベースのデータバックアップを行うことができる。本発明の実施例において、遅延サーバ140は、予め設定された遅延バックアップパラメータに基づいて、マスターサーバ120中のBinlogログファイルから、前記データ操作情報を取得し、取得した前記データ操作情報を格納することができる。前記遅延バックアップパラメータは、遅延時間を含んでも良い。
【0023】
例えば、マスターサーバ120は、Binlog技術を採用してマスターサーバ120中のデータベースのデータバックアップを行い、Binlogログファイルを生成することができ、当該Binlogログファイルには、マスターサーバ120で生成されたデータ操作情報がバイナリの方式で記録されている。遅延サーバ140は、一定の時間遅延して、マスターサーバ120中のBinlogログファイルから、当該時間内にマスターサーバ120で生成されたデータ操作情報を取得し、取得したデータ操作情報を格納してバックアップすることができる。例えば、遅延時間が1時間であることを例とすると、遅延サーバ140は、1時間毎に、マスターサーバ120中のBinlogログファイルから、直前の1時間内にマスターサーバ120で生成されたデータ操作情報を1回読み出し、読み出したデータ操作情報を格納してバックアップすることができる。したがって、Binlogでマスターサーバ中のデータを格納してバックアップすることによって、バックアップされたBinlogログファイルが自身のBinlogリストア機能を利用してデータベースを任意の時点にロールバックすることができる。
【0024】
システムの高い信頼性と可用性をさらに向上させるために、選択可能に、本発明の一実施例において、遅延サーバ140は、さらに、マスターサーバ120中からバックアップデータを読み出し、前記バックアップデータに基づいて統計機能を行い、前記バックアップデータが増分リストアおよびロールバックに利用できるか否かを定期的に検証することができる。つまり、遅延サーバ140は、マスターサーバ120からバックアップデータを読み出し、当該バックアップデータに基づいて統計機能を行い、例えば、業務についてのデータ統計などを行うことができ、当該バックアップデータを定期的に検証して、当該バックアップデータが増分リストアおよびロールバックに利用できるか否かを検出することによって、マスターサーバが誤って不正なデータを利用して復元することを防止して、データの安全性を確保することができる。
【0025】
システムの高い信頼性をさらに向上させ、4台のサーバに基づくホットバックアップシステムを実現するために、選択可能に、本発明の一実施例において、
図2に示すように、当該ホットバックアップシステム100は、サンドボックスサーバ150をさらに含むことができる。サンドボックスサーバ150は、マスターサーバ120で生成されたデータ操作情報を周期的にバックアップし、マスターサーバ120のフルバックアップリストア機能が利用できるか否かを定期的に検証することができる。例えば、サンドボックスサーバ150は、毎日、マスターサーバ120で生成されたデータ操作情報を一回バックアップし、当該バックアップのデータを毎日一回リストアし、すなわちマスターサーバの前日のデータとしてリストアし、リストア結果を判断することによって、マスターサーバ120のフルバックアップリストア機能が利用できるか否かを検証することができる。例えば、リストアされたデータがマスターサーバ120のフルバックアップに一致する場合、マスターサーバ120のフルバックアップリストア機能が利用できると判定することができる。
【0026】
選択可能に、サンドボックスサーバ150は、さらに、マスターサーバ120から周期的にバックアップしたデータを、予備研究、試験、および実環境テストなどの危険度の高い操作に利用することによって、サンドボックスサーバの機能を最大限に活用して拡張し、システム機器の多機能を豊かにすることができる。
【0027】
システムの高い信頼性をさらに向上して、ディザスタリカバリ、誤動作、および過負荷などの問題を解決するうえで得られる効果をより良くするために、本発明の実施例のホットバックアップシステムは、4台のサーバからなるホットバックアップ技術を採用することができる。このように、ホットバックアップシステムの稼働状態の異常が監視された場合、稼働状態の異常に基づいて、マスターサーバ、スレーブサーバ、遅延サーバ、およびサンドボックスサーバのアイデンティティロールの切替え管理をそれぞれ行うことができる。一例として、集中管理モジュール110は、ホットバックアップシステムの稼働状態の異常が監視された場合、前記稼働状態の異常に基づいて対応するデータ障害レベルを決定し、当該データ障害レベルに基づいてマスターサーバ120、スレーブサーバ130、遅延サーバ140、およびサンドボックスサーバ150の新たなアイデンティティ属性をそれぞれ決定し、前記新たなアイデンティティ属性に基づいて、マスターサーバ120、スレーブサーバ130、遅延サーバ140、およびサンドボックスサーバ150のアイデンティティの切替えをそれぞれ行うことができる。データ障害レベルは、第1のレベル、第2のレベル、および第3のレベルを含むことができる。第1のレベルの障害の程度は第2のレベルの障害の程度よりも小さく、第2のレベルの障害の程度は第3のレベルの障害の程度よりも小さい。例えば、第1のレベルは、マスターサーバの稼働状態が異常(すなわち、データ格納不能)であり、第2のレベルは、マスターサーバとスレーブサーバとの稼働状態がいずれも異常であり、第3のレベルは、マスターサーバ、スレーブサーバ、および遅延サーバの稼働状態がいずれも異常であってもよい。
【0028】
例を挙げると、データ障害レベルが前記第1のレベルであると決定した場合、集中管理モジュール110は、スレーブサーバ130を新たなマスターサーバとし、稼働状態が異常である元のマスターサーバを再起動して新たなスレーブサーバとし、遅延サーバ140をそのまま新たな遅延サーバとし、サンドボックスサーバをそのまま新たなサンドボックスサーバとすることができる。また、例えば、データ障害レベルが前記第2のレベルであると決定した場合、集中管理モジュール110は、元の遅延サーバを新たなマスターサーバとし、稼働状態が異常である元のマスターサーバを再起動して新たなスレーブサーバとし、稼働状態が異常である元のスレーブサーバを再起動して新たな遅延サーバとし、サンドボックスサーバをそのまま新たなサンドボックスサーバとすることができる。
【0029】
また、例えば、第3のレベルがデータ障害レベルであると決定した場合、集中管理モジュール110は、元のサンドボックスサーバを新たなマスターサーバとし、稼働状態が異常である元のマスターサーバを再起動して新たなスレーブサーバとし、稼働状態が異常である元のスレーブサーバを再起動して新たな遅延サーバとし、稼働状態が異常である元の遅延サーバを新たなサンドボックスサーバとすることができる。このように、データ障害レベルに基づいて様々なデータベースディザスタリカバリの問題が迅速に解決され、マスター・スレーブの切替えによってネットワークまたは機械の故障問題が解決され、遅延サーバの切替えによってデータベース誤動作の問題が迅速に解決される。
【0030】
本発明の実施例のホットバックアップシステムによれば、マスターサーバが業務サーバとのデータ伝送を行い、マスターサーバが業務サーバによって送信されたデータの格納を実現し、スレーブサーバがマスターサーバとリアルタイムでデータ同期を行い、集中管理モジュールによって送信された読み出し命令を受信し、当該読み出し命令に基づいて、読み出した第2のデータを集中管理モジュールに送信して、集中管理モジュールが前記第2のデータを業務サーバに送信するようにして、業務サーバとのデータ伝送を実現し、集中管理モジュールが、システムの稼働状態の異常がモニタリングされた場合、当該稼働状態の異常に基づいて、マスターサーバ、スレーブサーバおよび遅延サーバのアイデンティティロールの切替え管理をそれぞれ行うことができる。すなわち、集中管理モジュールが、データ障害レベルに基づいて様々なデータベースディザスタリカバリの問題を迅速に解決し、マスター・スレーブの切替えによってネットワークまたは機械の故障問題を解決し、遅延サーバの切替えによってデータベース誤動作の問題を迅速に解決する。これにより、ディザスタリカバリ、誤動作、および過負荷などの問題を解決するうえで得られる効果がより良くなり、システムの高い信頼性と保守性が大幅に向上する。
【0031】
本発明は、ホットバックアップ方法をさらに提供する。本発明の実施例において、本発明の上記のいずれか1つの実施例に記載のホットバックアップシステムによってホットバックアップ方法を実行することができる。
図3は、本発明の一実施例に係るホットバックアップ方法のフローチャートである。なお、本発明の実施例のホットバックアップ方法は本発明の実施例の集中管理モジュール側から説明することができる。
図3に示すように、当該ホットバックアップ方法は、S310〜S360を含む。
【0032】
S310において、業務サーバによって送信された第1のデータを取得する。
選択可能に、業務サーバとの通信リンクを構築し、当該通信リンクを介して業務サーバとのデータ伝送を行うことができる。例えば、当該通信リンクを介して業務サーバによって送信された第1のデータを受信することができる。
【0033】
S320において、第1のデータに対する書き込み命令を生成し、書き込み命令に基づいて第1のデータをマスターサーバのデータベースに書き込む。
選択可能に、業務サーバによって送信された第1のデータを受信した場合、当該第1のデータに対する書き込み命令を生成し、当該書き込み命令に基づいて第1のデータをマスターサーバのデータベースに書き込むことができる。
【0034】
S330において、マスターサーバとリアルタイムでデータ同期を行うようにスレーブサーバを制御する。
例えば、マスターサーバにハートビートパッケージをリアルタイムで送信して両者の通信接続を維持し、当該通信接続を介してマスターサーバにデータ同期要求をリアルタイムで送信するようにスレーブサーバを制御することができる。マスターサーバは、当該データ同期要求を受信した場合、自身データベースに格納されているデータをスレーブサーバに送信してデータ同期の機能を実現することができる。
【0035】
S340において、スレーブサーバに読み出し命令を送信し、スレーブサーバが読み出し命令に基づいて読み出した第2のデータを受信し、第2のデータを業務サーバに送信する。
選択可能に、スレーブサーバは、読み出し機能をさらに有することができ、すなわち、集中管理モジュールによって送信された読み出し命令を受信し、当該読み出し命令に基づいて、読み出した第2のデータを集中管理モジュールに送信し、集中管理モジュールは当該読み出した第2のデータを業務サーバに送信して、対応する業務データ操作を行うようにすることができる。
【0036】
S350において、予め設定された遅延バックアップパラメータに基づいてマスターサーバで生成されたデータ操作情報の遅延バックアップを行うように遅延サーバを制御する。本発明の実施例において、前記遅延バックアップパラメータは、1時間程度の遅延時間を含むことができる。
【0037】
例を挙げると、予め設定された遅延バックアップパラメータに基づいてマスターサーバに格納されたデータ操作情報の遅延バックアップを行うように遅延サーバを制御することができる。例えば、マスターサーバに現在格納されているデータがデータAである場合には、1時間遅延した後、マスターサーバから格納されているデータAを読み出し、当該データAを格納してバックアップするようにサーバを制御することで、マスターサーバのデータの遅延バックアップの機能を実現することができる。これにより、遅延サーバがマスターサーバのデータの遅延バックアップを行うことにより、現在のシステムに送信データの故障が発生した場合には、遅延サーバ中のバックアップデータを利用してマスターサーバ中のデータを、前記遅延時間前の状態に復元することができる。例えば、マスターサーバ中のデータを1時間前の状態に復元することにより、データベースの誤動作時の迅速な障害復旧を実現することができる。
【0038】
データベースを任意の時点にロールバックするために、選択可能に、本発明の一実施例において、Binlogで前記マスターサーバ中のデータベースのデータバックアップを行うようにマスターサーバを制御することができる。本発明の実施例において、予め設定された遅延バックアップパラメータに基づいて前記マスターサーバで生成されたデータ操作情報の遅延バックアップを行うように遅延サーバを制御する前記ステップの具体的な実現過程は、予め設定された遅延バックアップパラメータに基づいて、マスターサーバ中のBinlogログファイルからデータ操作情報を取得し、取得されたデータ操作情報を格納するように遅延サーバを制御するステップであってもよく、遅延バックアップパラメータは、遅延時間を含む。
【0039】
例えば、Binlog技術を採用してマスターサーバ120中のデータベースのデータバックアップを行って、Binlogログファイルを生成するようにマスターサーバを制御することができ、当該Binlogログファイルには、マスターサーバ120中でバイナリの方式で生成されたデータ操作情報が記録されている。一定時間遅延した後、マスターサーバ120中のBinlogログファイルから、当該段時間内にマスターサーバ120で生成されたデータ操作情報を取得し、取得したデータ操作情報を格納してバックアップするように遅延サーバを制御することができる。例えば、遅延時間が1時間であることを例とすると、1時間毎に、マスターサーバ120中のBinlogログファイルから、直前の1時間内にマスターサーバ120で生成されたデータ操作情報を1回読み出し、読み出したデータ操作情報を格納してバックアップするように遅延サーバを制御することができる。したがって、Binlogでマスターサーバ中のデータを格納してバックアップすることによって、バックアップのBinlogログファイルが自身のBinlogリストア機能を利用してデータベースを任意の時点にロールバックすることができる。
【0040】
S360において、ホットバックアップシステムの稼働状態の異常が監視された場合には、稼働状態の異常に基づいてマスターサーバ、スレーブサーバおよび遅延サーバのアイデンティティロールの切替え管理をそれぞれ行う。
選択可能に、ホットバックアップシステムの稼働状態の異常が監視された場合には、当該稼働状態の異常に基づいて対応されるデータ障害レベルを決定し、当該データ障害レベルに基づいて、マスターサーバ、スレーブサーバおよび遅延サーバの新たなアイデンティティ属性をそれぞれ決定し、当該新たなアイデンティティ属性に基づいてマスターサーバ、スレーブサーバおよび遅延サーバのアイデンティティの切替えをそれぞれ行うことができる。
【0041】
例を挙げると、ホットバックアップシステムの稼働状態をリアルタイムで監視することができ、ホットバックアップシステムの稼働状態が異常であることが検出された場合に、当該稼働状態の異常に基づいて対応するデータ障害レベルを決定することができる。例えば、当該データ障害レベルは、第1のレベルと第2のレベルとを含むことができ、第1のレベルの障害の程度は、第2のレベルの障害の程度よりも小さい。例えば、第1のレベルは、マスターサーバの稼働状態が異常(すなわち、データ格納不能)であり、第2のレベルは、マスターサーバとスレーブサーバとの稼働状態がいずれも異常であるとしてもよい。対応するデータ障害レベルが決定された後、当該データ障害レベルに基づいて、マスターサーバ、スレーブサーバおよび遅延サーバの新たなアイデンティティ属性をそれぞれ決定し、当該新たなアイデンティティ属性に基づいて、マスターサーバ、スレーブサーバおよび遅延サーバのアイデンティティの切替えをそれぞれ行うことができる。
【0042】
例えば、データ障害レベルが前記第1のレベルであると決定された場合には、スレーブサーバを新たなマスターサーバとし、稼働状態が異常である元のマスターサーバを再起動して新たなスレーブサーバとし、遅延サーバをそのまま新たな遅延サーバとすることができる。また、例えば、データ障害レベルが前記第2のレベルであると決定された場合には、元の遅延サーバを新たなマスターサーバとし、稼働状態が異常である元のマスターサーバを再起動して新たなスレーブサーバとし、稼働状態が異常である元のスレーブサーバを再起動して新たな遅延サーバとすることができる。このように、データ障害レベルに基づいて様々なデータベースディザスタリカバリの問題が迅速に解決され、マスター・スレーブ切替えによってネットワークまたは機械の故障問題が解決され、遅延サーバの切替えによってデータベース誤動作の問題が迅速に解決される。
【0043】
システムの高い信頼性と可用性をさらに向上させるために、選択可能に、本発明の一実施例において、前記マスターサーバからバックアップデータを読み出し、前記バックアップデータに基づいて統計機能を行い、前記バックアップデータが増分リストアおよびロールバックに利用できるか否かを定期的に検証するように遅延サーバを制御することができる。つまり、マスターサーバからバックアップデータを読み出し、当該バックアップデータに基づいて、統計機能を行い、例えば、業務についてのデータ統計などを行い、当該バックアップデータを定期的に検証して、当該バックアップデータが増分リストアおよびロールバックに利用できるか否かを検出するように遅延サーバを制御することができ、マスターサーバが誤って不正なデータを利用して復元することを防止して、データの安全性を確保することができる。
【0044】
システムの高い信頼性をさらに向上させ、4台のサーバに基づくホットバックアップシステムを実現するために、当該ホットバックアップシステムは、サンドボックスサーバをさらに含むことができる。選択可能に、本発明の一実施例において、前記マスターサーバで生成されたデータ操作情報を周期的にバックアップし、前記マスターサーバのフルバックアップリストア機能が利用できるか否かを定期的に検証するようにサンドボックスサーバを制御することができる。例えば、毎日、マスターサーバ120で生成されたデータ操作情報を一回バックアップし、当該バックアップのデータを毎日一回リストアし、すなわちマスターサーバを前日のデータとしてリストアし、リストア結果を判断することによって、マスターサーバのフルバックアップリストア機能が利用できるか否かを検証するようにサンドボックスサーバを制御することができる。例えば、リストアされたデータがマスターサーバのフルバックアップに一致する場合、マスターサーバのフルバックアップリストア機能が利用できると判定することができる。
【0045】
システムの高い信頼性をさらに向上して、ディザスタリカバリ、誤動作、および過負荷などの問題を解決するうえで得られる効果をより良くするために、本発明の実施例のホットバックアップシステムは、4台のサーバからなるホットバックアップ技術を採用することで、ホットバックアップシステムの稼働状態の異常が監視された場合、稼働状態の異常に基づいてマスターサーバ、スレーブサーバ、遅延サーバ、およびサンドボックスサーバのアイデンティティロールの切替え管理をそれぞれ行うことができる。一例として、ホットバックアップシステムの稼働状態の異常が監視された場合には、前記稼働状態の異常に基づいて対応するデータ障害レベルを決定し、前記データ障害レベルに基づいて前記マスターサーバ、スレーブサーバ、遅延サーバ、およびサンドボックスサーバの新たなアイデンティティ属性をそれぞれ決定した後、前記新たなアイデンティティ属性に基づいて前記マスターサーバ、スレーブサーバ、遅延サーバ、およびサンドボックスサーバのアイデンティティの切替えをそれぞれ行うことができる。データ障害レベルは、第1のレベル、第2のレベル、および第3のレベルを含むことができる。第1のレベルの障害の程度は第2のレベルの障害の程度よりも小さく、第2のレベルの障害の程度は第3のレベルの障害の程度よりも小さい。例えば、第1のレベルは、マスターサーバの稼働状態が異常(すなわち、データ格納不能)であり、第2のレベルは、マスターサーバとスレーブサーバとの稼働状態がいずれも異常であり、第3のレベルは、マスターサーバ、スレーブサーバ、および遅延サーバの稼働状態がいずれも異常であってもよい。
【0046】
例を挙げると、データ障害レベルが前記第1のレベルであると決定された場合には、スレーブサーバを新たなマスターサーバとし、稼働状態が異常である元のマスターサーバを再起動して新たなスレーブサーバとし、遅延サーバをそのまま新たな遅延サーバとし、サンドボックスサーバをそのまま新たなサンドボックスサーバとすることができる。また、例えば、データ障害レベルが前記第2のレベルであると決定され場合、元の遅延サーバを新たなマスターサーバとし、稼働状態が異常である元のマスターサーバを再起動して新たなスレーブサーバとし、稼働状態が異常である元のスレーブサーバを再起動して新たな遅延サーバとし、サンドボックスサーバをそのまま新たなサンドボックスサーバとすることができる。
【0047】
また、例えば、第3のレベルがデータ障害レベルであると決定された場合には、元のサンドボックスサーバを新たなマスターサーバとし、稼働状態が異常である元のマスターサーバを再起動して新たなスレーブサーバとし、稼働状態が異常である元のスレーブサーバを再起動して新たな遅延サーバとし、稼働状態が異常である元の遅延サーバを新たなサンドボックスサーバとすることができる。このように、データ障害レベルに基づいて様々なデータベースディザスタリカバリの問題が迅速に解決され、マスター・スレーブの切替えによってネットワークまたは機械の故障問題が解決され、遅延サーバの切替えによってデータベース誤動作の問題が迅速に解決される。
【0048】
本発明の実施例のホットバックアップ方法によれば、マスターサーバが業務サーバとのデータ伝送が行い、マスターサーバが、業務サーバによって送信されたデータを格納し、スレーブサーバがマスターサーバとのデータ同期をリアルタイムで行い、集中管理モジュールによって送信された読み出し命令を受信し、当該読み出し命令に基づいて、読み出した第2のデータを集中管理モジュールに送信し、集中管理モジュールが前記第2のデータを業務サーバに送信して、業務サーバとのデータ伝送を実現し、集中管理モジュールが、システムの稼働状態の異常が監視された場合に、当該稼働状態の異常に基づいて、マスターサーバ、スレーブサーバおよび遅延サーバのアイデンティティロールの切替え管理をそれぞれ行うことができる。すなわち、集中管理モジュールが、データ障害レベルに基づいて様々なデータベースディザスタリカバリの問題を迅速に解決し、マスター/スレーブの切替えによってネットワークまたは機械の故障問題を解決し、遅延サーバの切替えによってデータベース誤動作の問題を迅速に解決する。これにより、ディザスタリカバリ、誤動作、および過負荷などの問題を解決するうえで得られる効果がより良くなり、システムの高い信頼性と保守性が大幅に向上する。
【0049】
本発明は、上記の実施例を実現するために、コンピュータ機器をさらに提供する。
図4は、本発明の一実施例に係るコンピュータ機器の概略構成図である。
図4に示すように、当該コンピュータ機器400は、メモリ410と、プロセッサ420と、メモリ410に格納されプロセッサ420で実行可能なコンピュータプログラム430と、を含むことができる。プロセッサ420が前記プログラム430を実行すると、本発明の上記のいずれか1つの実施例に記載のホットバックアップ方法が実現される。
【0050】
本発明の説明において、「第1」、「第2」の用語は、単に目的を説明するためのものであり、比較可能な重要性を指示又は暗示するか、或いは示された技術的特徴の数を黙示的に指示すると理解してはならない。よって、「第1」、「第2」が限定する特徴は、少なくとも1つの前記特徴を含むことを明示又は暗示するものである。本発明の説明において、明確且つ具体的な限定がない限り、「複数」とは、少なくとも2つ、例えば、2つ、3つなどを意味する。
【0051】
本明細書の説明において、「一実施例」、「一部の実施例」、「例」、「具体的な例」、或いは「一部の例」などの用語を参照した説明とは、当該実施例、或いは例に合わせて説明された具体的な特徴、構成、材料或いは特性が、本開示の少なくとも1つの実施例或いは例に含まれる。本明細書において、上記用語に対する例示的な説明は、必ずしも同じ実施例或いは例を示すものではない。また、説明された具体的な特徴、構成、材料或いは特性は、いずれか1つ或いは複数の実施例又は例において適切に結合することができる。なお、相互に矛盾しない限り、当業者は、本明細書において説明された異なる実施例又は例、及び異なる実施例又は例の特徴を結合し、組み合わせることができる。
【0052】
フローチャートにおける、又はここで他の形態で記載された任意のプロセス又は方法は、特定ロジック機能又はプロセスのステップを実現するための1つ又は複数の実行可能な命令コードを含むモジュール、セグメント又は一部を表すと理解されてもよい。また、本発明の好ましい実施形態の範囲は、ここで示され又は論議された順番ではなく、係る機能に応じてほぼ同時の形態又は逆の順番で機能を実行することができる他の実現を含むことができる。これは、当業者であれば理解すべきものである。
【0053】
フローチャートで示され又はここで他の形態で説明されたロジック及び/又はステップは、例えば、ロジック機能を実現するための実行可能な命令の順番付けられたリストと見なすことができ、任意のコンピュータ読み取り可能な記憶媒体に具体的に実装されている。命令実行システム、装置、又はデバイス(例えばコンピュータに基づいたシステム、プロセッサを含むシステム、又は他の命令実行システム、装置又はデバイスから命令を獲得して命令を実行するシステム)に利用されるか、又はこれらの命令実行システム、装置又はデバイスと組み合わせて利用される。本願明細書において、「コンピュータ読み取り可能な記憶媒体」は、命令実行システム、装置又はデバイスによって、又は、命令実行システム、装置又はデバイスと組み合わせて使用するためのプログラムを含む、格納、通信、伝播、又は伝送することができる任意の装置であってもよい。コンピュータ読み取り可能な記憶媒体のより具体的な例(非限定的なリスト)として、1つ又は複数の配線を備える電気接続部(電子デバイス)、ポータブルコンピュータディスクカートリッジ(磁気デバイス)、ランダムアクセスメモリ(RAM)読み出し専用メモリ(ROM)、消去可能なプログラマブル読み出し専用メモリ(EPROM又はフラッシュメモリ)、光ファイバデバイス、及びポータブルコンパクトディスク読み出し専用リメモリ(CDROM)を含む。また、コンピュータ読み取り可能な記憶媒体は、前記プログラムが印刷され得る紙又は他の適切な媒体であってもよい。これは、例えば、紙や他の媒体を光学的スキャンし、次に編集し、解釈し、又は必要な場合に他の適切な形態で処理して前記プログラムを電子的に取得して、そしてコンピュータメモリに格納するからである。
【0054】
なお、本発明の各部分は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組み合わせによって実現することができる。上記実施形態において、複数のステップ又は方法は、メモリに記憶された且つ適切な命令実行システムによって実行されるソフトウェア又はファームウェアによって実現することができる。例えば、ハードウェアで実現される場合に、もう1つの実施形態と同様に、本分野において周知である、データ信号に対してロジック機能を実現するためのロジックゲート回路を備える離散ロジック回路、適切な組み合わせロジックゲート回路を備える特定用途向け集積回路、プログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)などの当分野の周知技術のうちいずれか1つ又はこれらの組み合わせによって実現することができる。
【0055】
普通の当業者であれば、上記の実施例に係る方法に含まれる全部又は一部のステップは、プログラムによってハードウェアを命令することで実行することができると理解される。前記プログラムは、コンピュータ読み取り可能な記憶媒体に格納することができ、当該プログラムが実行される場合に、方法の実施例におけるステップの1つ又はそれらの組み合わせが実行される。
【0056】
また、本発明の各実施例における各機能ユニットは、1つの処理モジュールに集積されてもよいし、それぞれが個別の物理的存在であってもよいし、2つ以上のユニットが1つのモジュールに集積されてもよい。前記集積モジュールは、ハードウェアの形態で実現されてもよいし、ソフトウェア機能モジュールの形態で実現されてもよい。前記集積モジュールがソフト機能モジュールの形態で実現されるとともに、独立した製品として販売又は使用される場合に、1つのコンピュータ読み取り可能な記憶媒体に記憶されてもよい。
【0057】
上記の記憶媒体は、読み出し専用メモリ、磁気ディスク、又はCDなどであってもよい。なお、以上、本発明の実施例を示して説明したが、上記実施例は例示するものであって、本発明を制限するためのものであると理解してはならない。通常の当業者であれば、本発明の範囲内で上記実施例に対して変更、修正、取り替え、変形を行うことができる。