(57)【特許請求の範囲】
【請求項１】
抽出元のＳｈａｒｅｄ  Ｎｏｔｈｉｎｇ型の並列データベースシステムから抽出したデータを反映先の装置に送信するデータ連動処理装置であって、
前記並列データベースシステムの各ノード対応にそれぞれ設けられノードにおけるデータ更新が行われたとき該ノードから更新情報を抽出する抽出処理部を有する抽出装置と、制御装置と、反映先データベースを有する反映側装置を備え、
前記制御装置は、前記各ノード対応に設けられた制御処理部と、表識別子、分割数、出力停止中数、原因更新情報、原因カウンタ及び出力担当の各項目を有するマスタ分割表管理テーブル（以下、マスタテーブルと云う）と、表識別子、原因ＩＤ、停止中更新情報リストの各項目を有するサブ分割表管理テーブル（以下、サブテーブルと云う）を有し、前記並列データベースシステムの複数のノードから送られてくるキーに依存しない更新の更新情報を前記制御処理部により整理し、該更新情報が全て送られてきたとき整理した整理後更新情報を前記反映側装置に送信し、
前記制御装置の各制御処理部は、対応する抽出処理部で抽出した更新情報を入力し、読み込んだ更新情報が分割表に対する更新であるか否か判定し、
分割表に対する更新でない場合、該更新情報を整理後更新情報として前記反映側装置に送信し、
該更新情報が分割表に対する更新である場合、更新対象分割表の整理後更新情報の出力が停止中であるか判定し、
停止中でない場合、該更新情報がキーに依存する更新か判定し、該更新情報がキーに依存する更新の場合、該更新情報を整理後更新情報として前記反映側装置に送信し、該更新情報がキーに依存しない更新の場合、前記マスタテーブルの前記出力停止中数を増加し、前記原因更新情報に前記更新情報を設定し、前記サブテーブルの前記原因ＩＤに前記マスタテーブル中の前記原因カウンタの値を設定し、
停止中の場合、前記更新情報を前記サブテーブルの前記停止中更新情報リストに追加し、
前記各制御処理部は前記マスタテーブルの前記出力担当の項目を参照し、制御処理部が出力担当である場合、該出力担当の制御処理部は前記マスタテーブルの前記出力停止中数と前記分割数とが等しいと判定したとき、前記マスタテーブルの前記原因更新情報に設定された更新情報を整理後更新情報として前記反映側装置に送信し、出力停止の解除として前記マスタテーブルの前記出力停止中数をクリアし、前記原因カウンタの値を増加し、
前記各制御処理部は、前記サブテーブルの前記原因ＩＤの値と前記マスタテーブルの前記原因カウンタの値が等しくないとき、前記サブテーブルの前記停止中更新情報リストに設定された更新情報を読み込み、該更新情報がキーに依存しない更新かを判定し、
該更新情報がキーに依存する更新の場合、該更新情報を整理後更新情報として前記反映側装置に送信し、前記サブテーブルの前記停止中更新情報リストの内容が空になっていなければ、再び前記停止中更新情報リストに設定された更新情報の読み込みを行い、空になっていれば処理を終了し、
該更新情報がキーに依存しない更新の場合、前記マスタテーブルの前記出力停止中数を増加し、前記サブテーブルの前記原因ＩＤに前記マスタテーブルの前記原因カウンタの値をセットして処理を終了することを特徴とするデータ連動処理装置。
【請求項２】
Ｓｈａｒｅｄ  Ｎｏｔｈｉｎｇ型の並列データベースシステムの各ノード対応にそれぞれ設けられノードにおけるデータ更新が行われたとき該ノードから更新情報を抽出する抽出処理部を有する抽出装置と、制御装置と、反映先データベースを有する反映側装置とを備えるデータ連動処理装置における、前記制御装置が、前記各ノード対応に設けられた制御処理部と、表識別子、分割数、出力停止中数、原因更新情報、原因カウンタ及び出力担当の各項目を有するマスタ分割表管理テーブル（以下、マスタテーブルと云う）と、表識別子、原因ＩＤ、停止中更新情報リストの各項目を有するサブ分割表管理テーブル（以下、サブテーブルと云う）を有し、前記並列データベースシステムの複数のノードから送られてくるキーに依存しない更新の更新情報を前記制御処理部により整理し、該更新情報が全て送られてきたとき整理した整理後更新情報を前記反映側装置に送信するデータ連動処理方法であって、
前記制御装置の各制御処理部は、対応する抽出処理部で抽出した更新情報を入力し、読み込んだ更新情報が分割表に対する更新であるか否か判定し、
分割表に対する更新でない場合、該更新情報を整理後更新情報として前記反映側装置に送信し、
該更新情報が分割表に対する更新である場合、更新対象分割表の整理後更新情報の出力が停止中であるか判定し、
停止中でない場合、該更新情報がキーに依存する更新か判定し、該更新情報がキーに依存する更新の場合、該更新情報を整理後更新情報として前記反映側装置に送信し、該更新情報がキーに依存しない更新の場合、前記マスタテーブルの前記出力停止中数を増加し、前記原因更新情報に前記更新情報を設定し、前記サブテーブルの前記原因ＩＤに前記マスタテーブル中の前記原因カウンタの値を設定し、
停止中の場合、前記更新情報を前記サブテーブルの前記停止中更新情報リストに追加し、
前記各制御処理部は前記マスタテーブルの前記出力担当の項目を参照し、制御処理部が出力担当である場合、該出力担当の制御処理部は前記マスタテーブルの前記出力停止中数と前記分割数とが等しいと判定したとき、前記マスタテーブルの前記原因更新情報に設定された更新情報を整理後更新情報として前記反映側装置に送信し、出力停止の解除として前記マスタテーブルの前記出力停止中数をクリアし、前記原因カウンタの値を増加し、
前記各制御処理部は、前記サブテーブルの前記原因ＩＤの値と前記マスタテーブルの前記原因カウンタの値が等しくないとき、前記サブテーブルの前記停止中更新情報リストに設定された更新情報を読み込み、該更新情報がキーに依存しない更新かを判定し、
該更新情報がキーに依存する更新の場合、該更新情報を整理後更新情報として前記反映側装置に送信し、前記サブテーブルの前記停止中更新情報リストの内容が空になっていなければ、再び前記停止中更新情報リストに設定された更新情報の読み込みを行い、空になっていれば処理を終了し、
該更新情報がキーに依存しない更新の場合、前記マスタテーブルの前記出力停止中数を増加し、前記サブテーブルの前記原因ＩＤに前記マスタテーブルの前記原因カウンタの値をセットして処理を終了することを特徴とするデータ連動処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、 Ｓｈａｒｅｄ  Ｎｏｔｈｉｎｇ型のマルチプロセッサコンピュータシステム上の並列データベースシステムのレプリケーションに関し、各プロセッサの送信元・送信先各々に特定のキーによって分割配置されたデータベースのデータ更新の整合性のある反映に関する。
【０００２】
【従来の技術】
特開平１１−３２７９８８で説明されている抽出元データベースのログデータから更新情報を抽出する形式の従来のデータ連動装置では、更新された情報を個々のノード上のデータ連動抽出装置が特定のキーを元に更新情報として抽出し、直接データ連動反映装置間へ更新情報を送っている。
【０００３】
【発明が解決しようとする課題】
従来技術では抽出元データベースがＳｈａｒｅｄ  Ｎｏｔｈｉｎｇ型の並列データベースシステムである場合についての考慮がされておらず、列の値とは無関係に表中の全ての行の削除を行う一括削除のような特定のキーに依存しない更新の場合問題となる。
通常の削除では行毎に更新のログが出力されるため分割された表からの抽出であってもノード毎に異なる行に対する更新情報が抽出されることになるが、一括削除では行を特定しないため全てのノードから同一表に対する一括削除という更新情報が抽出されることになり、複数の抽出ノードから同じ処理の更新情報が反映装置へ送られることになる。
その際、更新情報の送られるタイミングは抽出ノード毎に異なるため、一括削除の場合、遅れて送信された一括削除の更新情報のために他のノードから先に送信されてきた一括削除後の更新情報のデータまでが消去され抽出元データベースと反映先データベースの整合性が取れなくなるという問題があった。
また、抽出元データベースと反映先データベースの整合性を保つためには、一括削除実行時にデータ連動を停止させ、一括削除を実施した後にデータ連動を再開始させる必要があった。
本発明の目的は、抽出元データベースがＳｈａｒｅｄ  Ｎｏｔｈｉｎｇ型の並列データベースであるデータ連動システムにおいて、特別な操作を行うことなく自動的に抽出元データベースと反映先データベースの整合性を保持することにある。
【０００４】
【課題を解決するための手段】
上記目的を達成するため、本発明は、
抽出元がＳｈａｒｅｄ  Ｎｏｔｈｉｎｇ型の並列データベースシステムであるデータ連動処理装置であり、
前記並列データベースシステムの各ノード毎にそれぞれ配した更新情報の抽出処理部を有する抽出装置と、制御装置と、反映先データベースを有する反映側装置を備え、
前記制御装置は、前記各抽出処理部で抽出した各更新情報を入力し、該更新情報がキーに依存する更新情報の場合には該更新情報を前記反映側装置に送信し、該更新情報がキーに依存しない更新情報の場合には、該更新情報に係る分割表における分割数分の前記抽出した更新情報が入力されるまで更新情報の出力を中止し、前記分割数分の前記抽出した更新情報が入力されたとき、該更新情報を前記反映側装置に送信するようにしている。
また、抽出元がＳｈａｒｅｄ  Ｎｏｔｈｉｎｇ型の並列データベースシステムであるデータ連動処理装置であり、
前記並列データベースシステムの各ノード毎にそれぞれ配した更新情報の抽出処理部を有する抽出装置と、制御装置と、反映先データベースを有する反映側装置を備え、
前記制御装置は、前記各ノード対応に制御処理部を有し、
該各制御処理部は、対応するノードの前記抽出処理部で抽出した更新情報を入力し、該更新情報がキーに依存する更新情報の場合には該更新情報を前記反映側装置に送信し、該更新情報がキーに依存しない更新情報の場合には、少なくとも表識別子と分割数と出力停止中数の欄を有する分割表管理テーブルの該出力停止中数を増加し、該分割数と出力停止中数が等しくないとき該更新情報を記憶して該更新情報の出力を停止し、分割数と出力停止中数が等しくなったとき該更新情報を前記反映側装置に送信するようにしている。
【０００５】
【発明の実施の形態】
以下、本発明の実施の形態を説明する。
図１は、実施の形態におけるシステム構築例のブロック図を示したものである。並列データベースシステムデータ連動装置は複数のノードからなる抽出側システム装置１０１と、制御側システム装置１０８と、反映側システム装置１１４から構成される。
各抽出側システム装置上では、更新を行うＵＡＰ（User Applicasion Program）１０３と、ＵＡＰがアクセスする並列ＤＢＭＳ１０２と、並列ＤＢＭＳが更新を反映するＤＢ１０４と、更新履歴を出力する更新ログ１０５と、更新ログから更新情報１０７を抽出し、制御側システムへと送信するデータ連動抽出処理から構成される。
制御側システム装置上では、各抽出側システム装置上のデータ連動抽出処理から送られた更新情報１０９を受け取り、マスタ分割表テーブル１１１と、サブ分割表テーブル１１２を使用して、ノード間の更新情報の整理を行った後、整理後更新情報１１３として反映側システムへ送信するデータ連動制御処理から構成される。
反映側システム装置上では、制御側システム装置上のデータ連動制御装置から送られた整理後更新情報１１５を受け取り、更新を行うデータ連動反映処理１１６と、反映先ＤＢＭＳ１１７と、ＤＢ１１８から構成される。
【０００６】
図２は上記構成に於ける制御側システム装置１０８で行うデータ連動制御処理の概要を説明するための図を示したものである。
データ連動制御処理では抽出元の各ノードから送られてきた更新情報２０１，２０２，２０３ごとに制御処理を実行する制御処理２０４，２０５，２０６を作成する。
制御処理では、制御処理実行のために、全てのノードに対する制御処理で共用するマスタ分割表管理テーブル２０９と、個々の制御処理で使用するサブ分割表管理テーブル２１０，２１１，２１２を用いることによって、複数のノードから送られてくるキーに依存しない更新の更新情報を整理した整理後更新情報２０７を出力する。
ここで、分割表とは、図には示していないが、並列ＤＢＭＳ上に存在する表であり、１つのデータが複数のノードにキーを付して分割されていることを示す表である。
制御処理済み整理後更新情報２０７は、送信処理２０８でデータ連動反映処理へと送信される。
【０００７】
図３は上記構成に於けるマスタ分割表管理テーブル２０９およびサブ分割表管理テーブル２１０，２１１，２１２の概要を説明するための図を示したものである。
マスタ分割表管理テーブルは制御処理間での制御処理管理に用い、
分割表を一意に識別するための表識別子３０１と、
分割表が幾つのノードに分割されているかを示す分割数３０２と、
整理後更新情報の出力を停止している制御処理の数を示す出力停止中数３０３と、
整理後更新情報出力の停止の原因となっている更新情報を示す原因更新情報３０４と、
分割表に対する整理後更新情報出力の停止の原因となった更新情報が過去に何回発生したかを示す原因カウンタ３０５と、
停止原因となっている更新情報を整理後更新情報として出力する制御処理を示す出力担当３０６から構成される。
例えば、停止原因となっている更新情報が最初に送られてきた制御処理を出力担当の制御処理として出力担当３０６に設定するようにしてもよい。設定内容はその制御処理を特定するための情報である。
また、後述されるように、原因カウンタ３０５は、停止原因となっている更新情報が分割表の分割数分の制御処理に全て入力され、整理後更新情報がデータ連動反映装置に出力されたとき＋１される。
サブ分割表管理テーブルは、個々の制御処理の分割表毎の制御処理管理に用い、分割表を一意に識別するための表識別子３０７と、更新情報を整理後更新情報として出力が停止中であるかを判定する原因ＩＤ３０８と、整理後更新情報として出力が停止中であるため出力処理をスキップした更新情報のリストである停止中更新情報リスト３０９から構成される。
【０００８】
図４は上記構成に於ける制御処理２０４，２０５，２０６での更新情報制御処理の概要を説明するためのフローチャートを示したものである。
制御処理２０４が更新情報の読み込みを行う（Ｓ４０１）。
読み込んだ更新情報が分割表に対する更新であるかを判定する（Ｓ４０２）。
更新情報が分割表に対する更新でなければ、更新情報を整理後更新情報２０７として出力する（Ｓ４０９）。
読み込んだ更新情報が分割表に対する更新ならば、さらに更新対象分割表の整理後更新情報出力が停止中であるかを判定し（Ｓ４０３）、停止中ならば更新情報を停止中更新情報リスト３０９へ追加する（Ｓ４０４）。
停止中でなければ、さらに更新情報がキーに依存する更新かを判定し（Ｓ４０５）、キーに依存する更新ならば更新情報を整理後更新情報２０７として出力し（Ｓ４０９）、キーに依存しない更新ならば更新情報の待避処理として、出力停止中数３０３を＋１し（Ｓ４０６）、更新情報を原因更新情報３０４へ設定し（Ｓ４０７）、原因ＩＤ３０８に原因カウンタ３０５の値を設定する（Ｓ４０８）。
次に、出力停止中の表について順次出力停止中回復処理を実行する（Ｓ４１０）。
次いで、次の更新情報が存在するかを判定し（Ｓ４１１）、存在すれば更新情報の読み込み（Ｓ４０１）へ戻る。
存在しなければ、出力停止中の表が存在するかを判定し（Ｓ４１２）、存在すれば出力停止中回復処理を実行する（Ｓ４１０）。
停止中の表も存在しなければ、更新情報制御処理を終了する。
【０００９】
図５は出力停止中回復処理の概要を説明するためのフローチャートを示したものである。
制御処理２０４が分割表の出力担当かを出力担当３０６で判定し（Ｓ５０１）、出力担当ならば、さらに全てのノードから停止の原因となっている更新情報が送られているかを、出力停止中数３０３と分割数３０２が等しいかで判定する（Ｓ５０３）。
出力停止中数３０３と分割数３０２が等しくなければ、まだ全てのノードから更新情報が送られていないとして出力停止中回復処理を終了する。
出力停止中数３０３と分割数３０２が等しければ、原因更新情報３０４に設定されている更新情報を整理後更新情報への出力し（Ｓ５０４）、出力停止の解除として出力停止中数３０３のクリアおよび原因カウンタ３０５のインクリメントを行う（Ｓ５０５）。
次に、原因ＩＤ３０８と原因カウンタ３０５を比較し（Ｓ５０６）、等しければ出力停止中であるとして出力停止中回復処理を終了する。ここで、「！＝」は「≠」のことである。
等しくなければ、出力停止中は解除されたものとして停止中更新情報リスト３０９から更新情報を読み込む（Ｓ５０７）。
読み込んだ更新情報がキーに依存しない更新かを判定する（Ｓ５０８）。
もしも、更新情報がキーに依存する更新ならば、整理後更新情報２０７として出力する（Ｓ５１１）。
さらに、停止中更新リストに更新情報が残っているかを判定し（Ｓ５１２）、まだ更新情報が残っているなら、Ｓ５０７に戻り、次の更新情報を読み込み、更新情報が残っていないなら出力停止中回復処理を終了する。
読み込んだ更新情報がキーに依存しない更新ならば、出力停止中数３０３を＋１し（Ｓ５０９）、原因ＩＤに原因カウンタ３０５の値をセット（Ｓ５１０）した後、出力停止中回復処理を終了する。
【００１０】
【発明の効果】
以上詳述したように、本発明によれば、並列データベースシステムを抽出元とするデータ連動を、特別な操作を行うことなく自動的にに抽出元と反映先のデータベースの整合性を損なうことなく実施することができるようになる。
【図面の簡単な説明】
【図１】本発明の実施例に於けるシステム構成例を示すブロック図である。
【図２】実施例に於けるデータ連動制御処理の概要を説明するための図である。
【図３】データ連動制御処理で用いるマスタ分割表管理テーブルおよびサブ分割表管理テーブルの概要を説明するための図である。
【図４】図２に示された制御処理での更新情報制御処理の概要フローチャートを示す図である。
【図５】出力停止中回復処理の概要フローチャートを示す図である。
【符号の説明】
１０１  抽出側システム装置の各ノード
１０２  抽出元並列ＤＢＭＳ（ＤａｔａＢａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）
１０３  ＵＡＰ（Ｕｓｅｒ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ）
１０４  抽出元ＤＢ（ＤａｔａＢａｓｅ）
１０５  更新ログ
１０６  データ連動抽出処理
１０７，１０９  更新情報
１０８  制御側システム
１１０  データ連動制御処理
１１１，２０９  マスタ分割表管理テーブル
１１２，２１０〜２１２  サブ分割表管理テーブル
１１３，１１５  整理後更新情報
１１４  反映側システム
１１６  データ連動反映処理
１１７  反映先ＤＢＭＳ
１１８  反映先ＤＢ
２０１〜２０３  各ノード上のデータ連動抽出処理から送信された更新情報
２０４〜２０６  制御処理
２０７  整理後更新情報
２０８  送信処理
【図１】
0004051172.tif 000002
【図２】
0004051172.tif 000003
【図３】
0004051172.tif 000004
【図４】
0004051172.tif 000005
【図５】
0004051172.tif 000006