JP4628830B2 - System for ensuring the integrity of data stored in DBMS - Google Patents
System for ensuring the integrity of data stored in DBMS Download PDFInfo
- Publication number
- JP4628830B2 JP4628830B2 JP2005076202A JP2005076202A JP4628830B2 JP 4628830 B2 JP4628830 B2 JP 4628830B2 JP 2005076202 A JP2005076202 A JP 2005076202A JP 2005076202 A JP2005076202 A JP 2005076202A JP 4628830 B2 JP4628830 B2 JP 4628830B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- update
- dbms
- identification information
- stored
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、DBMS(Database Management System)を利用するシステムにおいて、DBMSに格納された複数のテーブル間のデータの整合性を担保するための技術に関する。 The present invention relates to a technique for ensuring data consistency among a plurality of tables stored in a DBMS in a system using a DBMS (Database Management System).
近年、誰でもが自由に利用できるようにするため、ソフトウェアのソースコードをオープンソースとして、インターネットなどを通じて無償で公開することが行われている。そして、オープンソースのソフトウェアを利用すれば、低コストでアプリケーションシステムの構築が可能となることから、企業なども徐々に利用し始めている。 In recent years, software source code has been released as open source free of charge through the Internet or the like so that anyone can use it freely. And if you use open source software, you can build application systems at low cost, so companies are gradually starting to use it.
DBMS(Database Management System;データベース管理システム)もオープンソースとして公開されているものがある。オープンソースのDBMSの場合、2フェーズコミットメントなどのような高度な機能が実装されていないものがある。このようなDBMSが利用された場合、データの整合性を担保するためには2フェーズコミットメントを行うべきときであっても、それが行われないことになる。そうなると、データの不整合が生じ、このデータを利用するアプリケーションシステムにおいて不都合が生じる。 Some DBMS (Database Management System) has been released as open source. Some open source DBMSs do not have advanced features such as two-phase commitment. When such a DBMS is used, even when two-phase commitment is to be performed in order to ensure data consistency, it is not performed. In this case, data inconsistency occurs, and inconvenience occurs in an application system that uses this data.
そこで、本発明の目的は、2フェーズコミットメント機能を有しないDBMSを利用した場合でも、データの整合性を担保するための技術を提供することである。 Therefore, an object of the present invention is to provide a technique for ensuring data consistency even when a DBMS having no two-phase commitment function is used.
本発明の一実施態様に従うDBMS(Database Management System)と接続され、前記DBMSに格納されたデータの整合性を担保するためのシステムは、リクエスト要求元からのリクエストを受け付けると、前記リクエストに識別情報を付与する手段と、前記DBMSに対して、前記リクエストに基づくデータの更新処理を依頼する更新手段と、前記更新手段が前記リクエストに基づいて前記DBMSに複数の更新処理を依頼した場合、前記リクエストに付与された識別情報と関連づけられた各更新処理の内容に関する更新情報を、前記DBMSから取得する更新情報取得手段と、前記更新手段が前記DBMSに依頼したすべての更新処理の処理結果に基づいて、前記リクエストの成否を判定するリクエスト成否判定手段と、前記リクエスト成否判定手段による判定結果と前記更新情報取得手段により取得した更新情報とを、前記リクエストに付与された識別情報で関連づけて記憶する記憶手段と、前記リクエスト成否判定手段による判定結果を、前記リクエスト要求元に対して出力する手段と、を備える。 When a system connected to a DBMS (Database Management System) according to an embodiment of the present invention and ensuring the integrity of data stored in the DBMS receives a request from a request request source, identification information is included in the request. The update requesting unit for requesting the DBMS to update the data based on the request, and the update unit requesting the DBMS to perform a plurality of update processing based on the request. Update information acquisition means for acquiring update information about the contents of each update process associated with the identification information given to the DBMS, and based on the processing results of all update processes requested by the update means to the DBMS Request success / failure determination means for determining success / failure of the request; and request success / failure determination The determination result by the means and the update information acquired by the update information acquisition means are stored in association with the identification information given to the request, and the determination result by the request success / failure determination means is stored in the request request source. And outputting means.
好適な実施形態では、前記更新情報は、前記更新手段が依頼した更新処理別になっていて、各更新処理が正常終了したときに、当該更新処理に関する更新情報が前記DBMSによって生成されてもよい。 In a preferred embodiment, the update information is classified according to an update process requested by the update unit. When each update process is normally completed, update information related to the update process may be generated by the DBMS.
好適な実施形態では、リクエスト成否判定手段は、前記更新手段が依頼したすべての更新処理が正常終了したときはリクエスト成功と判定し、前記更新手段が依頼した更新処理のいずれか一つ以上が正常終了でないときはリクエスト不成功と判定するようにしてもよい。 In a preferred embodiment, the request success / failure determination unit determines that the request is successful when all the update processes requested by the update unit are normally completed, and one or more of the update processes requested by the update unit are normal. If it is not completed, it may be determined that the request is unsuccessful.
好適な実施形態では、前記記憶手段に、ある識別情報が付与されているリクエストの判定結果がリクエスト不成功と記憶されていて、かつ、前記更新情報取得手段が取得した、当該識別情報に係る一部の前記更新情報が記憶されているときは、前記DBMSに格納された複数のテーブル間で不整合が生じていると判定する整合性判定手段を、さらに備えてもよい。 In a preferred embodiment, the storage unit stores a determination result of a request to which certain identification information is given as unsuccessful request, and the one related to the identification information acquired by the update information acquisition unit. When the update information of a part is stored, a consistency determination unit that determines that inconsistency occurs between a plurality of tables stored in the DBMS may be further provided.
本発明の一実施形態に係る、2フェーズコミットメントがサポートされていないDBMSを利用したトランザクション処理を行うシステムについて、図面を用いて説明する。 A system for performing transaction processing using a DBMS that does not support two-phase commitment according to an embodiment of the present invention will be described with reference to the drawings.
図1は、本実施形態に係るトランザクション処理システム10とその監視装置20の構成を示す図である。トランザクション処理システム10は、外部とのデータ入出力を行うインタフェースサーバ1と、所定の業務処理を行う業務処理サーバ3と、DBMS5とを備える。監視装置20は、例えば、インタフェースサーバ1と接続されている。
FIG. 1 is a diagram showing a configuration of a
本実施形態では、DBMS5が在庫マスタを有し、業務処理サーバ3が商品の発注、在庫管理等を行っているときに、インタフェースサーバ1が商品の発注をリクエストするトランザクションを受け付けたときの処理を例にとって説明する。
In the present embodiment, when the DBMS 5 has an inventory master and the
インタフェースサーバ1、業務処理サーバ3、DBMS5および監視装置20は、いずれも例えば汎用的なコンピュータシステムにより構成され、以下に説明する各サーバ等1,3,5、20内の個々の構成要素または機能は、例えば、コンピュータプログラムを実行することにより実現される。
Each of the
インタフェースサーバ1は、リクエスト要求元の装置からのリクエストをトランザクションとして受け付け、このリクエストが正常終了したか否かを示すリクエスト成否をリクエスト要求元へ返信する。また、インタフェースサーバ1は、内部の機能として、受け付けたトランザクションに含まれるリクエストに識別情報であるIDを付与するリクエストID付与部11と、トランザクションの処理履歴を記録するトランザクションジャーナル13とを有する。
The
リクエストID付与部11は、トランザクション処理システム10内でユニークなリクエストIDを、各トランザクションに係るリクエストに対して付与し、業務処理サーバ3へ送る。
The request
トランザクションジャーナル13には、各トランザクションに係るリクエストごとに、その処理結果などの情報が格納される。例えば、業務処理サーバ3から返信されたリクエストに対するリプライが、トランザクションジャーナル13に格納される。
The
図2には、トランザクションジャーナル13のデータ構造の一例を示す。トランザクションジャーナル13は、データ項目として、リクエストID21と、リクエスト成否22と、在庫マスタテーブルのテーブル更新情報23と、トランザクションテーブルのテーブル更新情報24とを有する。リクエスト成否22,及びテーブル更新情報23,24については後述する。
FIG. 2 shows an example of the data structure of the
再び図1を参照すると、DBMS5は、それぞれデータが格納されている種々のテーブル51,53と、テーブル更新情報55とが記憶されている。テーブル更新情報55には、各テーブルの更新(上書き及び挿入)が行われたときに、その更新内容などが格納される。テーブル更新情報55は、テーブル別になっている。
Referring to FIG. 1 again, the DBMS 5 stores various tables 51 and 53 each storing data, and
テーブル更新情報55のデータ構造を図3に示す。テーブル更新情報55は、テーブル名41と、上書き/挿入種別42と、更新の主キー43と、更新前情報44と、更新後情報45と、リクエストID46とをデータ項目として有する。テーブル更新情報55は、各テーブルの更新処理が完了した時点で、その更新処理に係るレコードが追加される。従って、DBMS5が業務処理サーバ3からデータの更新依頼を受けた場合でも、その更新が正常終了しなければ、その更新処理に係るレコードが生成されない。この結果、リクエストID46をキーにしてテーブル更新情報55を参照することにより、各更新処理の成否を判定することができる。
The data structure of the
図1の例では、DBMS5は、在庫マスタテーブル51とトランザクションテーブル53とを有している。そして、テーブル更新情報55には、在庫マスタテーブルの更新情報551とトランザクションテーブルの更新情報552とが格納される。
In the example of FIG. 1, the DBMS 5 has an inventory master table 51 and a transaction table 53. The
業務処理サーバ3は、トランザクション制御を行うトランザクション制御部31と、複数の個別処理331,332を有する業務処理部33とを備える。ここで、個別処理には在庫処理331と、注文処理332とがある。
The
トランザクション制御部31は、インタフェースサーバ1から通知されたトランザクションを受け付けて、そのトランザクションに含まれるリクエストに応じた個別処理を業務処理部33から選択して実行させる。そして、トランザクション制御部31は、業務処理部33の個別処理の結果に応じて、リクエストに対する処理が正常に終了したか否か(リクエスト成否)を判定する。さらに、リクエストIDをキーにしてDBMS5からテーブル更新情報55を取得して、リクエスト成否とともにトランザクションに対するリプライとしてインタフェースサーバ1へ返信する。
The
業務処理部33の各個別処理は、それぞれ所定の業務処理を実行する。さらに、各個別処理は、DBMS5内の各テーブルの参照、更新の際は、DBMS5に対して処理を依頼する。DBMS5へ処理を依頼するときは、リクエストIDもあわせて通知する。
Each individual process of the
例えば、インタフェースサーバ1から商品発注リクエストのトランザクションが通知されると、トランザクション制御部31は、在庫処理331と注文処理332を順次呼び出してそれぞれの処理を実行させる。ここで、在庫処理331としては、在庫引き当て、在庫マスタテーブル51の更新等を行う。在庫マスタテーブル51の更新は、DBMS5に対して処理を依頼する。注文処理332としては、例えば、商品発注に対する注文IDを採番し、トランザクションテーブル53への注文情報の格納を、DBMS5に対して依頼する。
For example, when a transaction for a product order request is notified from the
次に、図4のフローチャートを用いて、商品発注のトランザクション処理について説明する。 Next, transaction processing for ordering products will be described with reference to the flowchart of FIG.
まず、インタフェースサーバ1が商品発注リクエストを含むトランザクションを受け付けると、リクエストID付与部11が、そのトランザクションにリクエストIDを付与する(S11)。そして、リクエストIDが付与されたトランザクションは、業務処理サーバ3へ通知される。
First, when the
業務処理サーバ3では、トランザクション制御部31がトランザクションを受け付けると、そのトランザクションに応じた、業務処理部33の個別処理331,332を順次実行させる(S12)。ここで実行される各個別処理の中で、DBMS5内のテーブルを更新するときは、DBMS5に対してテーブルの更新を依頼する(S13)。このテーブルの更新依頼には、受け付けたトランザクションに付与されているリクエストIDが付されている。
In the
本実施形態では、トランザクション制御部31は、商品発注のトランザクションに対して、まず在庫処理331を実行させる。在庫処理331では、在庫引き当て処理を行った後、DBMS5に在庫マスタテーブル51の更新要求を出力する。
In the present embodiment, the
DBMS5がテーブル更新の依頼を受けると、それに応じてテーブルの更新を行う(S14)。そして、このテーブルの更新が成功すると、DBMS5がこのテーブルの更新に基づいてテーブル更新情報55(図3参照)を格納する(S15)。 When the DBMS 5 receives a table update request, the table is updated accordingly (S14). Then, when the update of this table is successful, the DBMS 5 stores the table update information 55 (see FIG. 3) based on the update of this table (S15).
本実施形態では、DBMS5は、在庫マスタテーブル51を更新するとともに、在庫マスタのテーブル更新情報551に、その更新に係る情報を格納する。
In this embodiment, the
DBMS5での処理が終了すると、トランザクション制御部31へ個別処理が正常終了したか否かを示す処理結果が通知され、これにより個別処理が終了する(S16)。トランザクション制御部31は、他にも行うべき個別処理があるか否かを判定し、すべての個別業務処理を上記ステップS12〜S16に従って実行させる(S17)。
When the process in the
本実施形態では、上述の在庫処理331が終了すると、トランザクション制御部31がこれに続いて注文処理332を実行させる。つまり、注文処理332について、ステップS12以降の処理が再び実行される。注文処理332では、注文IDを採番して、DBMS5にトランザクションテーブル53の更新要求を出力する。DBMS5は、トランザクションテーブル53を更新するとともに、トランザクションテーブルのテーブル更新情報552に、その更新に係る情報を格納する。そして、これらの処理結果をトランザクション制御部31へ通知して処理を終了する。
In the present embodiment, when the above-described
すべての個別処理が終了すると(S17:Yes)、トランザクション制御部31は、リクエストの成否を判定する(S18)。すなわち、このトランザクションに基づいて処理を行った個別処理のすべてが正常終了していればトランザクションは成功であり、個別処理のいずれか一つでも正常終了でなければ、トランザクションは不成功(エラー)である。個別処理の成否判定は、DBMS5から通知される処理結果に基づいて行われる。さらに、トランザクション制御部31は、DBMS5からテーブル更新情報55を取得し、ここで取得したテーブル更新情報55と、リクエスト成否及びリクエストIDとを含むリプライを、インタフェースサーバ1へ返信する。
When all the individual processes are completed (S17: Yes), the
本実施形態では、トランザクション制御部31は、在庫処理331及び注文処理332のいずれもが正常終了したときは、リクエスト成否を「成功」とし、いずれか一方または両方ともが正常終了でないときは、リクエスト成否を「エラー」とする。さらに、トランザクション制御部31は、在庫マスタ及びトランザクションテーブルのテーブル更新情報551,552を取得して、インタフェースサーバ1へリプライを返す。
In the present embodiment, the
インタフェースサーバ1では、業務処理サーバ3からのリプライをトランザクションジャーナル13(図2参照)に格納し、リクエスト成否をトランザクションの処理結果として出力して処理を終了する(S19)。
The
これにより、トランザクションジャーナル13には、各トランザクション(リクエストID21)について、そのトランザクションに係るリクエストの全処理が成功したか否かを示すリクエスト成否22と、各テーブルに対する個別の処理内容を示すテーブル更新情報23,24が格納される。従って、トランザクションジャーナル13を参照することにより、データの不整合が生じているか否かを確認することができる。例えば、監視装置20がトランザクションジャーナル13の記憶内容を取得して、表示装置などに出力することにより、システム管理者が確認できるようにしてもよい。出力された内容の整合性及び個別の対処方法は、次に説明するトランザクション整合性チェック表で確認できる。
As a result, for each transaction (request ID 21), the
図5には、トランザクション整合性チェック表100を示す。このチェック表100は、リクエスト成否22に対して,テーブル更新情報(在庫マスタ)23及びテーブル更新情報(トランザクション)24が登録済みであるか否かに応じて、システム管理者が採るべき対処方法を示す。ここで、テーブル更新情報23,24は、テーブルの更新が正常終了したときにだけ生成されるので、テーブル更新情報23,24が未登録であるときは、テーブルの更新が正常終了していないことを意味する。
FIG. 5 shows a transaction consistency check table 100. This check table 100 indicates a response method to be taken by the system administrator depending on whether or not the table update information (stock master) 23 and the table update information (transaction) 24 have been registered for the request success /
例えば、項番3のリクエスト成否22が「エラー」でテーブル更新情報23,24がいずれも「未登録」であるときと、項番4のリクエスト成否22が「成功」でテーブル更新情報23,24がいずれも「登録済み」であるときは、データの整合性はとれているので、データベースに対する特別な対応は必要ない。
For example, when the request success /
一方、項番2のリクエスト成否22が「エラー」であり、テーブル更新情報23は「登録済み」であるが、テーブル更新情報24は「未登録」であるときは、データの不整合が生じている。つまり、この場合は、在庫マスタテーブル51を正常に更新した後、トランザクションテーブル53の更新に失敗をしているため、不整合となっている。この場合、システム管理者は、リクエストIDによりテーブル更新情報55を検索して、手動でロールバックを行う。
On the other hand, if the request success /
2フェーズコミットメントがサポートされているDBMSの場合、上記のようなケースでは、在庫マスタテーブル51の更新処理はロールバックされ、整合性が保たれるようになっている。しかし、本実施形態のように2フェーズコミットメントがサポートされていないDBMSでは、在庫マスタテーブル51のロールバックがされないので、これを検出する必要がある。 In the case of a DBMS that supports two-phase commitment, in the above case, the update process of the inventory master table 51 is rolled back to maintain consistency. However, in the DBMS that does not support the two-phase commitment as in this embodiment, the inventory master table 51 is not rolled back, and this needs to be detected.
また、上記のようにシステム管理者が不整合を検出して、手動でロールバックを行ってもよいが、それ以外に、監視装置20が自動的に不整合判定を行ってその結果をシステム管理者へ通知してもよいし、さらには、自動的にロールバックまで行って、その結果をシステム管理者へ通知してもよい。自動、手動を問わず、不整合の検出及びロールバックの実行は、トランザクション処理とは同期していなくてもよい。
In addition, the system administrator may detect inconsistency and perform rollback manually as described above, but in addition to that, the
なお、項番1,5〜7の場合は、システム障害またはDBMS障害が生じていると考えられるので、それぞれ適切な対応が必要である。
In the case of
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。 The above-described embodiments of the present invention are examples for explaining the present invention, and are not intended to limit the scope of the present invention only to those embodiments. Those skilled in the art can implement the present invention in various other modes without departing from the gist of the present invention.
例えば、上述した実施形態では、同一のDBMS内の複数のテーブル間でのデータの整合性を担保する場合について説明したが、同様のやり方で異なるDBMS間の整合性を担保することもできる。 For example, in the above-described embodiment, the case where data consistency between a plurality of tables in the same DBMS is secured has been described. However, consistency between different DBMSs can be secured in the same manner.
1 インタフェースサーバ
3 業務処理サーバ
5 DBMS
10 トランザクション処理システム
11 リクエストID付与部
13 トランザクションジャーナル
20 監視装置
31 トランザクション制御部
33 業務処理部
51 在庫マスタテーブル
53 トランザクションテーブル
55 テーブル更新情報
1
DESCRIPTION OF
Claims (4)
リクエスト要求元からのリクエストを受け付けると、前記リクエストに識別情報を付与する手段と、
前記DBMSに対して、前記リクエストに付与された識別情報を含む、前記リクエストに基づくデータの更新処理を依頼する更新手段と、
前記更新手段が前記リクエストに基づいて前記DBMSに複数の更新処理を依頼した場合、前記リクエストに付与された識別情報と関連づけられた各更新処理の内容に関する更新情報を、前記DBMSから取得する更新情報取得手段と、
前記更新手段が前記DBMSに依頼した前記複数の更新処理に対する前記DBMSからの処理結果の通知に基づいて、前記更新手段が依頼したすべての更新処理が正常終了したときはリクエスト成功と判定し、前記更新手段が依頼した更新処理のいずれか一つ以上が正常終了でないときはリクエスト不成功と判定するリクエスト成否判定手段と、
前記リクエスト成否判定手段による判定結果と前記更新情報取得手段が取得した更新情報とを、前記リクエストに付与された識別情報で関連づけて記憶する記憶手段と、
前記リクエスト成否判定手段による判定結果を、前記リクエスト要求元に対して出力する手段と、
前記記憶手段の記憶内容に基づいて、前記DBMSに格納された複数のテーブル間で不整合が生じているか否かを判定する整合性判定手段であって、
ある識別情報が付与されているリクエストの判定結果がリクエスト不成功であり、かつ、当該識別情報に係る一部の前記更新情報が記憶されているときは不整合と判定し、
ある識別情報が付与されているリクエストの判定結果がリクエスト不成功であっても、当該識別情報に係る前記更新情報が記憶されていないときは不整合ではないと判定する、前記整合性判定手段と、
前記整合性判定手段により不整合が生じていると判定されたときに、当該不整合が検出されたことを通知する手段と、を備えたシステム。 A system connected to a DBMS (Database Management System) for ensuring the integrity of data stored in the DBMS,
Upon receiving a request from a request request source, means for giving identification information to the request;
Update means for requesting the DBMS to update data based on the request, including identification information given to the request;
When the update unit requests the DBMS to perform a plurality of update processes based on the request, update information related to the contents of each update process associated with the identification information given to the request is acquired from the DBMS Acquisition means;
Based on the notification of the processing results from the DBMS for the plurality of update processes requested by the DBMS by the update unit, when all the update processes requested by the update unit have been normally completed, the request is determined to be successful, A request success / failure determination means for determining that the request is unsuccessful when at least one of the update processes requested by the update means is not normally terminated ;
Storage means for storing the determination result by the request success / failure determination means and the update information acquired by the update information acquisition means in association with the identification information given to the request;
Means for outputting the determination result by the request success / failure determination means to the request request source;
Consistency determining means for determining whether or not inconsistency occurs between a plurality of tables stored in the DBMS based on the storage content of the storage means;
When the determination result of a request to which certain identification information is given is a request unsuccessful and when some of the update information related to the identification information is stored, it is determined as inconsistent
The consistency determination means for determining that there is no inconsistency when the update information related to the identification information is not stored even if the determination result of the request to which certain identification information is given is a request unsuccessful; ,
And a means for notifying that the inconsistency is detected when it is determined by the consistency determining means that the inconsistency has occurred .
各更新処理が正常終了したときに、当該更新処理に関する更新情報が前記DBMSによって生成されることを特徴とする請求項1記載のシステム。 The update information acquired by the update information acquisition means is classified by the update process requested by the update means,
The system according to claim 1, wherein when each update process ends normally, update information related to the update process is generated by the DBMS.
リクエスト要求元からリクエストを受け付けると、前記リクエストに識別情報を付与するステップと、
前記DBMSに対して、前記リクエストに基づいて複数の更新処理を依頼するステップと、
前記リクエストに付与された識別情報と関連づけられた各更新処理の内容に関する更新情報を、前記DBMSから取得するステップと、
前記依頼したすべての更新処理に対する前記DBMSからの処理結果の通知に基づいて、前記依頼したすべての更新処理が正常終了したときはリクエスト成功と判定し、前記依頼した更新処理のいずれか一つ以上が正常終了でないときはリクエスト不成功と判定するステップと、
前記リクエストの成否の判定結果と前記取得した更新情報とを、前記リクエストに付与された識別情報で関連づけて記憶手段に記憶するステップと、
前記リクエストの成否の判定結果を、前記リクエスト要求元に対して出力するステップと、
前記記憶手段に、ある識別情報が付与されているリクエストの判定結果がリクエスト不成功と記憶されていて、かつ、当該識別情報に係る一部の前記更新情報が記憶されているときは、前記DBMSに格納された複数のテーブル間で不整合が生じていると判定し、ある識別情報が付与されているリクエストの判定結果がリクエスト不成功であっても、当該識別情報に係る前記更新情報が記憶されていないときは不整合ではないと判定するステップと、
前記判定により不整合が生じていると判定されると、当該不整合が検出されたことを通知するステップと、を有する方法。 A system using a DBMS (Database Management System) is a method for ensuring data consistency among a plurality of tables stored in the DBMS,
When receiving a request from the request request source, giving identification information to the request;
Requesting the DBMS to perform a plurality of update processes based on the request;
Obtaining update information about the contents of each update process associated with the identification information given to the request from the DBMS;
Based on the notification of the processing results from the DBMS for all the requested update processes, when all the requested update processes are normally completed, it is determined that the request is successful, and any one or more of the requested update processes. A step that determines that the request is unsuccessful when is not successful ,
Storing the determination result of success or failure of the request and the acquired update information in a storage unit in association with the identification information given to the request;
Outputting a determination result of success or failure of the request to the request request source;
When the determination result of a request to which certain identification information is given is stored in the storage means as a request unsuccessful and a part of the update information related to the identification information is stored, the DBMS Even if it is determined that there is a mismatch between the plurality of tables stored in the table, and the determination result of the request to which certain identification information is assigned is a request unsuccessful, the update information related to the identification information is stored. Determining that it is not inconsistent when not done,
And a step of notifying that the inconsistency is detected when it is determined by the determination that an inconsistency has occurred .
コンピュータに実行されると、
リクエスト要求元からリクエストを受け付けると、前記リクエストに識別情報を付与するステップと、
前記DBMSに対して、前記リクエストに基づいて複数の更新処理を依頼するステップと、
前記リクエストに付与された識別情報と関連づけられた各更新処理の内容に関する更新情報を、前記DBMSから取得するステップと、
前記依頼したすべての更新処理に対する前記DBMSからの処理結果の通知に基づいて、前記依頼したすべての更新処理が正常終了したときはリクエスト成功と判定し、前記依頼した更新処理のいずれか一つ以上が正常終了でないときはリクエスト不成功と判定するステップと、
前記リクエストの成否の判定結果と前記取得した更新情報とを、前記リクエストに付与された識別情報で関連づけて記憶手段に記憶するステップと、
前記リクエストの成否の判定結果を、前記リクエスト要求元に対して出力するステップと、
前記記憶手段に、ある識別情報が付与されているリクエストの判定結果がリクエスト不成功と記憶されていて、かつ、当該識別情報に係る一部の前記更新情報が記憶されているときは、前記DBMSに格納された複数のテーブル間で不整合が生じていると判定し、ある識別情報が付与されているリクエストの判定結果がリクエスト不成功であっても、当該識別情報に係る前記更新情報が記憶されていないときは不整合ではないと判定するステップと、
前記判定により不整合が生じていると判定されると、当該不整合が検出されたことを通知するステップと、が行われるコンピュータプログラム。 A computer program for ensuring the integrity of data stored in a DBMS (Database Management System),
When executed on a computer,
When receiving a request from the request request source, giving identification information to the request;
Requesting the DBMS to perform a plurality of update processes based on the request;
Obtaining update information about the contents of each update process associated with the identification information given to the request from the DBMS;
Based on the notification of the processing results from the DBMS for all the requested update processes, when all the requested update processes are normally completed, it is determined that the request is successful, and any one or more of the requested update processes. A step that determines that the request is unsuccessful when is not successful ,
Storing the determination result of success or failure of the request and the acquired update information in a storage unit in association with the identification information given to the request;
Outputting a determination result of success or failure of the request to the request request source;
When the determination result of a request to which certain identification information is given is stored in the storage means as a request unsuccessful and a part of the update information related to the identification information is stored, the DBMS Even if it is determined that there is a mismatch between the plurality of tables stored in the table, and the determination result of the request to which certain identification information is assigned is a request unsuccessful, the update information related to the identification information is stored. Determining that it is not inconsistent when not done,
And a step of notifying that the inconsistency is detected when it is determined by the determination that an inconsistency has occurred .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005076202A JP4628830B2 (en) | 2005-03-17 | 2005-03-17 | System for ensuring the integrity of data stored in DBMS |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005076202A JP4628830B2 (en) | 2005-03-17 | 2005-03-17 | System for ensuring the integrity of data stored in DBMS |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006260121A JP2006260121A (en) | 2006-09-28 |
JP4628830B2 true JP4628830B2 (en) | 2011-02-09 |
Family
ID=37099310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005076202A Expired - Fee Related JP4628830B2 (en) | 2005-03-17 | 2005-03-17 | System for ensuring the integrity of data stored in DBMS |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4628830B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6452560B2 (en) * | 2015-06-24 | 2019-01-16 | ソフラ株式会社 | Data processing system and data processing server of the system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0464146A (en) * | 1990-07-04 | 1992-02-28 | Hitachi Ltd | Optimizing system for commitment processing in distributed system |
JPH08235043A (en) * | 1995-02-28 | 1996-09-13 | N T T Data Tsushin Kk | Cooperative distributed system |
JP2000293416A (en) * | 1999-04-05 | 2000-10-20 | Casio Comput Co Ltd | Database processor and storage medium |
JP2005025432A (en) * | 2003-07-01 | 2005-01-27 | Fujitsu Ltd | Transaction processing method, transaction controller, and transaction control program |
-
2005
- 2005-03-17 JP JP2005076202A patent/JP4628830B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0464146A (en) * | 1990-07-04 | 1992-02-28 | Hitachi Ltd | Optimizing system for commitment processing in distributed system |
JPH08235043A (en) * | 1995-02-28 | 1996-09-13 | N T T Data Tsushin Kk | Cooperative distributed system |
JP2000293416A (en) * | 1999-04-05 | 2000-10-20 | Casio Comput Co Ltd | Database processor and storage medium |
JP2005025432A (en) * | 2003-07-01 | 2005-01-27 | Fujitsu Ltd | Transaction processing method, transaction controller, and transaction control program |
Also Published As
Publication number | Publication date |
---|---|
JP2006260121A (en) | 2006-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11288002B2 (en) | System and method for providing high availability data | |
KR102096249B1 (en) | Processing mutations for a remote database | |
US7953744B2 (en) | Database change verifier | |
US20150278324A1 (en) | Quarantine and repair of replicas in a quorum-based data storage system | |
US8244675B2 (en) | Method and apparatus for updating a database using table staging and queued relocation and deletion | |
US20080005189A1 (en) | Computer readable recording medium having stored therein database synchronizing process program, and apparatus for and method of performing database synchronizing process | |
EP2011045A1 (en) | Concurrency control within an enterprise resource planning system | |
CN107368513B (en) | Method and device for updating client database | |
CN112965936A (en) | Processing method, device, equipment and storage medium of heterogeneous distributed model | |
US9342540B2 (en) | Method and system for creating and maintaining unique data repository | |
US9766949B2 (en) | System and method for locking exclusive access to a divided resource | |
US8533702B2 (en) | Dynamically resolving fix groups for managing multiple releases of multiple products on multiple systems | |
US7146385B1 (en) | System and method for application-transparent synchronization with a persistent data store | |
US9015116B2 (en) | Consistent replication of transactional updates | |
JP4628830B2 (en) | System for ensuring the integrity of data stored in DBMS | |
US20110320409A1 (en) | Guaranteed in-flight sql insert operation support during an rac database failover | |
CN111127088B (en) | Method, device, computer equipment and storage medium for realizing final consistency | |
CN108959548B (en) | Service request processing method and device | |
CN110955460A (en) | Service process starting method and device, electronic equipment and storage medium | |
JP2006350411A (en) | Recovery method, recovery system and recovery program for distributed database | |
CN110765144B (en) | Distributed heterogeneous database data processing method and device | |
US8874539B2 (en) | Object identity and addressability | |
JP2006146589A (en) | Processing system and arbitration server | |
CN108958983B (en) | Data difference-based restoration method and device, storage medium and user equipment | |
US20240152491A1 (en) | Database metadata update validation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070919 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100616 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100629 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100827 |
|
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: 20101109 |
|
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: 20101110 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131119 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |