(57)【要約】  本出願はデータバックアップ方法、装置、サーバ及びコンピュータ可読記憶媒体を開示し、データベースという技術分野に関する。前記方法は、ターゲットデータテーブルのデータ項目をバックアップするためのバックアップタスクを受信するステップと、前記バックアップタスクのバックアップタイミングが履歴時間帯にある場合、第１履歴トランザクションスナップショットと第２履歴トランザクションスナップショットとの間の第１スナップショット差分を取得するステップと、前記第１スナップショット差分に基づいて前記バックアップタスクを実行し、少なくとも前記ターゲットデータテーブルにおけるデータ項目の可視バージョンが含まれるバックアップデータを取得するステップとを含み、前記第１履歴トランザクションスナップショット及び前記第２履歴トランザクションスナップショットは、それぞれ前記履歴時間帯の開始時点と終了時点におけるトランザクションスナップショットである。
2022501747.tif 000002
【特許請求の範囲】
【請求項１】
サーバが実行するデータバックアップ方法であって、
ターゲットデータテーブルのデータ項目をバックアップするためのバックアップタスクを受信するステップと、 
前記バックアップタスクのバックアップタイミングが履歴時間帯である場合、第１履歴トランザクションスナップショットと第２履歴トランザクションスナップショットとの間の第１スナップショット差分を取得するステップと、
前記第１スナップショット差分に基づいて、前記バックアップタスクを実行し、少なくとも前記ターゲットデータテーブルにおけるデータ項目の可視バージョンが含まれるバックアップデータを取得するステップとを含み、
前記第１履歴トランザクションスナップショット及び前記第２履歴トランザクションスナップショットは、それぞれ前記履歴時間帯の開始時点及び終了時点におけるトランザクションスナップショットであることを特徴とする方法。
【請求項２】
前記第１スナップショット差分に基づいて、前記バックアップタスクを実行し、少なくとも前記ターゲットデータテーブルにおけるデータ項目の可視バージョンが含まれるバックアップデータを取得するステップは、
前記ターゲットデータテーブルの履歴状態データが記憶されている第１データブロックを特定するサブステップと、
前記第１スナップショット差分に基づいて、前記第１データブロックに記憶されている履歴状態データのすべてが可視バージョンであると特定した場合、ブロックコピーの形式で前記第１データブロックをバックアップし、前記バックアップデータを取得するサブステップとを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１スナップショット差分に基づいて、前記第１データブロックにおける可視バージョンの割合が第１所定割合以上であると特定した場合、ブロックコピーの形式で前記第１データブロックをバックアップし、前記第１データブロックにおける不可視の履歴状態データをマークし、前記バックアップデータを取得するサブステップをさらに含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記第１スナップショット差分に基づいて、前記第１データブロックに記憶されている履歴状態データのうちの可視バージョンの割合が前記第１所定割合よりも小さいと特定した場合、論理読み取りの形式で前記第１データブロックにおける可視バージョンを読み取り、前記バックアップデータを取得するサブステップをさらに含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記バックアップタスクのバックアップタイミングが現時点である場合、前記現時点における通常トランザクションスナップショットを取得するステップと、
前記通常トランザクションスナップショットに基づいて、現在状態データの所在しているデータブロックをブロックコピーの形式でバックアップし、前記バックアップデータを取得するステップとをさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記バックアップタスクのバックアップターゲットが現在状態データを含む場合、バックアッププロセスの開始時点から前記バックアッププロセスの終了時点まで、前記現在状態データのログファイルをセグメント化してバックアップするステップをさらに含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記バックアップタスクのバックアップタイミングが１つの履歴時点である場合、前記履歴時点のトランザクションスナップショットである第３履歴トランザクションスナップショットを取得するステップと、
前記第３履歴トランザクションスナップショットに基づいて、前記バックアップタスクを実行し、少なくとも前記ターゲットデータテーブルにおけるデータ項目の可視バージョンが含まれるバックアップデータを取得するステップとをさらに含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記バックアップタスクのバックアップタイミングが、現時点を終了点とする時間帯を含む場合、第４履歴トランザクションスナップショットと第５履歴トランザクションスナップショットとの間の第２スナップショット差分を取得するステップと、
前記第２スナップショット差分に基づいて、現在状態データ及び前記ターゲットデータテーブルにおける可視バージョンをバックアップするステップとをさらに含み、
前記第４履歴トランザクションスナップショット及び前記第５履歴トランザクションスナップショットは、それぞれ前記時間帯の開始時点におけるトランザクションスナップショット及び前記現時点における通常トランザクションスナップショットであり、
前記バックアップデータには少なくとも前記ターゲットデータテーブルにおけるデータ項目の可視バージョンが含まれることを含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記バックアップタスクのバックアップターゲットに履歴状態データ及び遷移状態データを含む場合、前記バックアップデータに、前記履歴状態データ及び遷移状態データのメタ情報ファイル及びデータファイルを含み、
前記バックアップタスクのバックアップターゲットが現在状態データを含む場合、前記バックアップデータに、さらに、前記現在状態データのメタ情報ファイル、データファイル及びログファイルを含むことを特徴とする請求項１〜８の何れか１項に記載の方法。
【請求項１０】
前記バックアップデータのうちの履歴状態データと遷移状態データとのメタ情報ファイルのファイル命名に関連付けられることを特徴とする請求項１〜９の何れか1項に記載の方法。
【請求項１１】
前記第１スナップショット差分に基づいて、前記バックアップタスクを実行し、バックアップデータを取得するステップは、
メタ情報をバックアップする場合、バックアップターゲットのメタ情報及び前記バックアップターゲットの関連付けられたメタ情報に基づいてメタ情報リストを作成し、前記メタ情報リストに基づいてバックアップし、メタ情報ファイルを取得するサブステップを含むことを特徴とする請求項１〜１０の何れか１項に記載の方法。
【請求項１２】
バックアッププロセスにおいて、前記ターゲットデータテーブルにおける第１データファイルのデータ項目の全てが前記バックアップタスクのバックアップ条件を満たしている場合、前記第１データファイルをバックアップするステップと、
前記ターゲットデータテーブルにおける第１データファイルの一部のデータ項目が前記バックアップタスクのバックアップ条件を満たしており、且つ前記一部のデータ項目の割合が第２所定割合の以上である場合、前記第１データファイルをバックアップし、前記第１データファイルにおける無効データをマークするステップとをさらに含むことを特徴とする請求項１〜１１の何れか１項に記載の方法。
【請求項１３】
前記ターゲットデータテーブルにおける第１データファイルの一部のデータ項目が前記バックアップタスクのバックアップ条件を満たしており、且つ前記一部のデータ項目の割合が前記第２所定割合よりも小さい場合、論理読み取りの形式で前記第１データファイルにおけるデータ項目を読み取るステップをさらに含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記バックアップタスクを実行する際に、
前記バックアップタスクのバックアップターゲットが複数のデータテーブルを含む場合、前記複数のデータテーブルを並行にバックアップすることをサポートする方式と
前記バックアップタスクのバックアップターゲットが複数のデータファイルを含む場合、前記複数のデータファイルを並行にバックアップすることをサポートする方式と
前記バックアップタスクのバックアップターゲットが複数のデータブロックを含む場合、前記複数のデータブロックを並行にバックアップすることをサポートする方式のうちの少なくとも１つの方式で実現することを特徴とする請求項１〜１３の何れか１項に記載の方法。
【請求項１５】
データバックアップ装置であって、
ターゲットデータテーブルのデータ項目をバックアップするためのバックアップタスクを受信するための受信モジュールと、
前記バックアップタスクのバックアップタイミングは履歴時間帯である場合、第１履歴トランザクションスナップショットと第２履歴トランザクションスナップショットとの間の第１スナップショット差分を取得するための取得モジュールと、
前記第１スナップショット差分に基づいて、前記バックアップタスクを実行し、少なくとも前記ターゲットデータテーブルにおけるデータ項目の可視バージョンが含まれるバックアップデータを取得するためのバックアップモジュールとを含み、
前記第１履歴トランザクションスナップショット及び前記第２履歴トランザクションスナップショットはそれぞれ前記履歴時間帯の開始時点及び終了時点におけるトランザクションスナップショットであることを特徴とする装置。
【請求項１６】
プロセッサーとメモリとを有するサーバであって、
前記メモリには少なくとも１つのコマンドが記憶され、前記少なくとも１つのコマンドは当該プロセッサーによってロードされて実行されると、
ターゲットデータテーブルのデータ項目をバックアップするためのバックアップタスクを受信するステップと、
前記バックアップタスクのバックアップタイミングは履歴時間帯である場合、第１履歴トランザクションスナップショットと第２履歴トランザクションスナップショットとの間の第１スナップショット差分を取得するステップと、
前記第１スナップショット差分に基づいて、前記バックアップタスクを実行し、少なくとも前記ターゲットデータテーブルにおけるデータ項目の可視バージョンが含まれるバックアップデータを取得するステップとを、前記サーバに実行させ、
前記第１履歴トランザクションスナップショット及び前記第２履歴トランザクションスナップショットはそれぞれ前記履歴時間帯の開始時点及び終了時点のトランザクションスナップショットであることを特徴とするサーバ。
【請求項１７】
前記少なくとも１つのコマンドは当該プロセッサーによってロードされて実行されると、 前記サーバにさらに以下のステップを実行させ、即ち、
前記ターゲットデータテーブルの履歴状態データが記憶されている第１データブロックを特定するステップと、
前記第１スナップショット差分に基づいて、前記第１データブロックに記憶されている履歴状態データの全ては可視バージョンであると特定した場合、前記第１データブロックをブロックコピーの形式でバックアップし、前記バックアップデータを取得するステップとを含むことを特徴とする請求項１６に前記のサーバ。
【請求項１８】
前記少なくとも１つのコマンドは当該プロセッサーによってロードされて実行されると、前記サーバにさらに以下のステップを実行させ、即ち、
前記第１スナップショット差分に基づいて、前記第１データブロックにおける可視バージョンの割合が第１所定割合以上であると特定した場合、ブロックコピーの形式で前記第１データブロックをバックアップし、前記第１データブロックにおける不可視の履歴状態データをマークし、前記バックアップデータを取得するステップを含むことを特徴とする請求項１７に前記のサーバ。
【請求項１９】
少なくとも１つのコマンドが含まれ、前記少なくとも１つのコマンドは当該プロセッサーによってロードされて実行されると、前記サーバに以下のステップを実行させ、即ち、
ターゲットデータテーブルのデータ項目をバックアップするためのバックアップタスクを受信するステップと、
前記バックアップタスクのバックアップタイミングは履歴時間帯である場合、第１履歴トランザクションスナップショットと第２履歴トランザクションスナップショットとの間の第１スナップショット差分を取得するステップと、
前記第１スナップショット差分に基づいて、前記バックアップタスクを実行し、少なくとも前記ターゲットデータテーブルにおけるデータ項目の可視バージョンが含まれるバックアップデータを取得するステップとを含み、
前記第１履歴トランザクションスナップショット及び前記第２履歴トランザクションスナップショットはそれぞれ前記履歴時間帯の開始時点及び終了時点のトランザクションスナップショットであることを特徴とする。
【請求項２０】
前記少なくとも１つのコマンドは当該プロセッサーによってロードされて実行されると、前記サーバに以下のステップを実行させ、即ち、
前記ターゲットデータテーブルの履歴状態データが記憶されている第１データブロックを特定するステップと、
前記第１スナップショット差分に基づいて、前記第１データブロックに記憶されている履歴状態データの全ては、可視バージョンであると特定した場合、ブロックコピーの形式で前記第１データブロックをバックアップし、前記バックアップデータを取得するステップとを含むことを特徴とする請求項１９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は２０１８年１１月３０日にて中国特許庁に提出した、出願番号が２０１８１１４５９５８０５であり、発明名称が「データバックアップ方法、装置、サーバ及び記憶媒体」である中国特許出願に基づく優先権を主張して、その全ての内容は援用により本出願に結合される。
【０００２】
本出願はデータベースという技術分野に関し、特に、データバックアップ方法、装置、サーバ及びコンピュータ可読記憶媒体に関する。
【背景技術】
【０００３】
データ処理システムにおいて、特にＯＬＡＰ（Ｏｎｌｉｎｅ Ａｎａｌｙｔｉｃａｌ Ｐｒｏｃｅｓｓｉｎｇ、オンライン分析）処理システム、データベース、ビッグデータ分析などのシナリオにおいて、データベースに大量のデータを保存することに係る。サービスは常に更新される可能性があるため、１つのデータ項目には、複数の状態に対応するバージョンのデータを論理的に含む。このように、一つのデータ項目の全状態（現在状態、遷移状態及び履歴状態）データが保存されたことで、システムが履歴状態データを便利に追跡し、データの価値（いずれのデータも価値があるため、履歴状態のデータが紛失不可） を十分に発掘することに寄与する。前記複数の状態データのセキュリティを保証するために、前記全状態データをバックアップする必要がある。ただし、データ量が急増することにより、必ずバックアップの効率に影響を与える。従って、データ量が急増する場合に全状態データのバックアップの効率を向上することは、当面大きな挑戦である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本出願の各実施例によれば、データバックアップ方法、装置、サーバ及びコンピュータ可読記憶媒体を提供する。
【課題を解決するための手段】
【０００５】
サーバにより実行されるデータバックアップ方法であって、当該方法は、
ターゲットデータテーブルのデータ項目をバックアップするための、バックアップタスクを受信するステップと、
当該バックアップタスクのバックアップタイミングは履歴時間帯である場合、第１履歴トランザクションスナップショットと第２履歴トランザクションスナップショットとの間の第１スナップショット差分を取得するステップであって、当該第１履歴トランザクションスナップショットと当該第２履歴トランザクションスナップショットとはそれぞれ、当該履歴時間帯の開始時点と終了時点とのトランザクションスナップショットであるステップと、
当該第１スナップショット差分に応じて、当該バックアップタスクを実行することで、少なくとも当該ターゲットデータテーブルのうちのデータ項目の可視バージョンが含まれたバックアップデータを取得するステップと、を有する。
【０００６】
データバックアップ装置であって、当該装置は、
ターゲットデータテーブルのデータ項目をバックアップするための、バックアップタスクを受信する受信ためのモジュールステップと、
当該バックアップタスクのバックアップタイミングは履歴時間帯である場合、第１履歴トランザクションスナップショットと第２履歴トランザクションスナップショットとの間の第１スナップショット差分を取得するための取得モジュールであって、当該第１履歴トランザクションスナップショットと当該第２履歴トランザクションスナップショットとはそれぞれ、当該履歴時間帯の開始時点と終了時点とのトランザクションスナップショットである取得モジュールと、
当該第１スナップショット差分に応じて、当該バックアップタスクを実行することで、少なくとも当該ターゲットデータテーブルのうちのデータ項目の可視バージョンが含まれたバックアップデータを取得するためのバックアップモジュールと、を備える。
【０００７】
前記バックアップデータのデータ形式は、ディレクトリで各類のファイルが記憶され、または複数のｔａｒパッケージとして記憶される。
【０００８】
当該プロセッサーとメモリとを有するサーバであって、当該メモリには少なくとも１つのコマンドが記憶され、当該少なくとも１つのコマンドは当該プロセッサーによりロードされるとともに、実行されることで、前記データバックアップ方法により実行される操作を実現する。
【０００９】
コンピュータ可読記憶媒体であって、当該記憶媒体には少なくとも１つのコマンドが記憶され、当該少なくとも１つのコマンドはプロセッサーによりロードされるとともに、実行されることで、前記データバックアップ方法により実行される操作を実現する。
【００１０】
本出願の１つまたは複数の実施例の細部は以下の図面及び記載から提出される。本出願の他の特徴及び利点は、明細書、図面及び請求項により明らかになる。
【図面の簡単な説明】
【００１１】
【図１】本出願の実施例に係るデータバックアップ方法の実施環境の模式図である。
【図２】本出願の実施例に係るデータバックアップ方法のフロチャートである。
【図３】本出願の実施例に係るデータバックアップ方法のフロチャートである。
【図４】本出願の実施例に係るデータバックアップ方法のフロチャートである。
【図５】本出願の実施例に係るデータバックアップ方法のフロチャートである。
【図６】本出願の実施例に係るページ比較図である。
【図７】本出願の実施例に係るデータバックアップ装置の構成模式図である。
【図８】本出願の実施例に係るサーバの構成模式図である。
【発明を実施するための形態】
【００１２】
本出願のターゲット、技術案及び利点をより明確にするために、以下は図面を結合して本出願の実施形態をより詳細に説明する。
【００１３】
本出願の実施例に係るデータベースには、データ項目を記憶するための複数のデータテーブルが記憶され、データ項目は１つまたは複数のバージョンを有してもよい。当該データベースはＭＶＣＣ（Ｍｕｌｔｉ−Ｖｅｒｓｉｏｎ Ｃｏｎｃｕｒｒｅｎｃｙ Ｃｏｎｔｒｏｌ、マルチバージョン同時並行性制御）に基づく任意のタイプのデータベースであってもよい。本出願の実施例において、当該データベースのタイプを具体的に限定していない。なお、前記データベースにおけるデータは、状態属性に応じて、現在状態、遷移状態及び履歴状態の３つの状態を含み、当該３つの状態をまとめて「データの全状態」と称し、全状態データと略称し、全状態データにおける異なる状態属性のそれぞれはデータのライフサイクルの軌跡における状態を表記することに利用できる。
【００１４】
現在状態（Ｃｕｒｒｅｎｔ Ｓｔａｔｅ）は、データ項目の最新バージョンのデータであって、現段階にあるデータである。現段階にあるデータの状態は、現在状態と呼ばれる。
【００１５】
遷移状態（Ｔｒａｎｓｉｔｉｏｎａｌ Ｓｔａｔｅ）は、データ項目の最新のバージョンでもなければ、履歴状態のバージョンでもなく、現在状態から履歴状態への遷移過程にあり、遷移状態にあるデータは、半減データと呼ばれる。
【００１６】
履歴状態（Ｈｉｓｔｏｒｉｃａｌ ｓｔａｔｅ）は、履歴におけるデータ項目の１つの状態であり、その値が現在値ではなく、旧い値である。履歴段階にあるデータの状態は、履歴状態と呼ばれる。１つのデータ項目の履歴状態は複数を有してもよく、データの状態変遷の過程が反映される。履歴状態にあるデータは、読み取りのみが可能であり、変更又は削除は許容されない。
【００１７】
なお、データは、ＭＶＣＣメカニズムにおいては、前記３つの状態が存在し、非ＭＶＣＣメカニズムにおいては、履歴状態及び現在状態のみ存在してもよい。ＭＶＣＣまたはロック同時アクセス制御メカニズムにおいては、トランザクションが提出されたデータの新値は、現在状態にある。ＭＶＣＣメカニズムを例として、現在アクティブなトランザクションリストにおける最小のトランザクションの前のトランザクションによって生成されたデータは、その状態が履歴状態にある。ロック同時アクセス制御メカニズムにおいては、トランザクションが提出されると、その提出前のデータの値が履歴状態の値になり、即ち、データ項目の旧い値が履歴状態にある。読み取られたバージョンにおいてまだアクティブなトランザクション（最新の関連トランザクションではない）が使用されるが、最新の関連トランザクションは、データ項目の値が変更され、その最新の値が既に現在状態にあり、読み取られた値は、現在状態に対して既に履歴状態にある。よって、そのデータ状態は現在状態と履歴状態との間にあるため、遷移状態と称される。
【００１８】
例えば、ＭＶＣＣメカニズムにおいて、ＵｓｅｒテーブルのＡアカウントの残高は、１０元から２０元にチャージされ、そして、１５元が消費されて５元になる。この場合、金融機関Ｂは、データを読み取ってトランザクションをチェックすることは常に行っている。その後、Ａはさらに２０元をチャージして２５元になる。この２５元は、現在状態データであり、Ｂにより読み取られた５元は、遷移状態にあり、残りの２つの値である２０、１０のそれぞれは、過去に存在していた状態であり、履歴状態データである。
【００１９】
いずれかの状態属性を記憶するデータベースにとって、データベースのうちのデータをバックアップする場合、１つのデータ項目に対して、当該データベースには少なくとも１つのバージョンが記憶されるため、バックアッププロセスにおいて、関わるデータ量が巨大であり、例えば、１つのタプルは、一定の期間において、平均１０回更新されるとして、更新されたデータ量が１１個のタプル、即ち、初始データ量の１１倍になる。これによって、バックアップすべき履歴状態が携帯されているデータ量が膨大になり、バックアップの効率が問題になる。そのため、本出願の実施例は、バックアップのデータ量を低減させ、バックアップの効率を向上させるために、全状態データのバックアップを行うように物理バックアップが混合されたバックアップ方法を提供する。
【００２０】
データベースは、そのバックアップタスクはバックアップコマンドによりトリガされることができ、以下の例示は、バックアップコマンドの具体的な形式であり、
ＢＥＧＩＮ；
Ｓｅｔ ＢＡＣＫＵＰＮＡＭＥ＝‘／ｕｓｒ／ｂａｋ／ｍｙ_ｆｉｒｓｔ_ｂａｃｋｕｐ_０１’ＲＥＡＤＶＩＥＷ'２０１８０１０９００００００'；／／履歴トランザクションスナップショットのバックアップに基づき、論理バックアップを行う
ＢＡＣＫＵＰ ＴＹＰＥ ＬＯ ＦＲＯＭ ｍｙ_ｔａｂｌｅ；
Ｓｅｔ ＢＡＣＫＵＰＮＡＭＥ＝‘／ｕｓｒ／ｂａｋ／ｍｙ_ｆｉｒｓｔ_ｂａｃｋｕｐ_０２’ＲＥＡＤＶＩＥＷ ＦＲＯＭ'２０１８０１０９００００００'ＴＯ'２０１８０１１９００００００'；／／スナップショット差分の方式で論理バックアップを行う
ＢＡＣＫＵＰ ＴＹＰＥ  ＬＯ ＦＲＯＭ ｍｙ_ｔａｂｌｅ；
Ｓｅｔ ＢＡＣＫＵＰＮＡＭＥ＝‘／ｕｓｒ／ｂａｋ／ｍｙ_ｆｉｒｓｔ_ｂａｃｋｕｐ_０３’ＲＥＡＤＶＩＥＷ ｄｅｆａｕｌｔ；／／通常トランザクションスナップショットに基づき、論理バックアップを行う
ＢＡＣＫＵＰ ＴＹＰＥ ＬＯ ＦＲＯＭ ｍｙ_ｔａｂｌｅ ＷＨＥＲＥ ｐｋ>１０；
ＥＮＤ；
ただし、ＢＡＣＫＵＰＮＡＭＥは、バックアップデータパケットの名称を指定し、ｍｙ_ｔａｂｌｅは、今回のバックアップタスクのバックアップターゲットデータテーブルを指定し、ＢＡＣＫＵＰフィールド後のＴＹＰＥ  ＬＯは、バックアップのタイプが論理バックアップであることを示し、ＴＹＰＥ ＰＨは、バックアップのタイプが物理バックアップであることを示し、デフォルトは、バックアップのタイプが物理バックアップであることを示し、ＷＨＥＲＥステートメントは、バックアップタスクのバックアップ条件を指定するために用いる。
【００２１】
好ましくは、本実施例において、前記データバックアップ方法は、図１に示される複数のサーバ１０１を有するハードウェア環境に適用され得る。図１に示すように、複数のサーバ１０１はネットワークを介して接続したり、データが分離されたりすることができる、前記ネットワークは、広域エリアネットワーク、メトロポリタンエリアネットワークまたはローカルエリアネットワークを含むが、これらに限定されない。本出願の実施例にかかるデータバックアップ方法は、いずれかのサーバ１０１または複数のサーバ１０１に実行されて得る。サーバ１０１において、データベースシステムが運転することができる。これにより、例えば、データ格納、データ照合などのデータサービスを提供することができる。当該データベースシステムは、サーバにおいて運転されているデータベースエンジンにより作動することができる。
【００２２】
本出願の実施例に係るデータバックアップ方法によれば、全状態データのバックアップが実現される。理解され易くように、以下に、まず論理的バックアップ及び物理的バックアップをそれぞれ説明する。
一、論理バックアップ
論理バックアップは、履歴トランザクションスナップショットまたは／及び通常トランザクションスナップショットに基づき、全状態データのうちのある時点におけるデータ値を便利に読み取ることができ、その具体的な実現ポリシーは、以下の３種のポリシー、即ち、（１）通常トランザクションスナップショットに基づき、現在状態データをバックアップする策、（２）履歴トランザクションスナップショットに基づき、履歴状態データと遷移状態データをバックアップする策、及び、（３）履歴トランザクションスナップショットと通常トランザクションスナップショットに基づき、同一のデータ項目の複数のバージョンに対する同時バックアップを実現する策である。
【００２３】
論理バックアップの３種のポリシーに基づいて取得されたデータ形式は、バックアップコマンドのフォーマットに基づいて構成されたデータである。そのため、このようなバックアップを論理バックアップと称す。例えば、当該バックアップコマンドはＳＱＬステートメントであってもよく、その具体的なデータ構成フォーマットは、ＩＮＳＥＲＴフォーマットに従って構成してもよい。なお、バックアップデータパケットにおける各ファイルの命名は、バックアップのタイプによって異なってもよく、例えば、論理バックアップのファイル名は、ＬｏＤａｔａ_０００００００１などの方式で命名されてもよく、その対応するメタ情報ファイルは、ＬｏＭｅｔａ_０００００００１などの方式で命名されてもよい。
【００２４】
前記論理バックアップのデータバックアップ方法は、システム全体をバックアップすることができない。即ち、前記データバックアップ方法により、１つのバックアップパッケージを取得することができるが、制御ファイルなどの情報は、メタ情報ファイルに記録されていなくてもよい。
【００２５】
本出願の実施例に係る論理バックアップは、伝統的なバックアップ方式との差異が以下の三点にある。即ち、第一に、全状態データのバックアップをサポートすること、第二に、バックアップの方式はＣＬＩ（コマンドライン）の方式ではなく、ＳＱＬステートメントの方式で原子的にバックアップをサポートすること、物理バックアップの方式に類似するように、物理バックアップパッケージを生成することを含む。
【００２６】
二、物理バックアップ
当該物理バックアップは、伝統的なデータベースシステムにおける物理バックアップを指し、バックアップタスクのために、履歴時間帯におけるトランザクションスナップショットを指定することができない。そのため、現在状態データしかバックアップすることできない。つまり、そのバックアップにより取得されたデータは、履歴状態データを含まず、現在状態データのみを含む。物理バックアップにより取得されたバックアップデータパケットにおいて、データファイル名はＰｈＤａｔａ_０００００００１などの方式で命名してもよく、その対応しているメタ情報ファイルはＰｈＭｅｔａ_０００００００１などの方式で命名してもよい。
【００２７】
三、混合バックアップ
前述した第１の部分及び第２の部分での説明を踏まえて、以下に、本出願の実施例にかかる混合バックアップ方法を説明する。なお、バックアップタスクによっては、バックアップターゲットデータが異なってもよく、バックアップターゲットデータに応じて、以下の４タイプに分けることができる。
第１のタイプは、現在状態データ点値のバックアップであって、即ち、通常トランザクションスナップショットに基づいて、現在状態データをバックアップすることができ、そのバックアップデータパケットにメタ情報ファイル、現在状態のデータファイル、及びＲＥＤＯログファイルを含む。以下に、図２に示されたデータバックアップ方法のフロチャートを利用して、現在状態データ点値に対するバックアップを例として説明し、具体的に、当該データバックアップ方法は以下のプロセスを含む。即ち、
２０１において、サーバはターゲットデータテーブルにおけるデータ項目をバックアップするためのバックアップタスクを受信する。
前記バックアップタスクにより指示されたバックアップタイミングは、現時点である。
【００２８】
２０２において、当該バックアップタスクのバックアップタイミングは現時点である場合、当該現時点における通常トランザクションスナップショットを取得する。
【００２９】
前記ステップ２０１及び２０２において、サーバは、バックアップコマンドを受信することで、バックアップタスクを受信することができ、当該バックアップコマンドには、バックアップターゲットに関する情報が携帯されている。本出願の実施例は、バックアップタイミングが現時点であることのみを例として説明し、例えば、バックアップコマンドにおいて当該現時点を「ｄｅｆａｕｌｔ」として示してもよい。つまり、当該バックアップコマンドのターゲットデータは現時点における現在状態データである。
【００３０】
２０３において、当該通常トランザクションスナップショットに基づいて、当該バックアップタスクを実行して、少なくとも、当該ターゲットデータテーブルにおけるデータ項目の現在状態データが含まれるバックアップデータを取得する。
【００３１】
本出願の実施例において、トランザクションスナップショットは、当該トランザクションスナップショットの作成時点で、現在システムにおいてどれらのデータが読み取可能であるか、どれらがアクティブなトランザクション（そのデータはトランザクションにより読み取り不可）であるかことを示すことにより、現時点でどれらのタプルのどれらのバージョンが可視であることを取得する。従って、通常トランザクションスナップショットにより、ターゲットデータテーブルにおけるデータ項目の現在状態バージョンが可視であることを特定することができる。つまり、バックアップによって得られたバックアップデータは、当該ターゲットデータテーブルにおけるデータ項目の現在状態データを含む。
【００３２】
可能な実施形態において、前記現在状態データに対して、サーバはブロックバックアップの方式で行ってもよい。即ち、当該ターゲットデータテーブルに対応しているいずれかのデータブロックに対して、前記通常トランザクションスナップショットに基づき、現在状態データの所在しているデータブロックをブロックコピーの形式でバックアップして、バックアップデータを取得する。このような現在状態データをブロックコピーの形式でバックアップすることは、バックアップの速度を加速した。現在状態データ、遷移状態データ、履歴状態データとは物理的に分離しているため、このようなブロックコピーの形式が実現可能にされている。
【００３３】
なお、本出願の実施例に係るバックアップデータは、完全且つデータの一致性が保持されるバックアップデータパケットを含む。バックアップデータパケットごとに、１つのディレクトリに各種のファイルが保存される形式と、複数のｔａｒパッケージからなる１つのバックアップパッケージ形式との２つ選択可能な形式がある、
なお、ディレクトリに各種のファイルが保存されるバックアップデータパケット形式において、ファイルはタイプに応じて、それぞれ異なるファイル名に命名される。例えば、メタ情報ファイルはＭｅｔａ_０００００００１、Ｍｅｔａ_０００００００２などで命名され、データファイルはＤａｔａ_０００００００１、Ｄａｔａ_０００００００２などで命名され、ログファイルはＬｏｇ_０００００００１、Ｌｏｇ_０００００００２などで命名される。「０００００００２」などのフォーマットにおいて、文字毎に十六進法で示され、示されるファイルの数は最多、「１６^８＝４ ２９４ ９６７ ２９６」である。
【００３４】
なお、メタ情報は通常小さくて、１つのファイルで記憶さればよく、データファイルは、一定のサイズに定義されてもよく、例えば、データファイル毎のサイズは１Ｔに定義されば、４ＥＢのデータ量が記憶され得る。また、異なるオペレーティングシステムにおいて、データファイルの最大ファイルサイズが異なり、例えば、Ｅｘｔ２／Ｅｘｔ３（８ｋＢ ｂｌｏｃｋ ｓｉｚｅ）の単一のファイルの最大サイズは６４ＴＢであれば、より多いデータが記憶され得る。当該ログファイルの具体的なサイズなどの管理形式は、データファイルと同様であるため、ここで、重複な説明を省略する。本出願の実施例において、「０００００００２」フォーマットは、ビット数を拡張することで、より大きいデータ量がサポートされ得る。
【００３５】
複数のｔａｒパッケージからなる１つのバックアップデータパケットの形式において、ファイルの記憶は同上、統合に管理され易いように、ファイルサイズに応じてファイルをパケットするに過ぎない。さらに、記憶空間を節約するように、圧縮アルゴリズムの導入をサポートしてもよい。
【００３６】
前記バックアップタスクのバックアップターゲットが現在状態データを含む場合、前記バックアップデータに、さらに前記現在状態データのメタ情報ファイル、データファイル及びログファイルが含まれる。１つの好ましい実施形態において、バックアップに基づいてリカバリする際の一致性を保証するために、ログファイルをバックアップする場合、バックアップ過程の開始時点から前記バックアップ過程の終了時点まで、前記現在状態データのログファイルをセグメント化してバックアップすることができる。例えば、バックアップ過程の開始時点から取得されたＲＥＤＯログの位置をＬｏｃ１と仮定し、その同時、新たなトランザクションによる操作がサポートし、バックアップ過程の終了時点まで取得されたＲＥＤＯログの位置をＬｏｃ２と仮定し、そしてＬｏｃ１からＬｏｃ２までのＲＥＤＯログをファイリングしてバックアップデータパケットにバックアップする。前記ログファイルのバックアップは、即時バックアップポリシーが採択され、１つのログ情報が生成されるごとに、１つをバックアップしたり、１セグメントのログ情報を生成する毎に１セグメントをバックアップしたりしている。ログ管理は、セグメントファイルの方式で行われることができるため、ログファイルには複数のスモールセグメントのファイルがあり、例えば、ＰｏｓｔｇｒｅＳＱＬのログファイルは複数の１Ｇファイルからなるため、前記ログのバックアップ方式が実現される。
【００３７】
第２のタイプは、履歴状態データの点値のバックアップであり、つまり、履歴トランザクションスナップショットに基づき、履歴状態データ及び遷移状態データに対するバックアップであり、そのバックアップデータパケットには、メタ情報ファイル、履歴状態データ及び遷移状態データのデータファイルが含まれる。以下は、図３に示されるデータバックアップ方法のフロチャートを利用して、履歴状態データの点値に対するバックアップを例として説明し、具体的に当該データバックアップ方法は以下のプロセスを含む。即ち、
３０１において、サーバは、ターゲットデータテーブルのデータ項目をバックアップするためのバックアップタスクを受信する。
【００３８】
前記バックアップタスクに指示されたバックアップタイミングは、１つの履歴時点を含む。
【００３９】
３０２において、当該バックアップタスクのバックアップタイミングは１つの履歴時点である場合、当該履歴時点におけるトランザクションスナップショットである第３履歴トランザクションスナップショットを取得する。
【００４０】
３０３において、当該第３履歴トランザクションスナップショットに基づいて当該バックアップタスクを実行して、少なくとも当該ターゲットデータテーブルにおけるデータ項目の可視バージョンが含まれるバックアップデータを取得する。
【００４１】
本出願の実施例において、第３履歴トランザクションスナップショットにより、第３履歴トランザクションスナップショットに応じて、ターゲットデータテーブルにおけるデータ項目の各バージョンに対して可視性判定を行うことで、当該スナップショットの作成タイミングの可視バージョンを特定してからバックアップする。つまり、バックアップにより取得されたバックアップデータには、少なくとも当該ターゲットデータテーブルにおけるデータ項目の履歴状態データ及び遷移状態データが含まれる。前記バックアップにより、ログファイルのバックアップが必要なくなり、バックアップされたデータは、データ項目における１つの点値であり、論理的方式によりデータ項目を取得することで、データファイルなどのバックアップデータを生成する。
【００４２】
可視性判定のステップは以下の通りである。
（一）：当該バージョンは挿入操作による生成であり、当該作成タイミングと当該提出タイミングとも当該履歴時間帯にある場合、当該バージョンが可視であると特定する。
【００４３】
（二）：当該バージョンは削除操作による生成であり、当該削除タイミングと当該提出タイミングとも当該履歴時間帯にある場合、当該バージョンが可視であると特定する。
【００４４】
（三）：当該バージョンは更新操作による生成であり、当該作成タイミングが当該履歴時間帯における開始時点の後にあり、当該提出タイミングが当該履歴時間帯にある場合、当該バージョンは可視であると特定する。
【００４５】
前記図２及び図３は、データ項目の点値に対するバックアップを示し、本出願の実施例はさらに全状態データ帯値に対するバックアップ、及び履歴状態データ帯値に対するバックアップといった２つの帯値に対するバックアップに関し、この２つのバックアップは、いずれもスナップショット差分に基づき行われたものであり、それぞれ以下のように説明する。
第３つのタイプは、全状態データ帯値に対するバックアップであって、履歴トランザクションスナップショット及び通常トランザクションスナップショットに基づいて、同一のデータ項目の複数のバージョンの同時バックアップを実現し、そのバックアップデータパケットには、メタ情報ファイル、履歴状態データ、遷移状態データのデータファイル、現在状態データ及びログファイルが含まれる。以下に図４に示されるデータバックアップ方法のフロチャートにより、全状態データ帯値のバックアップに対するバックアップを例として説明し、具体的には、当該データバックアップ方法は以下のプロセスを含む。
４０１において、サーバはターゲットデータテーブルにおけるデータ項目をバックアップするためのバックアップタスクを受信する。
【００４６】
前記バックアップタスクにより指示されたバックアップタイミングは、現時点を終了点とする時間帯を含む。
【００４７】
４０２において、当該バックアップタスクのバックアップタイミングは、現時点を終了点とする時間帯を含む場合に、第４履歴トランザクションスナップショットと第５履歴トランザクションスナップショットとの間の第２スナップショット差分を取得し、当該第４履歴トランザクションスナップショット及び当該第５履歴トランザクションスナップショットはそれぞれ当該時間帯の開始時点のトランザクションスナップショットと、当該現時点の通常トランザクションスナップショットである。
【００４８】
４０３において、当該第２スナップショット差分に応じて、現在状態データと当該ターゲットデータテーブルにおける可視バージョンをバックアップし、当該バックアップデータには少なくとも当該ターゲットデータテーブルにおけるデータ項目の可視バージョンが含まれる。
【００４９】
現在状態データに対するバックアップは、図２に示される現在状態データのバックアップ方法と同様であるため、ここで重複な説明を省略する。第２スナップショット差分に基づいて、履歴状態データと遷移状態データに対するバックアップは、論理的読取方式で行われてもよい。つまり、当該第２スナップショット差分に基づいて、ターゲットデータテーブルにおけるデータ項目の各バージョンに対して可視性判定を行って、可視バージョンをバックアップする。
【００５０】
１つの実施形態においては、履歴状態データはブロックとして記憶されいるため、１つのブロックの全てのデータは「履歴トランザクションスナップショットセグメント」の範囲内にあれば、ブロックコピーが行われ、バックアップの速度が速い。１つのブロックの一部のデータは「履歴トランザクションスナップショットセグメント」の範囲内にあれば、一定の割合閾値、例えば、第１所定割合に基づいて、具体的なバックアップ方式を特定することができ、例えば、データブロックにおける大部分のデータは「履歴トランザクションスナップショットセグメント」の範囲内にあれば、ブロックコピーを行って、バックアップの速度が速いが、無効のデータはメタ情報ファイルにおいてマークされる必要があり、例えば、ＨＭｅｔａ_０００００００１系のファイルにおいてマークされる。これは、ブロックコピーの方式で実現されたものである。一方、小部分のデータは「履歴トランザクションスナップショットセグメント」の範囲にあれば、論理的読取方式でデータ項目の可視バージョンを読み出して、ＨＤａｔａ_０００００００１シリーズファイルのようなデータファイルに書き込む。ただし、履歴状態が所在している範囲の関連状況は、ＨＭｅｔａ_０００００００１系のファイルに記録されてしまい、このようなバックアップ方式は本質的に論理バックアップの方式である。つまり、本出願の実施例において、バックアップの効率を向上させるために、さらに、ブロックバックアップによるバックアップ方式を採択してもよく、例えば、サーバはターゲットデータテーブルにおける第２データブロックを特定することができ、前記第２データブロックには前記ターゲットデータテーブルの履歴状態データが記憶される。前記第２スナップショット差分に基づいて、前記第２データブロックに記憶された履歴状態データの全ては可視バージョンであると特定すれば、ブロックコピーの形式で前記第２データブロックをバックアップし、バックアップデータを取得する。さらに、前記第２スナップショット差分に基づいて、前記第２データブロックにおける可視バージョンの割合は第１所定割合以上であると特定できれば、ブロックコピーの形式で前記第２データブロックをバックアップし、前記第２データブロックにおける不可視の履歴状態データをマークしてバックアップデータを取得する。前記第２スナップショット差分に基づいて前記第２データブロックに記憶される履歴状態データにおける可視バージョンの割合は前記第１所定割合より小さいと特定できれば、論理的読取形式で、前記第２データブロックにおける可視バージョンを読み取ってバックアップデータを取得する。
【００５１】
前記プロセスでは、第１所定割合は、百分率の形式、または［０，１］範囲における小数で示され、例えば、当該第１所定割合のデフォルト値は０.２であり、値の範囲は［０，１］である。
【００５２】
前記全状態データ帯値に対するバックアッププロセスとは、バックアップデータには現在状態、遷移状態、履歴状態のデータが存在し、且つ同一のデータ項目に対して、後ろの２つ状態は、１つの時間点における値だけではなく、１つの時間帯における複数の値であることを指す。バックアップされたデータは、指定されたスナップショットタイプ（本質的には時間点であるか、それとも時間帯であるか）に基づいて、以下の内容に分けられる。即ち、現在状態データのバックアップの場合、必ず点値のバックアップであり、その方式は第１バックアップ点と同様である。遷移状態データのバックアップ（点値、帯値）は、点値及び帯値の何れかのバックアップである。履歴状態データのバックアップ（点値、帯値）は、点値及び帯値の何れかのバックアップである。本出願の実施例は贅言していない。
【００５３】
第４のタイプは、履歴状態データ点値のバックアップであって、履歴トランザクションスナップショットに通常トランザクションスナップショットが含まれていないことに基づいて、同一のデータ項目の複数のバージョンの同時バックアップを実現し、そのバックアップデータパケットにはメタ情報ファイル、履歴状態データ及び遷移状態データのデータファイルが含まれる。以下に、図５に示されるデータバックアップ方法のフロチャートを利用して、履歴状態データ点値のバックアップに対するバックアップを例として説明し、具体的には、当該データバックアップ方法は以下のプロセスを含む。
５０１において、サーバはターゲットデータテーブルにおけるデータ項目をバックアップするためのバックアップタスクを受信する。
【００５４】
前記バックアップタスクは、ターゲットデータテーブルにおけるデータ項目をバックアップする。
【００５５】
本出願の実施例において、サーバは、バックアップコマンドを受信することで、バックアップタスクを受信し、当該バックアップコマンドには、バックアップターゲットに関する情報が携帯されている。当該バックアップタスクは、指示されたバックアップタイミングによって、それぞれの具体的なバックアッププロセスを有してもよい。本出願の実施例はバックアップタイミングが履歴時間帯であることのみを例として説明する。つまり、当該バックアップコマンドには当該履歴時間帯の開始時点及び終了時点が含まれ、バックアップのターゲットデータは、現時点以前１つの履歴時間帯における履歴状態データと遷移状態データである。
【００５６】
５０２において、当該バックアップタスクのバックアップタイミングは履歴時間帯である場合、第１履歴トランザクションスナップショットと第２履歴トランザクションスナップショットとの間の第１スナップショット差分を取得し、当該第１履歴トランザクションスナップショット及び当該第２履歴トランザクションスナップショットはそれぞれ当該履歴時間帯の開始時点及び終了時点におけるトランザクションスナップショットである。
【００５７】
５０３において、当該第１スナップショット差分に基づいて、当該バックアップタスクを実行することで、少なくとも当該ターゲットデータテーブルにおけるデータ項目の可視バージョンが含まれるバックアップデータを取得する。
【００５８】
本出願の実施例において、第１スナップショット差分に基づいてバックアップタスクを実行するプロセスは、前記ステップ３０３において第２スナップショット差分に基づいて履歴状態データ及び遷移状態データをバックアップするプロセスと同様であるため、ここで贅言していない。さらに、バックアッププロセスにおいて、データブロックに記憶された履歴状態データに基づいて、ブロックバックアップ、物理バックアップ及び論理バックアップのいずれかを採択するかを特定する。よって、バックアップの効率及びバックアップの柔軟性を向上させ、例えば、サーバはターゲットデータテーブルにおける第１データブロックを特定することができ、前記第１データブロックには、前記ターゲットデータテーブルの履歴状態データが記憶される。前記第１スナップショット差分に基づいて前記第１データブロックに記憶された履歴状態データの全ては可視バージョンであると特定した場合、ブロックコピーの形式で前記第１データブロックをバックアップして、バックアップデータを取得する。さらに、前記第１スナップショット差分に基づいて、前記第１データブロックにおける可視バージョンの割合が第１所定割合以上であると特定した場合、ブロックコピーの形式で前記第１データブロックをバックアップし、前記第１データブロックにおける不可視の履歴状態データをマークし、バックアップデータを取得し、前記第１スナップショット差分に基づいて、前記第１データブロックに記憶された履歴状態データにおける可視バージョンの割合が前記第１所定割合よりも小さいと特定した場合、論理的読取の形式で前記第２データブロックにおける可視バージョンを読み取って、バックアップデータを取得する。
【００５９】
なお、前記何れの実施形態においては、遷移状態データをバックアップする場合、同一のデータ項目の、バックアップ条件を満たしている複数のバージョンに対して、バックアッププロセスにおいては、独立されたファイルに個別に保存されてもよく、ファイルはＩＤａｔａ_０００００００１系で命名される。遷移状態データのバックアップ方式について、論理的読取の方式を採択することができる。
【００６０】
なお、さらに、前記何れの実施形態においては、前記バックアップデータのうちの履歴状態データは、遷移状態データのメタ情報に関連付けられ、その関連付けられたメタ情報のそれぞれは、ファイル名が関連付けられたメタ情報ファイルに記憶されてもよい。例えば、リカバリの際に同一のデータ項目の、同一の履歴トランザクションスナップショット範囲に属するデータを、リカバリ段階でマージすることが容易に行われることを目的として、ある履歴トランザクションスナップショットセグメントまたは履歴トランザクションスナップショットの遷移状態データはファイルＩＤａｔａに保存され、関連付けられた履歴状態データはＨＤａｔａファイルに存在しているようにしている。他の好ましい実施形態において、前記関連付けられたメタ情報は、同時にメタ情報ファイルにバックアップされてもよく、例えば、ＨＭｅｔａ_０００００００１系で命名されるファイルにバックアップされてもよい。データリカバリの際に遷移状態と履歴状態データとの関連が確認され、データの一致性が保証されるように、前記関連付けはファイル命名により関連付けられるようにしてもよい。
【００６１】
さらに、メタ情報をバックアップする場合、バックアップデータのメタ情報及び前記バックアップデータの関連メタ情報に基づいてメタ情報リストを構築し、前記メタ情報リストに基づいてバックアップして、メタ情報ファイルを取得する。データ量が小さいため、当該メタ情報のバックアップは、１つのスレッドでバックアップすればよい。
【００６２】
好ましい実施形態において、さらに、バックアップの異なる粒度に応じて、バックアップ効率をさらに向上させ、バックアップの粒度は、テーブル空間レベルのバックアップ、ファイルレベルのバックアップ、ファイルブロックレベルのバックアップ、データ項目レベルのバックアップ（例えば、前記論理バックアップ方式）を含む。データベースシステムにおいて、一般的に、テーブル空間の方式でデータを管理し、テーブル空間は論理概念であり、上層（アクチュエータとデータバッファゾーン）にとって、物理レベルの記憶詳細をシールドするための論理記憶層である。ただし、下層（オペレーティングシステム）にとって、複数の物理ファイル乃至ネットワークストレージを管理するための記憶管理器である。１つのテーブル空間には複数のデータファイルが存在可能であり、ファイルは動的に増加されたり、削除されたりすることができる。
【００６３】
このように、テーブルの空間粒度に基づいてバックアップすることができ、バックアップタスクにはバックアップ条件、例えばＷＨＥＲＥ条件が含まれていない場合、ターゲットデータテーブルのテーブル空間のメタ情報、テーブル空間により管理された全てのデータファイルを直接的にバックアップする（並行バックアップを利用して複数のデータファイルをバックアップしてもよい）。
【００６４】
バックアップタスクにはバックアップ、例えばＷＨＥＲＥ条件が含まれる場合、ファイル粒度からバックアップすることができる。つまり、バックアッププロセスにおいて、前記ターゲットデータテーブルにおける第１データファイルのデータ項目の全ては、前記バックアップタスクのバックアップ条件に満足する場合、前記第１データファイルをバックアップする。例えば、ＷＨＥＲＥ条件は１つのデータファイルの大部分をカバーすれば、対応するデータファイルを直接的にバックアップする。
【００６５】
バックアッププロセスにおいて、前記ターゲットデータテーブルにおける全てのデータファイル、または一部のデータファイルは、前記バックアップタスクのバックアップ条件に満足しており、且つ当該一部のデータファイルは、ターゲットデータテーブルにおけるファイル数の所定割合を占める場合、当該複数のデータファイルまたは一部のデータファイルをバックアップする。例えば、ＷＨＥＲＥ条件は複数のデータファイルの大部分をカバーすれば、当該複数のデータファイルをバックアップする。ＷＨＥＲＥ条件は全てのデータファイルの大部分をカバーすれば、全てのデータファイルを並行にバックアップし、実質的にはテーブル空間粒度のバックアップを行うことである。
【００６６】
前記ターゲットデータテーブルにおいて第１データファイルにおける一部のデータ項目は、前記バックアップタスクのバックアップ条件に満足し、且つ前記一部のデータ項目の割合が第２所定割合以上である場合、前記第１データファイルをバックアップし、前記第１データファイルにおける無効データをマークする。前記ターゲットデータテーブルにおいて第１データファイルの一部のデータ項目は、前記バックアップタスクのバックアップ条件に満足し、且つ前記一部のデータ項目の割合が前記第２所定割合よりも小さい場合、論理的読取の形式で前記第１データファイルにおけるデータ項目を読み取る。例えば、ＷＨＥＲＥ条件は１つのデータファイルの大部分をカバーすることができない場合、前記実施例にかかるデータブロックバックアップの方式を参照し、そのバックアップの方式は、ブロックバックアップまたは論理バックアップ方式を採択することができる。
【００６７】
本出願の実施例において、バックアップの効率を向上させるために、前記いずれのバックアップ方法において、前記バックアップタスクのバックアップターゲットは複数のデータテーブルを含む場合、前記複数のデータテーブルを並行にバックアップするようにサポートする。つまり、異なるテーブルターゲットのバックアップに対して、並行バックアップの方式で行ってもよく、例えば、データテーブル毎に、１つのバックアップスレッドを起動させることで、バックアップを実行する。
【００６８】
本出願の実施例において、バックアップの効率を向上させるために、前記いずれのバックアップ方法において、前記バックアップタスクのバックアップターゲットは複数のデータファイルを含む場合、前記複数のデータファイルを並行にバックアップするようにサポートする。
【００６９】
本出願の実施例において、バックアップの効率を向上させるために、前記いずれかのバックアップ方法において、前記バックアップタスクのバックアップターゲットは複数のデータブロックを含む場合、前記複数のデータブロックを並行にバックアップするようにサポートする。
【００７０】
前記３種の並行バックアップの方式について、最大程度でバックアップの効率を向上させるように、少なくとも２種の方式を結合することで、バックアッププロセスを実現することができる。例えば、複数のデータテーブル及び複数のデータファイルに対して、それぞれ、並行バックアップの方式を採択することができる。本出願の実施例は結合方式を具体的に限定しない。
【００７１】
本出願の実施例に係る３種のバックアップ方法について、三者の間の区別例は、以下の通りである。
例示１：論理バックアップ方式
ＢＥＧＩＮ；
Ｓｅｔ ＢＡＣＫＵＰＮＡＭＥ＝‘／ｕｓｒ／ｂａｋ／ｍｙ_ｆｉｒｓｔ_ｂａｃｋｕｐ_０２’ＲＥＡＤＶＩＥＷ ＦＲＯＭ'２０１８０１０９００００００'ＴＯ'２０１８０１１９００００００'；／／スナップショット差分方式で論理バックアップを行う
ＢＡＣＫＵＰ ＴＹＰＥ ＬＯ ＦＲＯＭ ｍｙ_ｔａｂｌｅ；
ＥＮＤ；
【００７２】
例示２：物理バックアップ方式
ＢＥＧＩＮ；
Ｓｅｔ ＢＡＣＫＵＰＮＡＭＥ＝‘／ｕｓｒ／ｂａｋ／ｍｙ_ｆｉｒｓｔ_ｂａｃｋｕｐ_０４’ＲＥＡＤＶＩＥＷ ｄｅｆａｕｌｔ；／／通常トランザクションスナップショットに基づき物理バックアップを行う
ＢＡＣＫＵＰ ＡＬＬ；／／システム全体をバックアップし、あるテーブルをバックアップすれば、「ＢＡＣＫＵＰ ＦＲＯＭ ｍｙ_ｔａｂｌｅ；」になる
ＥＮＤ；
【００７３】
例示３：混合バックアップ方式
ＢＥＧＩＮ；
Ｓｅｔ ＢＡＣＫＵＰＮＡＭＥ＝‘／ｕｓｒ／ｂａｋ／ｍｙ_ｆｉｒｓｔ_ｂａｃｋｕｐ_０４’ＲＥＡＤＶＩＥＷ ＦＲＯＭ'２０１８０１０９００００００'ＴＯ ｎｏｗ（）；／／スナップショット差分方式で混合バックアップを行って、履歴の時間'２０１８０１０９００００００'から、本トランザクションの可視の提出された全てのデータまで、バックアップする必要がある
ＢＡＣＫＵＰ ＦＲＯＭ ｍｙ_ｔａｂｌｅ０１,ｍｙ_ｔａｂｌｅ０２,ｍｙ_ｔａｂｌｅ０３；／／指定された３つのテーブルをバックアップし、システム全体をバックアップしてもよい
【００７４】
好ましくは、ブロックバックアップ方式でバックアップする場合、データブロックにおけるデータには以下の２つの状況がある。
第１の状況とは、ページに跨ることなく、あるデータブロックにおける条件に満足しているデータが、当該ページにおける空間において十分に記憶され得る場合を指す。
第２の状況とは、ページクに跨り、あるデータブロックにおける条件に満足しているデータが、当該ページにおける空間において十分に記憶され得ず、連続しているページに存在する場合を指す。
【００７５】
前記状況に応じて、１つのデータブロックは、ページに跨らない場合、本ページの後のページは当該本ページと関連しないことを示すように、そのデータ構成におけるフッター部分に特別マークを付ける。図６に示すように、ページにデータの有効ビットを追加し、当該データの有効ビットは、当該ページデータがページに跨るか否かを示す。１つの好ましい実施形態において、当該データの有効ビットは以下の２部分に分けられる。即ち、一部はデータ可視マークビットであり（全部０にセットされる）、残りのｂｉｔビット（ページに跨るマークビットと呼ばれる）は、本ページデータがページに跨るか否かを示す。（１は、ページに跨ることを示し、０は、ページに跨らないことを示す）。ページに跨るマークビットが存在する場合、データ検索の際に、停止できず、次のページを引き続いて読み込む。
【００７６】
本出願の実施例は、時制データベースを基に、時制データに基づくバックアップ方法を提案し、全状態データのうちのいずれの状態のデータに対しても多種の柔軟方式、例えば、論理方式や物理方式、論理と物理との結合の方式を利用して、バックアップが実現され、時制データの有効記憶及び安全確実性に対して有効保障を提供する。
【００７７】
なお、前記実施例に係る物理バックアップ、例えばブロックコピー方式は、全ての状況におけるデータバックアップに適用され得る。前記実施例に係る論理バックアップ、即ち、論理的読取方式によるバックアップ、例えば、データ項目の可視バージョンの読取方式によるバックアップは、全ての状況のデータバックアップにも適用され得る。物理バックアップと論理バックアップとの柔軟結合に基づいてデータバックアップを実現することで、バックアップの効率を大幅に向上することができ、本出願の実施例は、前記物理バックアップと論理バックアップとの結合方式を限定していない。以下の実施シナリオを例として、前記物理バックアップと論理バックアップとの結合により、様々なバックアップポリシーを策定することができる。このように、運営中のバックアップニーズを満たすとともに、高効率のバックアップが保証される。
【００７８】
１つの実施シナリオにおいては、前記３種のバックアップ方法を組み合わせて、バックアップポリシーを策定することができる。即ち、場合によっては、対応している手段（論理バックアップ、物理バックアップ）によりバックアップする。選択可能なバックアップポリシーは伝統のデータベースバックアップポリシーと同様、例えば、可能なバックアップポリシーは、以下の通りである。即ち、半年ごとにデータベースのフルバックアップを行い（全てのデータ、即ち全状態データを含む）、１ヶ月ごとにゼロレベルバックアップを１回行い（読み取り専用テーブル空間を含まない）、１週間ごとに一レベルのバックアップを１回行い、毎日、二レベルのバックアップを１回行う。当該バックアップレベルは実際の必要に応じて設定すればよい。他の可能なバックアップポリシーは以下の通りである。即ち、二重ポリシーでバックアップすることであって、論理バックアップと物理バックアップとの結合である。データ量、及びデータ紛失に対する許容度に応じて、まず、定期的に物理バックアップを行い、そして、完全な物理バックアップの２つずつの時間間隔において、論理バックアップを行い、前記バックアップポリシーを実行することで、データ安全性及び一致性を向上させる目的を実現することができ、さらに、高効率のバックアップが保証される。
【００７９】
なお、本出願の実施例にかかるデータ項目の可視バージョンとは、バックアップタスクに対応するトランザクションスナップショットに対応するタイミングにおいて、トランザクションにより読み取られるバージョンを指す。データテーブルにおける任意のタプルの任意なバージョンに対して、トランザクションスナップショット及び前記バージョンの作成タイミング、削除タイミング及び前記バージョンの提出タイミングに応じて、前記バージョンは可視であるかを特定する。サーバはデータテーブルから１つのタプルを読み取るたびに、当該タプルの生命周期情報（当該バージョンの作成タイミング、削除タイミング及び前記バージョンの提出タイミングなどの情報）を読み取ることができる。履歴時間帯に基づく可視性の判定を例とする。
（一）：当該バージョンは挿入操作による生成であり、当該作成タイミングは当該履歴時間帯の開始時点の前にあり、当該提出タイミングは当該履歴時間帯にある場合、当該バージョンは可視であると特定し、または、当該作成タイミングと当該提出タイミングとも当該履歴時間帯にある場合、当該バージョンは可視であると特定する。
（二）：当該バージョンは削除操作による生成であり、当該削除タイミングは当該履歴時間帯の開始時点の前にあり、当該提出タイミングは当該履歴時間帯にある場合、当該バージョンは可視であると特定し、または、当該削除タイミングと当該提出タイミングとも当該履歴時間帯にある場合、当該バージョンは可視であると特定する。
（三）：当該バージョンは更新操作による生成であり、当該作成タイミングは当該履歴時間帯の開始時点の前にあり、当該提出タイミングは当該履歴時間帯にある場合、当該バージョンは可視であると特定し、または、当該作成タイミングは当該履歴時間帯の開始時点の後にあり、当該提出タイミングは当該履歴時間帯にある場合、当該バージョンは可視であると特定する。
【００８０】
図２〜５のフロチャートにおける各ステップは矢印の指示に従って順に表示されるが、これらのステップは、必ず矢印の指示順序に従う順に実行されるわけではない。本明細書に明確な記載以外、これらのステップの実行は、厳しい順序の限定を有せず、これらのステップは、他の順序で実行されてもよい。そして、図２〜５における少なくとも一部のステップは、複数のサブステップまたは複数の段階を有してもよく、これらのサブステップまたは段階は、必ず同一タイミングで実行され完成されず、異なるタイミングで実行されてもよく、これらのサブステップまたは段階の実行順序は、必ず順に行わず、他のステップまたは他のステップのサブステップ、或いは段階の少なくとも一部と、順番または交代に実行されてもよい。
【００８１】
図７は本出願の実施例にかかるデータバックアップ装置の構成模式図であり、図７を参照し、当該装置は、
ターゲットデータテーブルのデータ項目をバックアップするためのバックアップタスクを受信するための受信モジュール７０１と、
当該バックアップタスクのバックアップタイミングは履歴時間帯である場合、第１履歴トランザクションスナップショットと第２履歴トランザクションスナップショットとの間の第１スナップショット差分を取得するための取得モジュール７０２と、
当該第１スナップショット差分に基づいて、当該バックアップタスクを実行し、少なくとも当該ターゲットデータテーブルにおけるデータ項目の可視バージョンが含まれるバックアップデータを取得するためのバックアップモジュール７０３と、を備え、
当該第１履歴トランザクションスナップショット及び当該第２履歴トランザクションスナップショットは、それぞれ当該履歴時間帯の開始時点と終了時点におけるトランザクションスナップショットである。
【００８２】
本出願の実施例にかかる装置は、時制データベースを基に、時制データに基づくバックアップ方法を提出し、全状態データのうちのいずれの状態のデータに対しても多種の柔軟方式、例えば、論理方式や物理方式、論理と物理との結合方式により、バックアップを実現することができ、時制データの有効記憶及び安全確実性に有効保障を提供する。
【００８３】
好ましい実施形態において、当該バックアップモジュール７０３は、さらに、
当該ターゲットデータテーブルの履歴状態データが記憶されている第１データブロックを特定し、
当該第１スナップショット差分に基づいて、当該第１データブロックに記憶されている履歴状態データの全ては可視バージョンであると特定した場合、ブロックコピーの形式で、当該第１データブロックをバックアップし、バックアップデータを取得する。
【００８４】
好ましい実施形態において、図７の装置構成に基づき、当該装置は、さらに、
当該第１スナップショット差分に基づいて、当該第１データブロックにおける可視バージョンの割合が第１所定割合以上であると特定した場合、ブロックコピーの形式で当該第１データブロックをバックアップし、当該第１データブロックにおける不可視の履歴状態データをマークし、バックアップデータを取得するステップと、
当該第１スナップショット差分に基づいて、当該第１データブロックに記憶されている履歴状態データのうちの可視バージョンの割合が当該第１所定割合よりも小さいと特定した場合、論理的読取形式で、当該第１データブロックにおける可視バージョンを読み取って、バックアップデータを取得するステップとを含む。
【００８５】
好ましい実施形態において、図７の装置構成に基づいて、当該装置は、さらに、
当該バックアップタスクのバックアップタイミングは現時点である場合、当該現時点における通常トランザクションスナップショットを取得するステップと、
当該通常トランザクションスナップショットに基づいて、ブロックコピーの形式で現在状態データの所在しているデータブロックをバックアップし、バックアップデータを取得するステップとを含む。
【００８６】
好ましい実施形態において、図７の装置構成に基づいて、当該装置は、さらに、
当該バックアップタスクのバックアップターゲットには現在状態データが含まれる場合、バックアッププロセスの開始時点から当該バックアッププロセスの終了時点まで、当該現在状態データのログファイルをセグメント化してバックアップするステップを含む。
【００８７】
好ましい実施形態において、図７の装置構成に基づいて、当該装置は、さらに、
当該バックアップタスクのバックアップタイミングは１つの履歴時点である場合、当該履歴時点におけるトランザクションスナップショットである第３履歴トランザクションスナップショットを取得するステップと、
当該第３履歴トランザクションスナップショットに基づいて、当該バックアップタスクを実行し、少なくとも当該ターゲットデータテーブルにおけるデータ項目の可視バージョンが含まれるバックアップデータを取得するステップとを含む。
【００８８】
好ましい実施形態において、図７の装置構成に基づいて、当該装置は、さらに、
当該バックアップタスクのバックアップタイミングは、現時点を終了点とする時間帯を有する場合、第４履歴トランザクションスナップショット及び第５履歴トランザクションスナップショットとの間の第２スナップショット差分を取得するステップと、
当該第２スナップショット差分に基づいて、現在状態データと当該ターゲットデータテーブルにおける可視バージョンをバックアップするステップとを含み、
当該第４履歴トランザクションスナップショット及び当該第５履歴トランザクションスナップショットはそれぞれ当該時間帯の開始時点におけるトランザクションスナップショット、及び当該現時点における通常トランザクションスナップショットであり、
当該バックアップデータには少なくとも当該ターゲットデータテーブルにおけるデータ項目の可視バージョンが含まれる。
【００８９】
好ましい実施形態において、当該バックアップタスクのバックアップターゲットには履歴状態データと遷移状態データが含まれる場合、当該バックアップデータには、当該履歴状態データ、遷移状態データのメタ情報ファイル、及びデータファイルが含まれる。
【００９０】
好ましい実施形態において、当該バックアップタスクのバックアップターゲットには現在状態データが含まれる場合、当該バックアップデータにはさらに当該現在状態データのメタ情報ファイル、データファイル及びログファイルが含まれる。
【００９１】
好ましい実施形態において、当該バックアップデータのうちの履歴状態データと遷移状態データとのメタ情報ファイルの間のファイル命名に関連付けられる。
【００９２】
好ましい実施形態において、当該バックアップモジュール７０３はさらに、メタ情報をバックアップする場合、バックアップターゲットのメタ情報及び当該バックアップターゲットの関係メタ情報に基づいて、メタ情報リストを構築し、当該メタ情報リストに基づきバックアップして、メタ情報ファイルを取得する。
【００９３】
好ましい実施形態において、当該バックアップデータのデータ形式は、ディレクトリで各類のファイルが記憶され、または複数のｔａｒパッケージとして記憶される。
【００９４】
好ましい実施形態において、図７の装置構成に基づき、当該装置はさらに、
バックアップ過程で、当当該ターゲットデータテーブルにおける第１データファイルのデータ項目の全ては当該バックアップタスクのバックアップ条件に満足する場合、当該第１  データファイルをバックアップするステップと、
当該ターゲットデータテーブルにおける第１データファイルの一部のデータ項目が当該バックアップタスクのバックアップ条件に満足し、且つ当該一部のデータ項目の割合が第２所定割合以上である場合、当該第１データファイルをバックアップし、当該第１データファイルにおける無効データをマークするステップと、
当該ターゲットデータテーブルにおける第１データファイルの一部のデータ項目が、当該バックアップタスクのバックアップ条件に満足し、且つ当該一部のデータ項目の割合が当該第２所定割合よりも小さい場合、論理的読取形式で当該第１データファイルにおけるデータ項目を読み取るステップとを含む。
【００９５】
好ましい実施形態において、当該バックアップタスクを実行する場合、
当該バックアップタスクのバックアップターゲットには複数のデータテーブルが含まれる場合、当該複数のデータテーブルを並行にバックアップするようにサポートする方式と、
当該バックアップタスクのバックアップターゲットには複数のデータファイルが含まれる場合、当該複数のデータファイルを並行にバックアップするようにサポートする方式と、
当該バックアップタスクのバックアップターゲットには複数のデータブロックが含まれる場合、当該複数のデータブロックを並行にバックアップするようにサポートする方式とのうちの少なくとも１つの方式で実現される。
【００９６】
前記全ての選択可能な技術案は、任意の結合を利用して、本開示の選択可能な実施例を形成できる。
【００９７】
なお、前記実施例にかかるデータバックアップ装置は、データをバックアップする際、前記各機能モジュールの区画のみを例として説明し、実際応用において、必要に応じて異なる機能モジュールで完成されるように、前記機能を割り当て、即ち、装置の内部構成を、異なる機能モジュールに区画することで、前記記載の全てまたは一部の機能を完成させる。また、前記実施例が提供したデータバックアップ装置と、データバックアップ方法の実施例とは同一の構想に属して、その具体的な実現過程について、方法実施例を参照すればよい。
【００９８】
前記データバックアップ装置は、コンピュータープログラムの形式として実現されてもよく、コンピュータープログラムは端末で運転することができる。端末での記憶媒体には、図７に示される受信モジュール７０１、取得モジュール７０２及びバックアップモジュール７０３のような当該データバックアップ装置を構成する各プログラムモジュールが記憶されてもよい。各プログラムモジュールからなるコンピュータープログラムはプロセッサーにより実行される場合、プロセッサーに、本出願の各実施例の推奨内容の表示方法におけるステップを実行させる。
【００９９】
図８は本出願の実施例が提供したサーバの構成模式図であり、当該サーバ８００は配置または性能の異なりのため、大きい相違が生じる可能性があり、１つまたは１つ以上のプロセッサー（ｃｅｎｔｒａｌ ｐｒｏｃｅｓｓｉｎｇ ｕｎｉｔｓ、ＣＰＵ）８０１と、１つまたは１つ以上のメモリ８０２とを有し、前記メモリ８０２には少なくとも１つのコマンドが記憶され、前記少なくとも１つのコマンドは前記プロセッサー８０１によりロードされるとともに、実行されることで、前記各方法の実施例が提供した方法を実現する。無論、入出力を便利にするために、当該サーバは、有線または無線ネットワークインタフェース、キーボード及び入出力インタフェースなどの部材を有してもよく、さらに機器機能を実現するための他の部材を有してもよい。
【０１００】
当該メモリ８０２は不揮発性及び／または揮発性メモリであってもよい。不揮発性メモリは読み取り専用メモリ（ＲＯＭ）、プログラム可能なＲＯＭ（ＰＲＯＭ）、電気的プログラム可能なＲＯＭ（ＥＰＲＯＭ）、電気的に消去可能プログラム可能なＲＯＭ（ＥＥＰＲＯＭ）またはフラッシュメモリを有してもよい。揮発性メモリはランダムアクセスメモリ（ＲＡＭ）または外部高速キャッシュメモリを有してもよい。限定ではなく、説明として、ＲＡＭは静的ＲＡＭ（ＳＲＡＭ）、動的ＲＡＭ（ＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、ダブルデータレートＳＤＲＡＭ（ＤＤＲＳＤＲＡＭ）、強化式ＳＤＲＡＭ（ＥＳＤＲＡＭ）、同期リンク（Ｓｙｎｃｈｌｉｎｋ）ＤＲＡＭ（ＳＬＤＲＡＭ）、メモリバス（Ｒａｍｂｕｓ）直接ＲＡＭ（ＲＤＲＡＭ）、ダイレクトメモリバス動的ＲＡＭ（ＤＲＤＲＡＭ）、及びメモリバス動的ＲＡＭ（ＲＤＲＡＭ）などのような、多種の形式で取得されてもよい。
【０１０１】
本出願の実施例はさらに、サーバに適用されるコンピュータ可読記憶媒体を提供し、当該コンピュータ可読記憶媒体には少なくとも１つのコマンド、少なくとも１セグメントのプログラム、コードセットまたはコマンドセットが記憶され、当該コマンド、当該プログラム、当該コードセットまたは当該コマンドセットは、プロセッサーによりロードされるとともに、実行されることで、前記実施例のデータバックアップ方法におけるサーバによる実行される操作を実現する。
【０１０２】
当業者が理解できるように、前記実施例の全てまたは一部のステップを実現することは、ハードウェアにより完成されてもよく、プログラムにより、関するハードウェアにコマンドするように完成されてもよく、前記プログラムはコンピュータ可読記憶媒体に記憶され、前記言及された記憶媒体は、読み取り専用メモリ、磁気ディスクまたは光ディスクなどであってもよい。
【０１０３】
以上の実施例の各技術特徴に対して、任意の組み合わせを行ってもよく、記載を簡潔にするために、前記実施例の各技術特徴の全ての可能な組み合わせを記載していないが、これらの技術特徴の組み合わせには矛盾が存在しないと、いずれも本明細書の記載範囲であると認められる。
【０１０４】
以上の実施例は、本出願のいくつかの実施形態のみを表現し、その記載は具体的且つ詳しいが、そのため、発明の特許範囲に対する限定と理解されることができない。指摘すべきのは、当業者にとって、本出願の構想から逸脱しない前提で、さらに、若干の変形及び改良を行ってもよく、これらはいずれも本出願の保護範囲に当該当すべきである。従って、本出願特許の保護範囲は、添付の請求項を基準とする。
【符号の説明】
【０１０５】
１０１  サーバ
８００  サーバ
８０１  プロセッサー
８０２  メモリ
【図１】
2022501747.tif 000003
【図２】
2022501747.tif 000004
【図３】
2022501747.tif 000005
【図４】
2022501747.tif 000006
【図５】
2022501747.tif 000007
【図６】
2022501747.tif 000008
【図７】
2022501747.tif 000009
【図８】
2022501747.tif 000010
【手続補正書】
【提出日】令和3年4月2日(2021.4.2)
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】
本出願はデータベースという技術分野に関し、特に、データバックアップ方法、装置、サーバ及びコンピュータプログラムに関する。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
サーバが実行するデータバックアップ方法であって、
ターゲットデータテーブルのデータ項目をバックアップするためのバックアップタスクを受信するステップと、 
前記バックアップタスクのバックアップタイミングが履歴時間帯である場合、第１履歴トランザクションスナップショットと第２履歴トランザクションスナップショットとの間の第１スナップショット差分を取得するステップと、
前記第１スナップショット差分に基づいて、前記バックアップタスクを実行し、少なくとも前記ターゲットデータテーブルにおけるデータ項目の可視バージョンが含まれるバックアップデータを取得するステップとを含み、
前記第１履歴トランザクションスナップショット及び前記第２履歴トランザクションスナップショットは、それぞれ前記履歴時間帯の開始時点及び終了時点におけるトランザクションスナップショットであることを特徴とする方法。
【請求項２】
前記第１スナップショット差分に基づいて、前記バックアップタスクを実行し、少なくとも前記ターゲットデータテーブルにおけるデータ項目の可視バージョンが含まれるバックアップデータを取得するステップは、
前記ターゲットデータテーブルの履歴状態データが記憶されている第１データブロックを特定するサブステップと、
前記第１スナップショット差分に基づいて、前記第１データブロックに記憶されている履歴状態データのすべてが可視バージョンであると特定した場合、ブロックコピーの形式で前記第１データブロックをバックアップし、前記バックアップデータを取得するサブステップとを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１スナップショット差分に基づいて、前記第１データブロックにおける可視バージョンの割合が第１所定割合以上であると特定した場合、ブロックコピーの形式で前記第１データブロックをバックアップし、前記第１データブロックにおける不可視の履歴状態データをマークし、前記バックアップデータを取得するサブステップをさらに含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記第１スナップショット差分に基づいて、前記第１データブロックに記憶されている履歴状態データのうちの可視バージョンの割合が前記第１所定割合よりも小さいと特定した場合、論理読み取りの形式で前記第１データブロックにおける可視バージョンを読み取り、前記バックアップデータを取得するサブステップをさらに含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記バックアップタスクのバックアップタイミングが現時点である場合、前記現時点における通常トランザクションスナップショットを取得するステップと、
前記通常トランザクションスナップショットに基づいて、現在状態データの所在しているデータブロックをブロックコピーの形式でバックアップし、前記バックアップデータを取得するステップとをさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記バックアップタスクのバックアップターゲットが現在状態データを含む場合、バックアッププロセスの開始時点から前記バックアッププロセスの終了時点まで、前記現在状態データのログファイルをセグメント化してバックアップするステップをさらに含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記バックアップタスクのバックアップタイミングが１つの履歴時点である場合、前記履歴時点のトランザクションスナップショットである第３履歴トランザクションスナップショットを取得するステップと、
前記第３履歴トランザクションスナップショットに基づいて、前記バックアップタスクを実行し、少なくとも前記ターゲットデータテーブルにおけるデータ項目の可視バージョンが含まれるバックアップデータを取得するステップとをさらに含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記バックアップタスクのバックアップタイミングが、現時点を終了点とする時間帯を含む場合、第４履歴トランザクションスナップショットと第５履歴トランザクションスナップショットとの間の第２スナップショット差分を取得するステップと、
前記第２スナップショット差分に基づいて、現在状態データ及び前記ターゲットデータテーブルにおける可視バージョンをバックアップするステップとをさらに含み、
前記第４履歴トランザクションスナップショット及び前記第５履歴トランザクションスナップショットは、それぞれ前記時間帯の開始時点におけるトランザクションスナップショット及び前記現時点における通常トランザクションスナップショットであり、
前記バックアップデータには少なくとも前記ターゲットデータテーブルにおけるデータ項目の可視バージョンが含まれることを含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記バックアップタスクのバックアップターゲットに履歴状態データ及び遷移状態データを含む場合、前記バックアップデータに、前記履歴状態データ及び遷移状態データのメタ情報ファイル及びデータファイルを含み、
前記バックアップタスクのバックアップターゲットが現在状態データを含む場合、前記バックアップデータに、さらに、前記現在状態データのメタ情報ファイル、データファイル及びログファイルを含むことを特徴とする請求項１〜８の何れか１項に記載の方法。
【請求項１０】
前記バックアップデータのうちの履歴状態データと遷移状態データとのメタ情報が関連付けられ、関連付けられたメタ情報は、ファイル命名が関連付けられたメタ情報ファイルに記憶されることを特徴とする請求項１〜９の何れか1項に記載の方法。
【請求項１１】
前記第１スナップショット差分に基づいて、前記バックアップタスクを実行し、バックアップデータを取得するステップは、
メタ情報をバックアップする場合、バックアップターゲットのメタ情報及び前記バックアップターゲットの関連付けられたメタ情報に基づいてメタ情報リストを作成し、前記メタ情報リストに基づいてバックアップし、メタ情報ファイルを取得するサブステップを含むことを特徴とする請求項１〜１０の何れか１項に記載の方法。
【請求項１２】
バックアッププロセスにおいて、前記ターゲットデータテーブルにおける第１データファイルのデータ項目の全てが前記バックアップタスクのバックアップ条件を満たしている場合、前記第１データファイルをバックアップするステップと、
前記ターゲットデータテーブルにおける第１データファイルの一部のデータ項目が前記バックアップタスクのバックアップ条件を満たしており、且つ前記一部のデータ項目の割合が第２所定割合の以上である場合、前記第１データファイルをバックアップし、前記第１データファイルにおける無効データをマークするステップとをさらに含むことを特徴とする請求項１〜１１の何れか１項に記載の方法。
【請求項１３】
前記ターゲットデータテーブルにおける第１データファイルの一部のデータ項目が前記バックアップタスクのバックアップ条件を満たしており、且つ前記一部のデータ項目の割合が前記第２所定割合よりも小さい場合、論理読み取りの形式で前記第１データファイルにおけるデータ項目を読み取るステップをさらに含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記バックアップタスクを実行する際に、
前記バックアップタスクのバックアップターゲットが複数のデータテーブルを含む場合、前記複数のデータテーブルを並行にバックアップすることをサポートする方式と
前記バックアップタスクのバックアップターゲットが複数のデータファイルを含む場合、前記複数のデータファイルを並行にバックアップすることをサポートする方式と
前記バックアップタスクのバックアップターゲットが複数のデータブロックを含む場合、前記複数のデータブロックを並行にバックアップすることをサポートする方式のうちの少なくとも１つの方式で実現することを特徴とする請求項１〜１３の何れか１項に記載の方法。
【請求項１５】
データバックアップ装置であって、
ターゲットデータテーブルのデータ項目をバックアップするためのバックアップタスクを受信するための受信モジュールと、
前記バックアップタスクのバックアップタイミングは履歴時間帯である場合、第１履歴トランザクションスナップショットと第２履歴トランザクションスナップショットとの間の第１スナップショット差分を取得するための取得モジュールと、
前記第１スナップショット差分に基づいて、前記バックアップタスクを実行し、少なくとも前記ターゲットデータテーブルにおけるデータ項目の可視バージョンが含まれるバックアップデータを取得するためのバックアップモジュールとを含み、
前記第１履歴トランザクションスナップショット及び前記第２履歴トランザクションスナップショットはそれぞれ前記履歴時間帯の開始時点及び終了時点におけるトランザクションスナップショットであることを特徴とする装置。
【請求項１６】
プロセッサーとメモリとを有するサーバであって、
前記メモリには少なくとも１つのコマンドが記憶され、前記少なくとも１つのコマンドは当該プロセッサーによってロードされて実行されると、
ターゲットデータテーブルのデータ項目をバックアップするためのバックアップタスクを受信するステップと、
前記バックアップタスクのバックアップタイミングは履歴時間帯である場合、第１履歴トランザクションスナップショットと第２履歴トランザクションスナップショットとの間の第１スナップショット差分を取得するステップと、
前記第１スナップショット差分に基づいて、前記バックアップタスクを実行し、少なくとも前記ターゲットデータテーブルにおけるデータ項目の可視バージョンが含まれるバックアップデータを取得するステップとを、前記サーバに実行させ、
前記第１履歴トランザクションスナップショット及び前記第２履歴トランザクションスナップショットはそれぞれ前記履歴時間帯の開始時点及び終了時点のトランザクションスナップショットであることを特徴とするサーバ。
【請求項１７】
前記少なくとも１つのコマンドは当該プロセッサーによってロードされて実行されると、 前記サーバにさらに以下のステップを実行させ、即ち、
前記ターゲットデータテーブルの履歴状態データが記憶されている第１データブロックを特定するステップと、
前記第１スナップショット差分に基づいて、前記第１データブロックに記憶されている履歴状態データの全ては可視バージョンであると特定した場合、前記第１データブロックをブロックコピーの形式でバックアップし、前記バックアップデータを取得するステップとを含むことを特徴とする請求項１６に前記のサーバ。
【請求項１８】
前記少なくとも１つのコマンドは当該プロセッサーによってロードされて実行されると、前記サーバにさらに以下のステップを実行させ、即ち、
前記第１スナップショット差分に基づいて、前記第１データブロックにおける可視バージョンの割合が第１所定割合以上であると特定した場合、ブロックコピーの形式で前記第１データブロックをバックアップし、前記第１データブロックにおける不可視の履歴状態データをマークし、前記バックアップデータを取得するステップを含むことを特徴とする請求項１７に前記のサーバ。
【請求項１９】
コンピュータにより実行されると、請求項１〜１４の何れか1項に記載のデータバックアップ方法を実施することを特徴とするコンピュータプログラム。
【国際調査報告】
2022501747.tif 000011
2022501747.tif 000012
2022501747.tif 000013
2022501747.tif 000014
2022501747.tif 000015