(57)【特許請求の範囲】
【請求項１】
複数個の要素ブロックに分けられる文字列をフィールド値とするカラムを連携キーとする第１のデータベースと通信を行うとともに、前記第１のデータベースの連携キーのカラムと対応関係にあるカラムであって複数個の要素ブロックに分けられる文字列をフィールド値とするカラムを連携キーとする第２のデータベースと通信を行う通信部と、
前記第１のデータベースに含まれる複数個のカラムと前記第２のデータベースに含まれる複数個のカラムとの間で対応関係にあるカラムの組をカラムペアとして示すカラムペア情報を記憶するカラムペア情報記憶部と、
各カラムペアに定義されている係数値の集合である係数値セットを文字列の要素ブロックに対応づける情報であって、要素ブロックごとに係数値セットの係数値のパターンが異なっている係数値情報を記憶する係数値情報記憶部と、
前記第２のデータベースの連携キーに含まれる所定の文字列を第２連携候補文字列として前記通信部を介して取得するとともに、取得した第２連携候補文字列と少なくともいずれかの要素ブロックにおいて内容が一致する文字列を前記第１のデータベースの連携キーから前記通信部を介して抽出する検索部と、
前記検索部により前記第２連携候補文字列と全ての要素ブロックにおいて内容が一致する文字列が抽出されずに前記第２連携候補文字列と一部の要素ブロックにおいて内容が一致する文字列が抽出された場合に、抽出された第１連携候補文字列と前記第２連携候補文字列とにおいて内容が一致している要素ブロックを一致要素ブロックとして特定し、特定した一致要素ブロックに対応づけられている係数値セットを前記係数値情報から取得する一致要素ブロック特定部と、
前記カラムペア情報に基づき、カラムペアごとに、前記第１連携候補文字列が含まれている第１連携候補レコード内のフィールド値と前記第２連携候補文字列が含まれている第２連携候補レコード内のフィールド値とを抽出し、抽出したフィールド値同士が一致するか否かを判定し、カラムペアごとの一致判定の判定結果と前記一致要素ブロック特定部により取得された係数値セットのカラムペアごとの係数値とに基づき、第１連携候補レコードと第２連携候補レコードとの類似度を判定して第１連携候補レコードのフィールド値を第２連携候補レコードに反映させるか否かを判定するレコード判定部とを有することを特徴とする情報処理装置。
【請求項２】
前記レコード判定部は、
フィールド値が一致していると判定したカラムペアの係数値を合算し、合算値により、第１連携候補レコードと第２連携候補レコードとの類似度を判定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記一致要素ブロック特定部は、
前記第２連携候補文字列と一部の要素ブロックにおいて内容が一致する文字列が複数抽出された場合に、抽出された第１連携候補文字列ごとに、一致要素ブロックを特定するとともに、特定した一致要素ブロックに対応づけられている係数値セットを前記係数値情報から取得し、
前記レコード判定部は、
第１連携候補文字列の各々に対して、カラムペアごとに、第１連携候補レコードのフィールド値が第２連携候補レコードのフィールド値と一致するか否かを判定し、フィールド値が一致していると判定したカラムペアの係数値を合算し、
合算値が最大となった第１連携候補レコードのフィールド値を第２連携候補レコードに反映させることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記レコード判定部は、
合算値が所定の閾値を上回る第１連携候補レコードが存在しない場合に、前記第２連携候補レコードを前記第２のデータベースから削除することを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記情報処理装置は、更に、
前記情報処理装置のユーザとのインタフェースとなるユーザインタフェース部を有し、
前記一致要素ブロック特定部は、
前記第２連携候補文字列と一部の要素ブロックにおいて内容が一致する文字列が複数抽出された場合に、抽出された第１連携候補文字列ごとに、一致要素ブロックを特定するとともに、特定した一致要素ブロックに対応づけられている係数値セットを前記係数値情報から取得し、
前記レコード判定部は、
第１連携候補文字列の各々に対して、カラムペアごとに、第１連携候補レコードのフィールド値が第２連携候補レコードのフィールド値と一致するか否かを判定し、フィールド値が一致していると判定したカラムペアの係数値を合算し、
所定レベル以上の合算値の第１連携候補レコードが２つ以上存在する場合に、当該２つ以上の第１連携候補レコードを前記ユーザインタフェース部を介して前記ユーザに出力し、前記ユーザによる第１連携候補レコードの指定を前記ユーザインタフェース部を介して入力し、
前記ユーザにより指定された第１連携候補レコードのフィールド値を第２連携候補レコードに反映させることを特徴とする請求項２に記載の情報処理装置。
【請求項６】
前記情報処理装置は、更に、
前記情報処理装置のユーザとのインタフェースとなるユーザインタフェース部を有し、
前記レコード判定部は、
合算値が所定の閾値を上回る第１連携候補レコードが存在しない場合に、前記第２連携候補レコードの削除の許否を前記ユーザインタフェース部を介して前記ユーザに問合せ、
前記ユーザにより前記第２連携候補レコードの削除が許可された場合に、前記第２連携候補レコードを前記第２のデータベースから削除することを特徴とする請求項２又は５に記載の情報処理装置。
【請求項７】
コンピュータが、複数個の要素ブロックに分けられる文字列をフィールド値とするカラムを連携キーとする第１のデータベースと通信を行うとともに、前記第１のデータベースの連携キーのカラムと対応関係にあるカラムであって複数個の要素ブロックに分けられる文字列をフィールド値とするカラムを連携キーとする第２のデータベースと通信を行う通信ステップと、
前記第１のデータベースに含まれる複数個のカラムと前記第２のデータベースに含まれる複数個のカラムとの間で対応関係にあるカラムの組をカラムペアとして示すカラムペア情報を記憶する記憶領域から、前記コンピュータがカラムペア情報を読み出すカラムペア情報読み出しステップと、
各カラムペアに定義されている係数値の集合である係数値セットを文字列の要素ブロックに対応づける情報であって、要素ブロックごとに係数値セットの係数値のパターンが異なっている係数値情報を記憶する記憶領域から、前記コンピュータが係数値情報を読み出す係数値情報読み出しステップと、
前記コンピュータが、前記第２のデータベースの連携キーに含まれる所定の文字列を第２連携候補文字列として前記通信ステップを介して取得するとともに、取得した第２連携候補文字列と少なくともいずれかの要素ブロックにおいて内容が一致する文字列を前記第１のデータベースの連携キーから前記通信ステップを介して抽出する検索ステップと、
前記コンピュータが、前記検索ステップにより前記第２連携候補文字列と全ての要素ブロックにおいて内容が一致する文字列が抽出されずに前記第２連携候補文字列と一部の要素ブロックにおいて内容が一致する文字列が抽出された場合に、抽出された第１連携候補文字列と前記第２連携候補文字列とにおいて内容が一致している要素ブロックを一致要素ブロックとして特定し、特定した一致要素ブロックに対応づけられている係数値セットを前記係数値情報から取得する一致要素ブロック特定ステップと、
前記コンピュータが、前記カラムペア情報に基づき、カラムペアごとに、前記第１連携候補文字列が含まれている第１連携候補レコード内のフィールド値と前記第２連携候補文字列が含まれている第２連携候補レコード内のフィールド値とを抽出し、抽出したフィールド値同士が一致するか否かを判定し、カラムペアごとの一致判定の判定結果と前記一致要素ブロック特定ステップにより取得された係数値セットのカラムペアごとの係数値とに基づき、第１連携候補レコードと第２連携候補レコードとの類似度を判定して第１連携候補レコードのフィールド値を第２連携候補レコードに反映させるか否かを判定するレコード判定ステップとを有することを特徴とする情報処理方法。
【請求項８】
複数個の要素ブロックに分けられる文字列をフィールド値とするカラムを連携キーとする第１のデータベースと通信を行うとともに、前記第１のデータベースの連携キーのカラムと対応関係にあるカラムであって複数個の要素ブロックに分けられる文字列をフィールド値とするカラムを連携キーとする第２のデータベースと通信を行う通信ステップと、
前記第１のデータベースに含まれる複数個のカラムと前記第２のデータベースに含まれる複数個のカラムとの間で対応関係にあるカラムの組をカラムペアとして示すカラムペア情報を記憶する記憶領域から、カラムペア情報を読み出すカラムペア情報読み出しステップと、
各カラムペアに定義されている係数値の集合である係数値セットを文字列の要素ブロックに対応づける情報であって、要素ブロックごとに係数値セットの係数値のパターンが異なっている係数値情報を記憶する記憶領域から、係数値情報を読み出す係数値情報読み出しステップと、
前記第２のデータベースの連携キーに含まれる所定の文字列を第２連携候補文字列として前記通信ステップを介して取得するとともに、取得した第２連携候補文字列と少なくともいずれかの要素ブロックにおいて内容が一致する文字列を前記第１のデータベースの連携キーから前記通信ステップを介して抽出する検索ステップと、
前記検索ステップにより前記第２連携候補文字列と全ての要素ブロックにおいて内容が一致する文字列が抽出されずに前記第２連携候補文字列と一部の要素ブロックにおいて内容が一致する文字列が抽出された場合に、抽出された第１連携候補文字列と前記第２連携候補文字列とにおいて内容が一致している要素ブロックを一致要素ブロックとして特定し、特定した一致要素ブロックに対応づけられている係数値セットを前記係数値情報から取得する一致要素ブロック特定ステップと、
前記カラムペア情報に基づき、カラムペアごとに、前記第１連携候補文字列が含まれている第１連携候補レコード内のフィールド値と前記第２連携候補文字列が含まれている第２連携候補レコード内のフィールド値とを抽出し、抽出したフィールド値同士が一致するか否かを判定し、カラムペアごとの一致判定の判定結果と前記一致要素ブロック特定ステップにより取得された係数値セットのカラムペアごとの係数値とに基づき、第１連携候補レコードと第２連携候補レコードとの類似度を判定して第１連携候補レコードのフィールド値を第２連携候補レコードに反映させるか否かを判定するレコード判定ステップとをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、連携元データベースの内容を連携先データベースに反映させるデータベース連携技術に関する。
【背景技術】
【０００２】
例えば、特許文献１に開示の従来のデータ連携方式は、２つのデータベースにおいて、それぞれの主キーを元にして２つのデータベースのテーブルの連携項目を決定するとともに、レコード間の連携を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−８６７８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来、異なるデータベース間でデータベース連携を行う場合、連携元のデータを特定するために連携キーを定めるが、連携元のテーブルの主キーを連携キーとする場合が一般的である。
この主キーは固有でありかつ、通常変更されることは少ない。
しかし、業務にて採番する番号などをデータベース設計時に主キーとしていた場合に、業務自体の変更や拡張などで番号が変更されることにより、付随してデータベースの主キーの値が変更される場合がある。
従来のデータ連携方式では、連携元のデータベースの主キー情報を連携キーとしてデータ連携を行っており、一方のデータベースの主キーが変更された場合には、データベースのレコード間の連携の関係が不明となり、連携が出来なくなるという課題がある。
【０００５】
この発明は、上記のような課題を解決することを主な目的の一つとしており、２つのデータベースの間でデータ連携を行う場合に、一方のデータベースにて連携キーに変更があった場合にも、一方のデータベースのデータを他方のデータベースに正確に反映させることを主な目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る情報処理装置は、
複数個の要素ブロックに分けられる文字列をフィールド値とするカラムを連携キーとする第１のデータベースと通信を行うとともに、前記第１のデータベースの連携キーのカラムと対応関係にあるカラムであって複数個の要素ブロックに分けられる文字列をフィールド値とするカラムを連携キーとする第２のデータベースと通信を行う通信部と、
前記第１のデータベースに含まれる複数個のカラムと前記第２のデータベースに含まれる複数個のカラムとの間で対応関係にあるカラムの組をカラムペアとして示すカラムペア情報を記憶するカラムペア情報記憶部と、
各カラムペアに定義されている係数値の集合である係数値セットを文字列の要素ブロックに対応づける情報であって、要素ブロックごとに係数値セットの係数値のパターンが異なっている係数値情報を記憶する係数値情報記憶部と、
前記第２のデータベースの連携キーに含まれる所定の文字列を第２連携候補文字列として前記通信部を介して取得するとともに、取得した第２連携候補文字列と少なくともいずれかの要素ブロックにおいて内容が一致する文字列を前記第１のデータベースの連携キーから前記通信部を介して抽出する検索部と、
前記検索部により前記第２連携候補文字列と全ての要素ブロックにおいて内容が一致する文字列が抽出されずに前記第２連携候補文字列と一部の要素ブロックにおいて内容が一致する文字列が抽出された場合に、抽出された第１連携候補文字列と前記第２連携候補文字列とにおいて内容が一致している要素ブロックを一致要素ブロックとして特定し、特定した一致要素ブロックに対応づけられている係数値セットを前記係数値情報から取得する一致要素ブロック特定部と、
前記カラムペア情報に基づき、カラムペアごとに、前記第１連携候補文字列が含まれている第１連携候補レコード内のフィールド値と前記第２連携候補文字列が含まれている第２連携候補レコード内のフィールド値とを抽出し、抽出したフィールド値同士が一致するか否かを判定し、カラムペアごとの一致判定の判定結果と前記一致要素ブロック特定部により取得された係数値セットのカラムペアごとの係数値とに基づき、第１連携候補レコードと第２連携候補レコードとの類似度を判定して第１連携候補レコードのフィールド値を第２連携候補レコードに反映させるか否かを判定するレコード判定部とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、第１のデータベースの連携キーにおいて、第２のデータベースの連携キー中の文字列と一部において一致する文字列が抽出された場合に、両文字列間で一致している要素ブロックに対応させて、第１のデータベースのレコードと第２のデータベースのレコードとの類似度を判定する。
これにより、第１のデータベースの連携キーにおいて部分的な変更があった場合にも、変更部分に対応させて第１のデータベースのレコードと第２のデータベースのレコードとの関係性を回復させることができ、第１のデータベースの内容を第２のデータベースに正確に反映させることができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係るデータ連携装置の構成例を示す図。
【図２】実施の形態１に係る対応表の例を示す図。
【図３】実施の形態１に係る連携元データベースの例を示す図。
【図４】実施の形態１に係る連携先データベースの例を示す図。
【図５】実施の形態１に係る管理番号体系の例を示す図。
【図６】実施の形態１に係るデータ連携装置の動作例を示すフローチャート図。
【図７】実施の形態２に係るデータ連携装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【０００９】
実施の形態１．
本実施の形態では、物件に設置された機器管理を行うシステムにおいて２つの異なるデータベース間で、データの連携を行うととともに、連携元のデータベースにて連携キーとなる項目が変更された場合に、もう一方のデータベースの連携のキーとなる項目との関連を回復させるデータ連携装置を説明する。
【００１０】
図１は、本実施の形態に係るデータ連携装置１００の構成図である。
データ連携装置１００は、連携元データベース１０と連携先データベース２０に接続されている。
データ連携装置１００は、情報処理装置の例である。
連携元データベース１０はデータ連携を行う際にデータを提供するデータベースである。
連携先データベース２０はデータ連携を行う際にデータが反映されるデータベースである。
連携元データベース１０は、第１のデータベースの例である。
連携先データベース２０は、第２のデータベースの例である。
なお、以下では、連携元データベース１０を連携元ＤＢ１０とも表記し、連携先データベース２０を連携先ＤＢ２０とも表記する。
【００１１】
図１において、データ連携装置１００は、通信部１０１、検索部１０２、比較部１０３、更新部１０４、記憶部１０５、入出力部１０６と、記憶部１０５に記憶された対応表１０８から構成される。
通信部１０１は、連携元データベース１０及び連携先データベース２０と通信を行う。
検索部１０２は、通信部１０１を介して連携元データベース１０及び連携先データベース２０からデータを検索し、比較部１０３に送る。
比較部１０３は、検索部１０２から送られてきたデータを照合する。
更新部１０４は、連携先データベース２０に対してデータの更新を行う。
記憶部１０５は対応表１０８を記憶する。
入出力部１０６はデータベース管理者（データ連携装置１００のユーザ）に対して操作画面を表示し、データベース管理者が選択した値を入力する。
データ連携装置１００の各要素の詳細は後述するが、比較部１０３は一致要素ブロック特定部及びレコード判定部の例であり、入出力部１０６はユーザインタフェース部の例である。
また、対応表１０８はカラムペア情報及び係数値情報の例であり、記憶部１０５はカラムペア情報記憶部及び係数値情報記憶部の例である。
【００１２】
図２は対応表１０８の内容であり、連携元ＤＢ１０と連携先ＤＢ２０のデータ連携を行うカラムについての対応を記したものである。
図３は連携元ＤＢ１０の内容である。
図４は連携先ＤＢ２０の内容である。
図５は管理番号２００の体系である。
管理番号２００は管理対象となる物件ごとに割り当てられており、数字１０桁からなる。
管理番号２００は、複数の要素ブロックに分けられる。
つまり、管理番号２００は、それぞれ上位から３桁（ＸＸＸ）が管理支店を表す管理支店番号２０１、続く４桁（ＹＹＹＹ）が顧客を表す顧客番号２０２、最後の３桁（ｚｚｚ）が顧客内での連番を示す顧客内連番２０３から構成されている。
連携元ＤＢ１０および連携先ＤＢ２０は連携キー５００（つまり、管理番号２００）によって連携しているが、管理支店番号２０１、顧客番号２０２、顧客内連番２０３はそれぞれ業務上の事由により付与された番号であり、業務において物件を管理する管理支店が分割、統合される場合や、物件の所有者変更、物件の増設、取り壊しなどが発生し、これに伴って、管理支店番号２０１、顧客番号２０２、顧客内連番２０３が変更・削除され同時に管理番号２００も変更・削除されるという性質を有する。
このように、連携元ＤＢ１０及び連携先ＤＢ２０は、複数個の要素ブロックに分けられる文字列をフィールド値とするカラム（管理番号２００）を連携キーとしており、また、連携キーに含まれる各文字列の要素ブロックの内容は業務の変更、拡張、縮小等により変換する性質を有する。
【００１３】
対応表１０８には、１行目のレコードと２行目のレコードに示されるように、連携元ＤＢ１０に含まれる複数個のカラムと連携先ＤＢ２０に含まれる複数個のカラムとの間で対応関係にあるカラムの組を示す情報が含まれる。
対応関係にあるカラムの組をカラムペアとも表記する。
対応表１０８の１行目のレコードと２行目のレコードの情報はカラムペア情報の例である。
また、対応表１０８は、３行目のレコードと４行目のレコードに示されるように、類似係数を示す情報が含まれる。
３行目のレコードは、連携元ＤＢ１０の管理番号２００と連携先ＤＢ２０の管理番号２００との間で上位３桁（ｘｘｘ）が一致する場合の係数値の集合を示す情報である。
４行目のレコードは、連携元ＤＢ１０の管理番号２００と連携先ＤＢ２０の管理番号２００との間で中位４桁（ＹＹＹＹ）が一致する場合の係数値の集合を示す情報である。
なお、カラムごとの類似係数の集合を係数値セットとも表記する。
３行目のレコードの係数値セットと４行目のレコードの係数値セットでは、カラムごとの類似係数のパターンが異なっている。
対応表１０８の３行目のレコードと４行目のレコードの情報は係数値情報の例である。
【００１４】
次に動作について説明する。
図６に、本実施の形態１に係るデータ連携装置１００が連携先ＤＢ２０の１レコードを処理する場合の動作例を示す。
【００１５】
まず、連携キー５００である管理番号２００が連携元ＤＢ１０と連携先ＤＢ２０で一致している場合のデータ連携装置１００の動作を示す。
【００１６】
まず、データ連携装置１００の検索部１０２が、通信部１０１を介して、連携先ＤＢ２０において管理番号２００カラム内で所定の文字列を検索し、検索された文字列のレコードを取得する（Ｓ６０１）。
次に、検索部１０２は、通信部１０１を介して、Ｓ６０１で検索した文字列に一致する文字列を連携元ＤＢ１０の管理番号２００カラム内で検索する（Ｓ６０２）。
検索の結果、完全に一致する（ＸＸＸＹＹＹＹＺＺＺの全桁において一致する）文字列が連携元ＤＢ１０の管理番号２００カラムで抽出された場合（Ｓ６０３でＹＥＳ）、そのレコード内の各カラムのフィールド値を更新部１０４において連携元ＤＢ１０から連携先ＤＢ２０にコピーする（Ｓ６０４）。
つまり、更新部１０４は、対応表１０８に記述された連携項目５０１〜５０６について連携元ＤＢ１０のフィールド値を連携先ＤＢ２０の対応するフィールドに反映させる。
【００１７】
次に、管理番号２００が変更されており、連携キー５００である管理番号２００が連携元ＤＢ１０と連携先ＤＢ２０で一致していない場合のデータ連携装置１００の動作を示す。
【００１８】
まず、データ連携装置１００の検索部１０２が、通信部１０１を介して連携先ＤＢ２０と通信し（通信ステップ）、連携先ＤＢ２０において管理番号２００カラム内で所定の文字列（第２連携候補文字列の例）を検索し、検索された文字列のレコードを取得する（Ｓ６０１）（検索ステップ）。
次に、検索部１０２は、通信部１０１を介して連携元ＤＢ１０と通信し（通信ステップ）、Ｓ６０１で検索した文字列に一致する文字列を連携元ＤＢ１０の管理番号２００カラム内で検索する（Ｓ６０２）（検索ステップ）。
検索の結果、完全に一致する（ＸＸＸＹＹＹＹＺＺＺの全桁において一致する）文字列が連携元ＤＢ１０の管理番号２００カラムで見つからなかった場合（Ｓ６０３でＮＯ）、検索部１０２は、連携元ＤＢ１０の全レコードに対して検索を行う（検索ステップ）。
つまり、検索部１０２は、連携元ＤＢ１０のレコードを順に取得する（Ｓ６０５）。
そして、検索の結果、連携元ＤＢ１０の管理番号２００カラム内でＳ６０１で検索した連携先ＤＢ２０内の文字列と一部の要素ブロックにおいて一致する文字列（第１の連携候補文字列の例）が抽出された場合は、一致した要素ブロック（一致要素ブロック）を特定するととともに、一致要素ブロックに対応する類似係数を取得する（一致要素ブロック特定ステップ）。
【００１９】
一致要素ブロックが管理番号２００のうちの管理支店番号２０１部分である場合（Ｓ６０６でＹＥＳ）は、比較部１０３は、対応表１０８から類似係数３０１（３行目のレコード）を読み出す（Ｓ６０７）（係数値情報読み出しステップ）。
管理支店番号２０１部分で一致している場合は、同じ管理支店内で物件の所有者の変更が発生した可能性が高い。
物件の所有者が変更された場合には住所や郵便番号に関する情報が変更される可能性は低いが、名称や連絡先電話番号に関連する情報は同時に変更されている可能性が高い。
このため、対応表１０８の類似係数３０１は、名称や電話番号に関する係数を低く設定しているため、これらが変更されていてもその影響は低くなる。
比較部１０３は、対応表１０８のうちの１行目と２行目を読み出す（カラムペア情報読み出しステップ）とともに、管理支店番号２０１部分が一致している連携元ＤＢ１０のレコード（第１連携候補レコードの例）とＳ６０１で連携先ＤＢ２０から取得したレコード（第２連携候補レコードの例）との間で、対応表１０８の１行目と２行目に記述された連携項目５０１〜５０６のカラムペアごとにフィールド値が一致するかどうかの比較を行い、フィールド値が一致したカラムペアの類似係数（類似係数３０１）を加算して類似度を算出する（Ｓ６０９）（レコード判定ステップ）。
【００２０】
一方で、管理番号２００のうちの管理支店番号２０１部分が一致せず、一致要素ブロックが顧客番号２０２部分である場合（Ｓ６０６でＮＯ）は、比較部１０３は、対応表１０８から類似係数３０２（４行目のレコード）を読み出す（Ｓ６０８）（係数値情報読み出しステップ）。
この場合は、物件の所有者は不変で、管理支店が変更された可能性が高い。このため、連携項目５０１〜５０６は変更されていない可能性が高い。
よって、類似係数３０２は、連携項目５０１〜５０６の係数値がすべて１．０となっている。
比較部１０３は、対応表１０８のうちの１行目と２行目を読み出す（カラムペア情報読み出しステップ）とともに、顧客番号２０２部分が一致している連携元ＤＢ１０のレコード（第１連携候補レコードの例）とＳ６０１で連携先ＤＢ２０から取得したレコード（第２連携候補レコードの例）との間で、対応表１０８の１行目と２行目に記述された連携項目５０１〜５０６のカラムペアごとにフィールド値が一致するかどうかの比較を行い、フィールド値が一致したカラムペアの類似係数（類似係数３０２）を加算して類似度を算出する（Ｓ６０９）（レコード判定ステップ）。
【００２１】
次に、比較部１０３は、Ｓ６０９で算出した類似度が所定の記憶領域に格納されている現在までの最大の類似度（以降、最大類似度と表記する）よりも大きいかどうかを判断する（Ｓ６１０）（レコード判定ステップ）。
Ｓ６０９で算出した類似度が最大類似度よりも大きい場合に、それまでの最大類似度をＳ６０９で算出した類似で書き換えて最大類似度を更新し、更に、新たな最大類似度が算出された連携元ＤＢ１０のレコードを所定の記憶領域に格納する（Ｓ６１１）（レコード判定ステップ）。
【００２２】
上記のＳ６０５〜Ｓ６１１の処理を連携元ＤＢ１０の全レコードに対して実施し、連携元ＤＢ１０の全レコードに対する処理が完了した際（Ｓ６１２でＹＥＳ）に、比較部１０３は、最大類似度が、予め定めておいた最少類似度の閾値を上回っているかどうかを判断する（Ｓ６１３）（レコード判定ステップ）。
最大類似度が閾値以下である場合（Ｓ６１３でＮＯ）は、連携先ＤＢ２０のレコードに対応する連携元ＤＢ１０のレコードが削除されたものとして、更新部１０４が、該当する連携先ＤＢ２０のレコード（図６のＳ６０１で取得されたレコード）を削除する（レコード判定ステップ）。
一方、最大類似度が閾値を上回っている場合（Ｓ６１３でＹＥＳ）は、更新部１０４が、Ｓ６１１で記憶領域に格納された連携元ＤＢ１０のレコードの連携キーの値（管理番号２００）で、連携先ＤＢ２０のレコード（図６のＳ６０１で取得されたレコード）の連携キーの値（管理番号２００）を更新する（Ｓ６１４）（レコード判定ステップ）。
更に、更新部１０４は、Ｓ６１１で記憶領域に格納された連携元ＤＢ１０のレコードの各カラムのフィールド値（対応表１０８に記述された連携項目５０１〜５０６のフィールド値）を連携先ＤＢ２０のレコード（図６のＳ６０１で取得されたレコード）にコピーする（Ｓ６０４）（レコード判定ステップ）。
【００２３】
このように本実施の形態によれば、連携キーの構成と業務内容の関連に基づいて類似度を算出するために、連携キーが変更された場合でも連携を回復させる精度を向上させることが出来るという効果がある。
【００２４】
以上、本実施の形態では、以下を備えるデータ連携装置を説明した。
連携元ＤＢと連携先ＤＢ間での１つの連携キーとそれ以外の連携項目の対応と複数の類似得点を記憶する対応表。
連携元ＤＢと連携先ＤＢからレコードを比較し、前記対応表の連携キーにて照合し、連携キーが一致したものに対応表の連携元ＤＢの連携項目に記述された項目を、連携先ＤＢの連携項目に変換する比較部。
上記比較部は連携元ＤＢと連携先ＤＢ間にて連携キーが存在しない場合に対応表の連携キー以外の連携項目を比較して一致する連携項目ごとに定めた類似係数を加算し類似度として、その類似度が最大になる連携元ＤＢレコードの連携キーを連携先ＤＢの新たな連携キーとする。
上記類似得点の内容は、連携キーの部分一致度によって連携表の中から決定される。
【００２５】
また、比較部において連携項目の比較を行い類似度を算出した結果、１つ以上の連携先データベースのレコードが一定のしきい値を下回る場合、連携元データベースにおいて連携していたレコードが削除されたとみなし、連携先データベースのレコードを削除することを説明した。
【００２６】
また、本実施の形態では、以下についても説明した。
対応表は、各カラムの類似係数のセットを連携キーの要素ごとに定義している。
検索部による検索の結果、連携元ＤＢの連携キーにおいて、連携先ＤＢの連携キー中の文字列と一部において一致する文字列が抽出された場合に、比較部は、両文字列において一致する要素に対応する類似係数のセットを対応表から抽出し、カラムごとに連携元ＤＢのレコードと連携先ＤＢのレコードとの一致判定を行い、一致したカラムに対して類似係数を適用して連携元ＤＢのレコードと連携先ＤＢのレコードとの類似度を判定し、類似度に基づき、連携元ＤＢの内容を連携先ＤＢに正確に反映させる。
このため、連携元ＤＢの連携キーにおいて部分的な変更があった場合にも、変更部分に対応させて連携元ＤＢのレコードと連携先ＤＢのレコードとの関係性を回復させることができ、連携元ＤＢの内容を連携先ＤＢに正確に反映させることができる。
【００２７】
実施の形態２．
実施の形態１の方式では、最大類似度のレコードのみを選択し（図６のＳ６１０、Ｓ６１１）、最大類似度のレコード内のフィールド値を連携先ＤＢ２０にコピーしている（Ｓ６１４）。
これに対して、本実施の形態では、一定レベル以上の類似度が算出された連携元ＤＢ１０のレコードを記憶しておき、一定レベル以上の類似度を持つ連携元ＤＢ１０のレコードが１つ以上存在した場合に、比較部１０３は対応する連携先ＤＢ２０のレコードと連携元ＤＢ１０のレコードを入出力部１０６に表示する。
データベース管理者はその入出力部１０６の表示を見て、どの連携元ＤＢ１０のレコードが連携先ＤＢ２０のレコードと対応するかを判断し、その結果を入出力部１０６に入力する。
比較部１０３はデータベース管理者が入力した内容に基づいて連携元ＤＢ１０の連携キーと連携先ＤＢ２０の連携キーの対応を決定する。
そして、更新部１０４は、比較部１０３により決定された連携元ＤＢ１０のレコードのフィールド値を、連携先ＤＢ２０にコピーする。
【００２８】
また、実施の形態１の方式では、算出した類似度が最小類似度の閾値以下である場合には、無条件に連携先ＤＢ２０のレコードを削除している（図６のＳ６１３、Ｓ６１５）。
これに対して、本実施の形態では、最小類似度の閾値以下の類似度を持つレコードしか存在しない場合に、比較部１０３は、対象となる連携先ＤＢ２０のレコード（図６のＳ６０１で取得されたレコード）を入出力部１０６に表示する。
データベース管理者はその表示を見て、どの連携先ＤＢ２０のレコードに対応する連携元ＤＢ１０のレコードが削除されたかを判断するとともに、その連携先ＤＢ２０のレコードを削除してよいかを判断し、判断結果を入出力部１０６に入力する。
更新部１０４は、データベース管理者が入力した内容に基づいて、連携先ＤＢ２０のレコードの削除又はその他の処理を行う。
【００２９】
このように本実施の形態によれば、類似性が同程度の連携元ＤＢ１０のレコードに対して連携先ＤＢ２０との対応を管理者に判断させることおよび類似性が低い連携先ＤＢ２０レコードの削除の可否を管理者に判断させることにより、より正確な連携を回復させることが可能となる。
【００３０】
以上、本実施の形態では、以下について説明した。
比較部において連携項目の比較を行った結果複数の連携元データベースのレコードが新たな連携キーの候補となりうる場合に、それらのレコードを表示する表示部を持つ。
管理者がそれらの候補から最適なものを連携キーとして選択し入力する入力部を持つ。
比較部は、管理者の入力によって連携元ＤＢレコードの連携キーを連携先ＤＢの新たな連携キーとする。
【００３１】
また、本実施の形態では、以下についても説明した。
比較部において連携項目の比較を行い類似度を算出した結果、１つ以上の連携先データベースのレコードが一定の閾値を下回る場合、連携元データベースにおいて連携していたレコードが削除されたとみなし、連携先データベースのレコードを削除候補となり得る場合に、それらのレコードを表示する表示部を持つ。
管理者がそれらの候補から削除されたレコードを選択し入力する入力部を持つ。
比較部は、管理者の入力によって連携先ＤＢが削除処理を行う。
【００３２】
最後に、実施の形態１及び２に示したデータ連携装置１００のハードウェア構成例について説明する。
図７は、実施の形態１及び２に示すデータ連携装置１００のハードウェア資源の一例を示す図である。
なお、図７の構成は、あくまでもデータ連携装置１００のハードウェア構成の一例を示すものであり、データ連携装置１００のハードウェア構成は図７に記載の構成に限らず、他の構成であってもよい。
【００３３】
図７において、データ連携装置１００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
実施の形態１及び２で説明した「記憶部１０５」は、ＲＡＭ９１４、磁気ディスク装置９２０等により実現される。
通信ボード９１５、キーボード９０２、マウス９０３、スキャナ装置９０７、ＦＤＤ９０４などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。
【００３４】
通信ボード９１５は、連携元ＤＢ１０及び連携先ＤＢ２０に接続されている。
また、通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）、ＳＡＮ（ストレージエリアネットワーク）などに接続されていてもよい。
【００３５】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１がオペレーティングシステム９２１、ウィンドウシステム９２２を利用しながら実行する。
【００３６】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるオペレーティングシステム９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。
【００３７】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
データ連携装置１００の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。
【００３８】
上記プログラム群９２３には、実施の形態１及び２の説明において「〜部」（「記憶部１０５」以外、以下同様）として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【００３９】
ファイル群９２４には、実施の形態１及び２の説明において、「〜の判断」、「〜の判定」、「〜の検索」、「〜の比較」、「〜の反映」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」、「〜の合算」、「〜の入力」、「〜の出力」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。
ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出される。
そして、読み出された情報やデータや信号値や変数値やパラメータは、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１及び２で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示す。
データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。
また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００４０】
また、実施の形態１及び２の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、実施の形態１及び２で説明したフローチャートに示すステップ、手順、処理により、本発明に係る情報処理方法を実現することができる。
また、「〜部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。
或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。
プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。
すなわち、プログラムは、実施の形態１及び２の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態１及び２の「〜部」の手順や方法をコンピュータに実行させるものである。
【００４１】
このように、実施の形態１及び２に示すデータ連携装置１００は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータである。
そして、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【００４２】
１０  連携元ＤＢ、２０  連携先ＤＢ、１００  データ連携装置、１０１  通信部、１０２  検索部、１０３  比較部、１０４  更新部、１０５  記憶部、１０６  入出力部、１０８  対応表。
【図１】
0005606303.tif 000002
【図２】
0005606303.tif 000003
【図３】
0005606303.tif 000004
【図４】
0005606303.tif 000005
【図５】
0005606303.tif 000006
【図６】
0005606303.tif 000007
【図７】
0005606303.tif 000008