(57)【要約】【課題】ソース・データベースに格納されているデータと、複製データベースにコピーされたデータとが一致しているか否かを、簡易的かつ短時間に判定すること。【解決手段】ソース・データベース１２と複製データベース１４を対象に、１件のデータ・レコードについて、データ項目毎にハッシュ値を計算し、計算が終わると、このデータ・レコードをメモリ１８から削除する。そして、次のデータ・レコードについても、データ項目毎にハッシュ値を計算し、計算が終わると、このデータ・レコードをメモリ１８から削除する。計算されたハッシュ値は、同じデータ項目毎に加算され、更新され、更新されたハッシュ値のみがメモリ１８に保持される。この処理が、最後のデータ・レコードまで繰り返され、両データベースについて得られた最終的なハッシュ値が比較される。【選択図】図１
2015203986.tif 000002
【特許請求の範囲】
【請求項１】
それぞれデータを有する複数のデータ項目からなるデータ・レコードを多数格納するソース・データベースに格納されているデータと、前記ソース・データベースに格納されているデータの複製を格納するための複製データベースに格納されているデータとが一致している否かを確認するためのシステムであって、
データ取得手段と、メモリと、ハッシュ計算手段と、比較手段とを備え、
前記データ取得手段は、前記ソース・データベースに格納されているデータ・レコードのうちの１件のデータ・レコードを、前記ソース・データベースから取得して前記メモリに格納する第１の処理を実行し、
前記ハッシュ計算手段は、前記メモリに格納されたデータ・レコードについて、このデータ・レコードの各データ項目に対応する各データに対して、予め定められたアルゴリズムを適用することによって得られるハッシュ値を求め、前記求められた各ハッシュ値を、それぞれ対応するデータ項目に関連付けて前記メモリに記憶させ、しかる後に、このデータ・レコードを前記メモリから削除する第２の処理を実行し、
前記データ取得手段は、前記ソース・データベースから、次の１件のデータ・レコードを取得して前記メモリに格納する第３の処理を実行し、
前記ハッシュ計算手段は、前記メモリに格納されたデータ・レコードについて、このデータ・レコードの各データ項目に対応する各データに対して、前記アルゴリズムを適用することによって得られる各ハッシュ値を求め、前記求められた各ハッシュ値を、それぞれ対応するデータ項目に関連付けて記憶されているそれぞれのハッシュ値に加えることによって、前記記憶されている各ハッシュ値を更新して前記メモリに記憶させ、しかる後に、このデータ・レコードを前記メモリから削除する第４の処理を実行し、
前記データ取得手段による第３の処理と、前記ハッシュ計算手段による第４の処理とを、前記ソース・データベースに格納されている最後のデータ・レコードまで実行することによって、前記ハッシュ計算手段が、前記ソース・データベースにおける前記各データ項目毎に、ハッシュ値の総和を取得する第５の処理を実行し、
前記データ取得手段と前記ハッシュ計算手段とが、前記第１乃至第５の処理を、前記ソース・データベースに代えて、前記複製データベースに対して実行することによって、前記複製データベースにおける各データ項目毎に、ハッシュ値の総和を取得する第６の処理を実行し、
前記比較手段は、前記第５の処理で取得された各ハッシュ値の総和と、前記第６の処理で取得された各ハッシュ値の総和とを、同じデータ項目毎に比較し、ハッシュ値の総和が一致しないデータ項目がある場合には、前記ソース・データベースに格納されているデータと、前記複製データベースに格納されているデータとが一致していないと判定し、ハッシュ値の総和が一致しないデータ項目がない場合には、前記ソース・データベースに格納されているデータと、前記複製データベースに格納されているデータとが一致していると判定する第７の処理を実行する、システム。
【請求項２】
それぞれデータを有する複数のデータ項目からなるデータ・レコードを多数格納するソース・データベースに格納されているデータと、前記ソース・データベースに格納されているデータの複製を格納するための複製データベースに格納されているデータとが一致している否かを確認するための方法であって、
前記ソース・データベースに格納されているデータ・レコードのうちの１件のデータ・レコードを、前記ソース・データベースから取得してメモリに格納する第１の処理と、
前記メモリに格納されたデータ・レコードについて、このデータ・レコードの各データ項目に対応する各データに対して、予め定められたアルゴリズムを適用することによって得られるハッシュ値を求め、前記求められた各ハッシュ値を、それぞれ対応するデータ項目に関連付けて前記メモリに記憶させ、しかる後に、このデータ・レコードを前記メモリから削除する第２の処理と、
前記ソース・データベースから、次の１件のデータ・レコードを取得して前記メモリに格納する第３の処理と、
前記メモリに格納されたデータ・レコードについて、このデータ・レコードの各データ項目に対応する各データに対して、前記アルゴリズムを適用することによって得られるハッシュ値を求め、前記求められた各ハッシュ値を、それぞれ対応するデータ項目に関連付けて記憶されているそれぞれのハッシュ値に加えることによって、前記記憶されている各ハッシュ値を更新して前記メモリに記憶させ、しかる後に、このデータ・レコードを前記メモリから削除する第４の処理と、
前記第３の処理と前記第４の処理とを、前記ソース・データベースに格納されている最後のデータ・レコードまで実行することによって、前記ソース・データベースにおける前記各データ項目毎に、ハッシュ値の総和を取得する第５の処理と、
前記第１乃至第５の処理を、前記ソース・データベースに代えて、前記複製データベースに対して実行することによって、前記複製データベースにおける各データ項目毎に、ハッシュ値の総和を取得する第６の処理と、
前記第５の処理で取得された各ハッシュ値の総和と、前記第６の処理で取得された各ハッシュ値の総和とを、同じデータ項目毎に比較し、ハッシュ値の総和が一致しないデータ項目がある場合には、前記ソース・データベースに格納されているデータと、前記複製データベースに格納されているデータとが一致していないと判定し、ハッシュ値の総和が一致しないデータ項目がない場合には、前記ソース・データベースに格納されているデータと、前記複製データベースに格納されているデータとが一致していると判定する第７の処理と
含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、データ一致確認方法に関し、さらに詳しくは、ソース・データベースに格納されているデータと、複製データベースに格納されているデータとが一致しているか否かを、高速かつ低コストで確認するための方法およびシステムに関する。
【背景技術】
【０００２】
データのバックアップのために、ソース・データベースと複製データベースとを備えてなるデータベース・システムが広く適用されている。
【０００３】
この種のデータベース・システムでは、ソース・データベースに格納されているデータが、定期的に、複製データベースにコピーされている。
【０００４】
最近では、例えば非特許文献１乃至３に示されるバルク・コピーのような、高速コピーのためのユーティリティも用意されており、これらによって、データのコピーは、より短時間で、かつ高い信頼性で実行されるようになった。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Microsoft Developer Network ホームページ、http://msdn.microsoft.com/ja-jp/library/7ek5da1a(v=vs.110).aspx
【非特許文献２】Oracle Data Provider for .NET開発者ガイド  ホームページ、http://docs.oracle.com/cd/E16635_01/win.111/e06104/OracleBulkCopyClass.htm
【非特許文献３】IBM DB2 Database for Linux, UNIX, and Windows インフォメーション・センター ホームページ、http://pic.dhe.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=%2Fcom.ibm.swg.im.dbclient.adonet.ref.doc%2Fdoc%2FDB2BulkCopyClass.html
【発明の概要】
【発明が解決しようとする課題】
【０００６】
このように、ソース・データベースから複製データベースへのデータのコピーがなされると、コピー終了後において、ソース・データベースに格納されているデータと、複製データベースにコピーされたデータとが一致していることを確認する必要がある。
【０００７】
一般に、この種の確認には、多大な時間を要する。当然ながら、データベースに格納されているデータの量が多くなればなるほど、それに要する時間も長くなる。したがって、このような場合には、データベースの本来の運用に支障をきたす恐れがある。
【０００８】
しかしながら、最近におけるコピー技術に進歩により、コピーの信頼性は向上しており、実際には、コピーは正しく行われ、コピー後において、ソース・データベースに格納されているデータと、複製データベースに格納されているデータとが一致している可能性は極めて高い。
【０００９】
以上を考慮すると、コピー後におけるデータ一致確認は、長時間をかけて詳細に行うよりも、簡易的でも良いから短時間に確認できるようにすることが望ましい。そして、とりあえず、データの不一致がないことを確認できれば、コピーが正しく実行されたものと判断することにより、データベースの本来の使用に、迅速に戻ることができる。
【００１０】
一方、データに不一致があると判定された場合には、周知のツールを用いて、どのデータに不一致があるのかを、多少時間がかかったとしても、詳細に発見すればよい。
【００１１】
本発明はこのような事情に鑑みてなされたものであり、ソース・データベースに格納されたデータ・レコードを複製データベースにコピーした場合、ソース・データベースに格納されているデータと、複製データベースにコピーされたデータとが一致しているか否かを、簡易的かつ短時間に判定することが可能な、データ一致確認方法およびシステムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の目的を達成するために、本発明では、以下のような手段を講じる。
【００１３】
すなわち、請求項１の発明は、それぞれデータを有する複数のデータ項目からなるデータ・レコードを多数格納するソース・データベースに格納されているデータと、ソース・データベースに格納されているデータの複製を格納するための複製データベースに格納されているデータとが一致している否かを確認するためのシステムである。
【００１４】
このシステムは、データ取得手段と、メモリと、ハッシュ計算手段と、比較手段とを備える。
【００１５】
データ取得手段は、ソース・データベースに格納されているデータ・レコードのうちの１件のデータ・レコードを、ソース・データベースから取得して前記メモリに格納する第１の処理を実行する。
【００１６】
ハッシュ計算手段は、メモリに格納されたデータ・レコードについて、このデータ・レコードの各データ項目に対応する各データに対して、予め定められたアルゴリズムを適用することによって得られるハッシュ値を求め、求められた各ハッシュ値を、それぞれ対応するデータ項目に関連付けて前記メモリに記憶させ、しかる後に、このデータ・レコードをメモリから削除する第２の処理を実行する。
【００１７】
データ取得手段は、ソース・データベースから、次の１件のデータ・レコードを取得してメモリに格納する第３の処理を実行する。
【００１８】
ハッシュ計算手段は、メモリに格納されたデータ・レコードについて、このデータ・レコードの各データ項目に対応する各データに対して、アルゴリズムを適用することによって得られる各ハッシュ値を求め、求められた各ハッシュ値を、それぞれ対応するデータ項目に関連付けて記憶されているそれぞれのハッシュ値に加えることによって、記憶されている各ハッシュ値を更新してメモリに記憶させ、しかる後に、このデータ・レコードをメモリから削除する第４の処理を実行する。
【００１９】
データ取得手段による第３の処理と、ハッシュ計算手段による第４の処理とを、ソース・データベースに格納されている最後のデータ・レコードまで実行することによって、ハッシュ計算手段が、ソース・データベースにおける前記各データ項目毎に、ハッシュ値の総和を取得する第５の処理を実行する。
【００２０】
データ取得手段とハッシュ計算手段とが、第１乃至第５の処理を、ソース・データベースに代えて、複製データベースに対して実行することによって、複製データベースにおける各データ項目毎に、ハッシュ値の総和を取得する第６の処理を実行する。
【００２１】
比較手段は、第５の処理で取得された各ハッシュ値の総和と、第６の処理で取得された各ハッシュ値の総和とを、同じデータ項目毎に比較し、ハッシュ値の総和が一致しないデータ項目がある場合には、ソース・データベースに格納されているデータと、複製データベースに格納されているデータとが一致していないと判定し、ハッシュ値の総和が一致しないデータ項目がない場合には、ソース・データベースに格納されているデータと、複製データベースに格納されているデータとが一致していると判定する第７の処理を実行する。
【００２２】
また、請求項２の発明は、請求項１のシステムに適用された方法である。
【発明の効果】
【００２３】
本発明に係るデータ一致化のための方法およびシステムによれば、ソース・データベースに格納されたデータ・レコードを複製データベースにコピーした場合、ソース・データベースに格納されているデータと、複製データベースにコピーされたデータとが一致しているか否かを、簡易的かつ短時間に判定することが可能となる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施形態に係るデータ一致確認方法が適用されたシステムの構成例を示す概念図である。
【図２】ソース・データベースに格納されているデータのデータ構造の一例を示す図である。
【図３】本発明の実施形態に係るデータ一致確認方法が適用されたシステムの動作例を示すフローチャートである。
【図４】図２に示すデータに対応するハッシュ値の例を示す図である。
【図５】本発明の別の実施形態に係るデータ一致確認方法が適用されたシステムの構成例を示す概念図である。
【発明を実施するための形態】
【００２５】
以下に、本発明を実施するための最良の形態について図面を参照しながら説明する。
【００２６】
図１は、本発明の実施形態に係るデータ一致確認方法が適用されたシステムの構成例を示す概念図である。
【００２７】
このシステム１０は、ソース・データベース１２と複製データベース１４との間でのデータの一致を確認するためのシステムであって、ソース・データベース１２と複製データベース１４の間に設けられ、データ取得部１６と、メモリ１８と、ハッシュ計算部２０と、比較部２２とを備えている。
【００２８】
なお、ソース・データベース１２とシステム１０との間、および／または、複製データベース１４とシステム１０との間は、例えばインターネットのような通信ネットワーク（図示せず）によって接続されていても良い。この場合、通信ネットワークは、イーサネット（登録商標）等のＬＡＮ、あるいは公衆回線や専用回線を介して複数のＬＡＮが接続されるＷＡＮ等からなる。ＬＡＮの場合には、必要に応じてルータを介した多数のサブネットから構成される。また、ＷＡＮの場合には、公衆回線に接続するためのファイアウォール等を適宜備えているが、ここではその図示及び詳細説明を省略する。
【００２９】
図２は、ソース・データベース１２に格納されているデータのデータ構造２４の一例を示す図である。すなわち、このデータ構造２４は、データ項目と、データ・レコードとの２次元で形成される。
【００３０】
図２では、データ項目として、（１）個人番号、（２）氏名、（３）住所が例示されている。もちろん、データ項目の数は、３つに限定されるものではなく、それより多い場合も少ない場合もありうる。また、データ項目の内容も、これらに限定されるものではない。また、データ・レコードとは、このような各データ項目に対応するデータからなる１セットに対して与えられる番号に相当する。
【００３１】
したがって、ソース・データベース１２は、おのおのデータ（例えば、図２に示すデータ・レコード１の場合、“０００１０”、「日本太郎」、「東京都港区虎ノ門１−２−３」）を有する複数のデータ項目（例えば、図２に示す例の場合、（１）個人番号、（２）氏名、（３）住所）からなるデータ・レコードを多数格納している。
【００３２】
また、複製データベース１４は、ソース・データベース１２に格納されているデータの複製を格納するためのデータベースであり、データは、ソース・データベース１２と同様に、図２に示すようなデータ構造２４で格納される。
【００３３】
このようなソース・データベース１２と複製データベース１４とにおいて、同じデータが格納されているか否かを判定するために、システム１０が実行する処理を、図３のフローチャートとともに以下の通り説明する。
【００３４】
まず、データ取得部１６が、ソース・データベース１２に格納されている１件のデータ・レコード（例えば、データ・レコード１）のデータを、ソース・データベース１２から取得してメモリ１８に格納する（ステップＳ１）。なお、データ取得部１６がソース・データベース１２から取得するデータ・レコードの順番は、任意であってよく、必ずしもデータ・レコード１を最初に取得する必要はない。
【００３５】
ステップＳ１に続いて、ハッシュ計算部２０が、ステップＳ１においてメモリ１８に格納されたデータ・レコード（例えば、データ・レコード１）の各データ項目（例えば、（１）個人番号、（２）氏名、（３）住所）に対応する各データ（例えば、“０００１０”、「日本太郎」、「東京都港区虎ノ門１−２−３」）に対して、予め定められたアルゴリズムを適用することによって、ハッシュ値をそれぞれ求める（ステップＳ２ａ）。このアルゴリズムは、ある数値（例えば、“００１０”）や、ある文字（例えば、「日」）に対して、予め定められた数値を、ハッシュ値として出力するようにしている。
【００３６】
このようなアルゴリズムを用いることによって、ハッシュ計算部２０は、データ・レコード（例えば、データ・レコード１）のデータ項目（１）個人番号のデータ（“０００１０”）、データ項目（２）氏名のデータ（「日本太郎」）、データ項目（３）住所のデータ（「東京都港区虎ノ門１−２−３」）のそれぞれについてハッシュ値を求める。
【００３７】
図４は、データ・レコード１のデータ項目（１）、（２）、（３）について求められたハッシュ値がそれぞれ“２３”，“１２１”，“３２３”であることを示している。データ・レコード１のデータ項目（２）のデータである「日本太郎」に対応するハッシュ値として、例として“１２１”が得られたことを示している。また、データ・レコード１のデータ項目（３）のデータである「東京都港区虎ノ門１−２−３」に対応するハッシュ値として、例として“３２３”が得られたことを示している。
【００３８】
ハッシュ計算部２０はさらに、このようにしてデータ・レコード（例えば、データ・レコード１）のデータ項目（１）、（２）、（３）のおのおのについて求めた各ハッシュ値を、それぞれ対応するデータ項目（１）、（２）、（３）に関連付けて、メモリ１８に記憶させる。そして、メモリ１８への記憶が完了すると、ハッシュ値の計算に供されたこのデータ・レコード（例えば、データ・レコード１）をメモリ１８から削除する（ステップ２ｂ）。
【００３９】
データ取得部１６は、ソース・データベース１２から、次の１件のデータ・レコード（例えば、データ・レコード２）のデータを取得してメモリ１８に格納する（ステップＳ３）。なお、前述したように、データ取得部１６がソース・データベース１２から取得するデータ・レコードの順番は、任意であってよく、例えば、必ずしもデータ・レコード１の次にデータ・レコード２を取得する必要はない。
【００４０】
ハッシュ計算部２０は次に、メモリ１８に格納されたこのデータ・レコード（例えば、データ・レコード２）の各データ項目（例えば、（１）個人番号、（２）氏名、（３）住所）に対応する各データ（例えば、“００２００”、「宇都宮花子」、「栃木県宇都宮市山田町１−２−３」）に対しても、前のデータ・レコード（例えば、データ・レコード１）に適用されたものと同じアルゴリズムを適用することによって、それぞれハッシュ値を求める（ステップ４ａ）。図４は、データ・レコード２の各データ項目（１）、（２）、（３）に対応するデータについて求められたハッシュ値が、それぞれ“３１”，“２２５”，“１９８”であることを示している。
【００４１】
ハッシュ計算部２０はさらに、データ・レコード２の各データ項目（１）、（２）、（３）について求められた各ハッシュ値（“３１”，“２２５”，“１９８”）を、それぞれ対応するデータ項目（１）、（２）、（３）に関連付けてメモリ１８に既に記憶されているハッシュ値（例えば、データ・レコード１のデータ項目（１）、（２）、（３）のハッシュ値）にそれぞれ加えることによって、メモリ１８に記憶されている各ハッシュ値を更新する。例えば、メモリ１８に、データ・レコード１のデータ項目（１）のハッシュ値として“２３”、データ項目（２）のハッシュ値として“１２１”、データ項目（３）のハッシュ値として“３２３”が記憶されており、今回、データ・レコード２のデータ項目（１）ハッシュ値として“３１”、データ項目（２）のハッシュ値として“２２５”、データ項目（３）のハッシュ値として“１９８”がそれぞれ計算されたのであれば、データ項目（１）のハッシュ値を、２３＋３１＝５４に更新し、データ項目（２）のハッシュ値を、１２１＋２２５＝３４６に更新し、データ項目（３）のハッシュ値を、３２３＋１９８＝５２１に更新して、メモリ１８に記憶させる。このようにしてハッシュ値が更新され、記憶されると、ハッシュ計算部２０は、ハッシュ計算が実施されたデータ・レコード（例えば、データ・レコード２）を、メモリ１８から削除する（ステップＳ４ｂ）。
【００４２】
データ取得部１６によるステップＳ３の処理と、ハッシュ計算部２０によるステップＳ４ａおよびステップＳ４ｂの処理とを、ソース・データベース１２に格納されている最後のデータ・レコードまで実行することによって、ハッシュ計算部２０は、ソース・データベース１２における各データ項目毎に、ハッシュ値の総和を取得する（ステップＳ５）。図４は、データ項目（１）のハッシュ値の総和が“５８４”であり、データ項目（２）のハッシュ値の総和が“２３２４”であり、データ項目（３）のハッシュ値の総和が“４３２”であることを示している。
【００４３】
このようなステップＳ１乃至ステップＳ５からなる処理を、複製データベース１４に対しても同様に実行することによって、複製データベース１４に格納されているすべてのデータに対しても同様に、各データ項目についてハッシュ値の総和を取得する。  本実施形態に係るシステム１０は、このようにして、図３のフローチャートに示すような処理を、ソース・データベース１２および複製データベース１４に対してそれぞれ実行することによって、ソース・データベース１２と複製データベース１４とのそれぞれについて、データ項目毎のハッシュ値の総和を取得する。なお、このような処理を、ソース・データベース１２に対して先に行っても、複製データベース１４に対して先に行っても、何れでも良い。また、図５に示すように、データ取得部１６と、メモリ１８と、ハッシュ計算部２０とを２系統設けることによって、このような処理を、両データベースに対して並行して行うようにしても良い。
【００４４】
このようにして、ソース・データベース１２と複製データベース１４とのそれぞれについて、各データ項目のハッシュ値の総和が取得されると、比較部２２が、ソース・データベース１２の各データ項目について取得された各ハッシュ値の総和と、複製データベース１４の各データ項目について取得された各ハッシュ値の総和とを、対応するデータ項目毎に比較する。すなわち、比較部２２は、データ項目（１）、データ項目（２）、およびデータ項目（３）毎にそれぞれ、ソース・データベース１２に格納されたデータに関して取得されたハッシュ値の総和と、複製データベース１４に格納されたデータに関して取得されたハッシュ値の総和とを比較する。そして、データ項目（１）、（２）、（３）のうちの何れかに、ハッシュ値の総和が一致しないデータ項目がある場合には、ソース・データベース１２に格納されているデータと、複製データベース１４に格納されているデータとの中に、一致していないデータがあると判定する。一方、ハッシュ値の総和が一致しないデータ項目がない場合、つまり、データ項目（１）、（２）、（３）のいずれについても、ソース・データベース１２に格納されたデータに関して取得されたハッシュ値の総和と、複製データベース１４に格納されたデータに関して取得されたハッシュ値の総和とが一致している場合、ソース・データベース１２に格納されているデータと、複製データベース１４に格納されているデータとがすべて一致していると判定する。これによって、ソース・データベース１２に格納されたデータが、複製データベース１４に正しくコピーされていることを確認することができる。
【００４５】
上述したように、本実施形態に係るデータ一致確認方法が適用されたシステム１０においては、ソース・データベース１２に格納されているデータと、複製データベース１４に格納されているデータとが一致しているか否かを、すべてのデータを突き合わせて確認する訳ではないので、短時間に判定することが可能となる。
【００４６】
また、このシステム１０では、１件のデータ・レコードに関し、データ項目毎に、データに対応するハッシュ値が計算される。そして、ハッシュ値の計算が終わると、このデータ・レコードのデータはメモリ１８から削除され、メモリ１８は、データ項目毎のハッシュ値のみを保持する。
【００４７】
そして、次のデータ・レコードについても、各データ項目毎にデータに対応するハッシュ値が計算され、ハッシュ値の計算が終わると、このデータ・レコードのデータがメモリ１８から削除される。そして、計算されたハッシュ値が、すでにメモリ１８に格納されているハッシュ値に、データ項目毎に加算され、更新され、更新されたハッシュ値のみがメモリ１８に保持される。このような処理が、最後のデータ・レコードまで繰り返される。
【００４８】
このように、本実施形態に係るデータ一致確認方法が適用されたシステム１０では、ハッシュ値の更新に供されたデータ・レコードは、メモリ１８から削除され、メモリ１８は、更新されたハッシュ値のみをデータ項目毎に保持する。よって、例えば、図２のように、３つのデータ項目からなるデータ・レコードがデータベースに格納されている場合、メモリ１８は、３つのハッシュ値しか保持しない。したがって、本システム１０では、メモリ１８の容量は低くてよく、データ・レコードの数がどんなに増えた場合であっても、データ項目数が変わらないのであれば、容量の増設は不要であるので、余分なコストの発生をもたらすことはない。
【００４９】
また、ソース・データベース１２に格納されているすべてのデータと、複製データベース１４に格納されているすべてのデータとを対象に一致が確認されるので、ソース・データベース１２からデータ取得部１６に取得されるデータ・レコードの順序も、複製データベース１４からデータ取得部１６に取得されるデータ・レコードの順序も、任意の順序で良く、また、両データベース間で順序が異なっていても、一致確認結果に影響を及ぼすことはない。
【００５０】
以上、本発明を実施するための最良の形態について、添付図面を参照しながら説明したが、本発明はかかる構成に限定されない。特許請求の範囲の発明された技術的思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の技術的範囲に属するものと了解される。
【産業上の利用可能性】
【００５１】
本発明に係るデータ一致確認方法およびシステムは、ソース・データベースと複製データベースとを備えてなる、例えば、自治体の住民データ管理のためのデータベース・システムや、金融機関、証券会社、保険会社等のデータベース・システムにも好適に適用される。
【符号の説明】
【００５２】
１０  システム
１２  ソース・データベース
１４  複製データベース
１６  データ取得部
１８  メモリ
２０  ハッシュ計算部
２２  比較部
２４  データ構造
【図１】
2015203986.tif 000003
【図２】
2015203986.tif 000004
【図３】
2015203986.tif 000005
【図４】
2015203986.tif 000006
【図５】
2015203986.tif 000007
【手続補正書】
【提出日】平成27年8月6日(2015.8.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
それぞれデータを有する複数のデータ項目からなるデータ・レコードを多数格納するソース・データベースに格納されているデータと、前記ソース・データベースに格納されているデータの複製を格納するための複製データベースに格納されているデータとが一致している否かを確認するためのシステムであって、
データ取得手段と、メモリと、ハッシュ計算手段と、比較手段とを備え、
前記データ取得手段は、前記ソース・データベースに格納されているデータ・レコードのうちの任意の１件のデータ・レコードを、前記ソース・データベースから取得して前記メモリに格納する第１の処理を実行し、
前記ハッシュ計算手段は、前記メモリに格納されたデータ・レコードについて、このデータ・レコードの各データ項目に対応する各データに対して、予め定められたアルゴリズムを適用することによって得られるハッシュ値を求め、前記求められた各ハッシュ値を、それぞれ対応するデータ項目に関連付けて前記メモリに記憶させ、しかる後に、前記メモリの使用量を低減するために、このデータ・レコードを前記メモリから削除する第２の処理を実行し、
前記データ取得手段は、前記ソース・データベースから、未取得の任意の１件のデータ・レコードを取得して前記メモリに格納する第３の処理を実行し、
前記ハッシュ計算手段は、前記メモリに格納されたデータ・レコードについて、このデータ・レコードの各データ項目に対応する各データに対して、前記アルゴリズムを適用することによって得られる各ハッシュ値を求め、前記求められた各ハッシュ値を、それぞれ対応するデータ項目に関連付けて記憶されているそれぞれのハッシュ値に加えることによって、前記記憶されている各ハッシュ値を更新するように、１つのデータ・レコードずつ加算方式でハッシュ値を更新して前記メモリに記憶させ、しかる後に、前記メモリの使用量を低減するために、このデータ・レコードを前記メモリから削除する第４の処理を実行し、
前記データ取得手段による第３の処理と、前記ハッシュ計算手段による第４の処理とを、前記ソース・データベースに格納されている最後のデータ・レコードまで実行することによって、前記ハッシュ計算手段が、前記ソース・データベースにおける前記各データ項目毎に、ハッシュ値の総和を取得する第５の処理を実行し、
前記データ取得手段と前記ハッシュ計算手段とが、前記第１乃至第５の処理を、前記ソース・データベースに代えて、前記複製データベースに対して実行することによって、前記複製データベースにおける各データ項目毎に、ハッシュ値の総和を取得する第６の処理を実行し、
前記比較手段は、前記第５の処理で取得された各ハッシュ値の総和と、前記第６の処理で取得された各ハッシュ値の総和とを、同じデータ項目毎に比較し、ハッシュ値の総和が一致しないデータ項目がある場合には、前記ソース・データベースに格納されているデータと、前記複製データベースに格納されているデータとが一致していないと判定し、ハッシュ値の総和が一致しないデータ項目がない場合には、前記ソース・データベースに格納されているデータと、前記複製データベースに格納されているデータとが一致していると判定する第７の処理を実行し、
前記データ取得手段による、前記ソース・データベースからのデータ・レコードの取得も、前記複製データベースからのデータ・レコードの取得も、それぞれ任意の順序で実施しながら、前記ソース・データベースに格納されているデータ・レコードと、前記複製データベースに格納されているデータ・レコードとの一致性の確認を可能にした、システム。
【請求項２】
それぞれデータを有する複数のデータ項目からなるデータ・レコードを多数格納するソース・データベースに格納されているデータと、前記ソース・データベースに格納されているデータの複製を格納するための複製データベースに格納されているデータとが一致している否かを確認するための方法であって、
前記ソース・データベースに格納されているデータ・レコードのうちの任意の１件のデータ・レコードを、前記ソース・データベースから取得してメモリに格納する第１の処理と、
前記メモリに格納されたデータ・レコードについて、このデータ・レコードの各データ項目に対応する各データに対して、予め定められたアルゴリズムを適用することによって得られるハッシュ値を求め、前記求められた各ハッシュ値を、それぞれ対応するデータ項目に関連付けて前記メモリに記憶させ、しかる後に、前記メモリの使用量を低減するために、このデータ・レコードを前記メモリから削除する第２の処理と、
前記ソース・データベースから、未取得の任意の１件のデータ・レコードを取得して前記メモリに格納する第３の処理と、
前記メモリに格納されたデータ・レコードについて、このデータ・レコードの各データ項目に対応する各データに対して、前記アルゴリズムを適用することによって得られるハッシュ値を求め、前記求められた各ハッシュ値を、それぞれ対応するデータ項目に関連付けて記憶されているそれぞれのハッシュ値に加えることによって、前記記憶されている各ハッシュ値を更新するように、１つのデータ・レコードずつ加算方式でハッシュ値を更新して前記メモリに記憶させ、しかる後に、前記メモリの使用量を低減するために、このデータ・レコードを前記メモリから削除する第４の処理と、
前記第３の処理と前記第４の処理とを、前記ソース・データベースに格納されている最後のデータ・レコードまで実行することによって、前記ソース・データベースにおける前記各データ項目毎に、ハッシュ値の総和を取得する第５の処理と、
前記第１乃至第５の処理を、前記ソース・データベースに代えて、前記複製データベースに対して実行することによって、前記複製データベースにおける各データ項目毎に、ハッシュ値の総和を取得する第６の処理と、
前記第５の処理で取得された各ハッシュ値の総和と、前記第６の処理で取得された各ハッシュ値の総和とを、同じデータ項目毎に比較し、ハッシュ値の総和が一致しないデータ項目がある場合には、前記ソース・データベースに格納されているデータと、前記複製データベースに格納されているデータとが一致していないと判定し、ハッシュ値の総和が一致しないデータ項目がない場合には、前記ソース・データベースに格納されているデータと、前記複製データベースに格納されているデータとが一致していると判定する第７の処理と
含み、
前記ソース・データベースからのデータ・レコードの取得も、前記複製データベースからのデータ・レコードの取得も、それぞれ任意の順序で実施しながら、前記ソース・データベースに格納されているデータ・レコードと、前記複製データベースに格納されているデータ・レコードとの一致性の確認を可能にした、方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
データ取得手段は、ソース・データベースに格納されているデータ・レコードのうちの任意の１件のデータ・レコードを、ソース・データベースから取得して前記メモリに格納する第１の処理を実行する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
ハッシュ計算手段は、メモリに格納されたデータ・レコードについて、このデータ・レコードの各データ項目に対応する各データに対して、予め定められたアルゴリズムを適用することによって得られるハッシュ値を求め、求められた各ハッシュ値を、それぞれ対応するデータ項目に関連付けて前記メモリに記憶させ、しかる後に、メモリの使用量を低減するために、このデータ・レコードをメモリから削除する第２の処理を実行する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
データ取得手段は、ソース・データベースから、未取得の任意の１件のデータ・レコードを取得してメモリに格納する第３の処理を実行する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
ハッシュ計算手段は、メモリに格納されたデータ・レコードについて、このデータ・レコードの各データ項目に対応する各データに対して、アルゴリズムを適用することによって得られる各ハッシュ値を求め、求められた各ハッシュ値を、それぞれ対応するデータ項目に関連付けて記憶されているそれぞれのハッシュ値に加えることによって、記憶されている各ハッシュ値を更新するように、１つのデータ・レコードずつ加算方式でハッシュ値を更新してメモリに記憶させ、しかる後に、メモリの使用量を低減するために、このデータ・レコードをメモリから削除する第４の処理を実行する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
比較手段は、第５の処理で取得された各ハッシュ値の総和と、第６の処理で取得された各ハッシュ値の総和とを、同じデータ項目毎に比較し、ハッシュ値の総和が一致しないデータ項目がある場合には、ソース・データベースに格納されているデータと、複製データベースに格納されているデータとが一致していないと判定し、ハッシュ値の総和が一致しないデータ項目がない場合には、ソース・データベースに格納されているデータと、複製データベースに格納されているデータとが一致していると判定する第７の処理を実行することによって、データ取得手段による、ソース・データベースからのデータ・レコードの取得も、複製データベースからのデータ・レコードの取得も、それぞれ任意の順序で実施しながら、ソース・データベースに格納されているデータ・レコードと、複製データベースに格納されているデータ・レコードとの一致性の確認を可能にしている。