説明

情報処理装置及び情報処理方法及びプログラム

【課題】2つのDBの間でデータ連携を行う場合に、一方のDBにて連携キーに変更があった場合にも、一方のDBのデータを他方のDBに正確に反映させる。
【解決手段】対応表108は、各カラムの類似係数のセットを連携キーの文字列の要素ごとに定義している。検索部102による検索の結果、連携元DB10の連携キーにおいて、連携先DB20の連携キー中の文字列と一部において一致する文字列が抽出された場合に、比較部103は、両文字列において一致する要素に対応する類似係数のセットを対応表108から抽出し、カラムごとに連携元DB10のレコードと連携先DB20のレコードとの一致判定を行い、一致したカラムに対して類似係数を適用して連携元DB10のレコードと連携先DB20のレコードとの類似度を判定し、類似度に基づき、連携元DB10の内容を連携先DB20に正確に反映させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、連携元データベースの内容を連携先データベースに反映させるデータベース連携技術に関する。
【背景技術】
【0002】
例えば、特許文献1に開示の従来のデータ連携方式は、2つのデータベースにおいて、それぞれの主キーを元にして2つのデータベースのテーブルの連携項目を決定するとともに、レコード間の連携を行っている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−86782号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来、異なるデータベース間でデータベース連携を行う場合、連携元のデータを特定するために連携キーを定めるが、連携元のテーブルの主キーを連携キーとする場合が一般的である。
この主キーは固有でありかつ、通常変更されることは少ない。
しかし、業務にて採番する番号などをデータベース設計時に主キーとしていた場合に、業務自体の変更や拡張などで番号が変更されることにより、付随してデータベースの主キーの値が変更される場合がある。
従来のデータ連携方式では、連携元のデータベースの主キー情報を連携キーとしてデータ連携を行っており、一方のデータベースの主キーが変更された場合には、データベースのレコード間の連携の関係が不明となり、連携が出来なくなるという課題がある。
【0005】
この発明は、上記のような課題を解決することを主な目的の一つとしており、2つのデータベースの間でデータ連携を行う場合に、一方のデータベースにて連携キーに変更があった場合にも、一方のデータベースのデータを他方のデータベースに正確に反映させることを主な目的とする。
【課題を解決するための手段】
【0006】
本発明に係る情報処理装置は、
複数個の要素ブロックに分けられる文字列をフィールド値とするカラムを連携キーとする第1のデータベースと通信を行うとともに、前記第1のデータベースの連携キーのカラムと対応関係にあるカラムであって複数個の要素ブロックに分けられる文字列をフィールド値とするカラムを連携キーとする第2のデータベースと通信を行う通信部と、
前記第1のデータベースに含まれる複数個のカラムと前記第2のデータベースに含まれる複数個のカラムとの間で対応関係にあるカラムの組をカラムペアとして示すカラムペア情報を記憶するカラムペア情報記憶部と、
各カラムペアに定義されている係数値の集合である係数値セットを文字列の要素ブロックに対応づける情報であって、要素ブロックごとに係数値セットの係数値のパターンが異なっている係数値情報を記憶する係数値情報記憶部と、
前記第2のデータベースの連携キーに含まれる所定の文字列を第2連携候補文字列として前記通信部を介して取得するとともに、取得した第2連携候補文字列と少なくともいずれかの要素ブロックにおいて内容が一致する文字列を前記第1のデータベースの連携キーから前記通信部を介して抽出する検索部と、
前記検索部により前記第2連携候補文字列と全ての要素ブロックにおいて内容が一致する文字列が抽出されずに前記第2連携候補文字列と一部の要素ブロックにおいて内容が一致する文字列が抽出された場合に、抽出された第1連携候補文字列と前記第2連携候補文字列とにおいて内容が一致している要素ブロックを一致要素ブロックとして特定し、特定した一致要素ブロックに対応づけられている係数値セットを前記係数値情報から取得する一致要素ブロック特定部と、
前記カラムペア情報に基づき、カラムペアごとに、前記第1連携候補文字列が含まれている第1連携候補レコード内のフィールド値と前記第2連携候補文字列が含まれている第2連携候補レコード内のフィールド値とを抽出し、抽出したフィールド値同士が一致するか否かを判定し、カラムペアごとの一致判定の判定結果と前記一致要素ブロック特定部により取得された係数値セットのカラムペアごとの係数値とに基づき、第1連携候補レコードと第2連携候補レコードとの類似度を判定して第1連携候補レコードのフィールド値を第2連携候補レコードに反映させるか否かを判定するレコード判定部とを有することを特徴とする。
【発明の効果】
【0007】
本発明によれば、第1のデータベースの連携キーにおいて、第2のデータベースの連携キー中の文字列と一部において一致する文字列が抽出された場合に、両文字列間で一致している要素ブロックに対応させて、第1のデータベースのレコードと第2のデータベースのレコードとの類似度を判定する。
これにより、第1のデータベースの連携キーにおいて部分的な変更があった場合にも、変更部分に対応させて第1のデータベースのレコードと第2のデータベースのレコードとの関係性を回復させることができ、第1のデータベースの内容を第2のデータベースに正確に反映させることができる。
【図面の簡単な説明】
【0008】
【図1】実施の形態1に係るデータ連携装置の構成例を示す図。
【図2】実施の形態1に係る対応表の例を示す図。
【図3】実施の形態1に係る連携元データベースの例を示す図。
【図4】実施の形態1に係る連携先データベースの例を示す図。
【図5】実施の形態1に係る管理番号体系の例を示す図。
【図6】実施の形態1に係るデータ連携装置の動作例を示すフローチャート図。
【図7】実施の形態2に係るデータ連携装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【0009】
実施の形態1.
本実施の形態では、物件に設置された機器管理を行うシステムにおいて2つの異なるデータベース間で、データの連携を行うととともに、連携元のデータベースにて連携キーとなる項目が変更された場合に、もう一方のデータベースの連携のキーとなる項目との関連を回復させるデータ連携装置を説明する。
【0010】
図1は、本実施の形態に係るデータ連携装置100の構成図である。
データ連携装置100は、連携元データベース10と連携先データベース20に接続されている。
データ連携装置100は、情報処理装置の例である。
連携元データベース10はデータ連携を行う際にデータを提供するデータベースである。
連携先データベース20はデータ連携を行う際にデータが反映されるデータベースである。
連携元データベース10は、第1のデータベースの例である。
連携先データベース20は、第2のデータベースの例である。
なお、以下では、連携元データベース10を連携元DB10とも表記し、連携先データベース20を連携先DB20とも表記する。
【0011】
図1において、データ連携装置100は、通信部101、検索部102、比較部103、更新部104、記憶部105、入出力部106と、記憶部105に記憶された対応表108から構成される。
通信部101は、連携元データベース10及び連携先データベース20と通信を行う。
検索部102は、通信部101を介して連携元データベース10及び連携先データベース20からデータを検索し、比較部103に送る。
比較部103は、検索部102から送られてきたデータを照合する。
更新部104は、連携先データベース20に対してデータの更新を行う。
記憶部105は対応表108を記憶する。
入出力部106はデータベース管理者(データ連携装置100のユーザ)に対して操作画面を表示し、データベース管理者が選択した値を入力する。
データ連携装置100の各要素の詳細は後述するが、比較部103は一致要素ブロック特定部及びレコード判定部の例であり、入出力部106はユーザインタフェース部の例である。
また、対応表108はカラムペア情報及び係数値情報の例であり、記憶部105はカラムペア情報記憶部及び係数値情報記憶部の例である。
【0012】
図2は対応表108の内容であり、連携元DB10と連携先DB20のデータ連携を行うカラムについての対応を記したものである。
図3は連携元DB10の内容である。
図4は連携先DB20の内容である。
図5は管理番号200の体系である。
管理番号200は管理対象となる物件ごとに割り当てられており、数字10桁からなる。
管理番号200は、複数の要素ブロックに分けられる。
つまり、管理番号200は、それぞれ上位から3桁(XXX)が管理支店を表す管理支店番号201、続く4桁(YYYY)が顧客を表す顧客番号202、最後の3桁(zzz)が顧客内での連番を示す顧客内連番203から構成されている。
連携元DB10および連携先DB20は連携キー500(つまり、管理番号200)によって連携しているが、管理支店番号201、顧客番号202、顧客内連番203はそれぞれ業務上の事由により付与された番号であり、業務において物件を管理する管理支店が分割、統合される場合や、物件の所有者変更、物件の増設、取り壊しなどが発生し、これに伴って、管理支店番号201、顧客番号202、顧客内連番203が変更・削除され同時に管理番号200も変更・削除されるという性質を有する。
このように、連携元DB10及び連携先DB20は、複数個の要素ブロックに分けられる文字列をフィールド値とするカラム(管理番号200)を連携キーとしており、また、連携キーに含まれる各文字列の要素ブロックの内容は業務の変更、拡張、縮小等により変換する性質を有する。
【0013】
対応表108には、1行目のレコードと2行目のレコードに示されるように、連携元DB10に含まれる複数個のカラムと連携先DB20に含まれる複数個のカラムとの間で対応関係にあるカラムの組を示す情報が含まれる。
対応関係にあるカラムの組をカラムペアとも表記する。
対応表108の1行目のレコードと2行目のレコードの情報はカラムペア情報の例である。
また、対応表108は、3行目のレコードと4行目のレコードに示されるように、類似係数を示す情報が含まれる。
3行目のレコードは、連携元DB10の管理番号200と連携先DB20の管理番号200との間で上位3桁(xxx)が一致する場合の係数値の集合を示す情報である。
4行目のレコードは、連携元DB10の管理番号200と連携先DB20の管理番号200との間で中位4桁(YYYY)が一致する場合の係数値の集合を示す情報である。
なお、カラムごとの類似係数の集合を係数値セットとも表記する。
3行目のレコードの係数値セットと4行目のレコードの係数値セットでは、カラムごとの類似係数のパターンが異なっている。
対応表108の3行目のレコードと4行目のレコードの情報は係数値情報の例である。
【0014】
次に動作について説明する。
図6に、本実施の形態1に係るデータ連携装置100が連携先DB20の1レコードを処理する場合の動作例を示す。
【0015】
まず、連携キー500である管理番号200が連携元DB10と連携先DB20で一致している場合のデータ連携装置100の動作を示す。
【0016】
まず、データ連携装置100の検索部102が、通信部101を介して、連携先DB20において管理番号200カラム内で所定の文字列を検索し、検索された文字列のレコードを取得する(S601)。
次に、検索部102は、通信部101を介して、S601で検索した文字列に一致する文字列を連携元DB10の管理番号200カラム内で検索する(S602)。
検索の結果、完全に一致する(XXXYYYYZZZの全桁において一致する)文字列が連携元DB10の管理番号200カラムで抽出された場合(S603でYES)、そのレコード内の各カラムのフィールド値を更新部104において連携元DB10から連携先DB20にコピーする(S604)。
つまり、更新部104は、対応表108に記述された連携項目501〜506について連携元DB10のフィールド値を連携先DB20の対応するフィールドに反映させる。
【0017】
次に、管理番号200が変更されており、連携キー500である管理番号200が連携元DB10と連携先DB20で一致していない場合のデータ連携装置100の動作を示す。
【0018】
まず、データ連携装置100の検索部102が、通信部101を介して連携先DB20と通信し(通信ステップ)、連携先DB20において管理番号200カラム内で所定の文字列(第2連携候補文字列の例)を検索し、検索された文字列のレコードを取得する(S601)(検索ステップ)。
次に、検索部102は、通信部101を介して連携元DB10と通信し(通信ステップ)、S601で検索した文字列に一致する文字列を連携元DB10の管理番号200カラム内で検索する(S602)(検索ステップ)。
検索の結果、完全に一致する(XXXYYYYZZZの全桁において一致する)文字列が連携元DB10の管理番号200カラムで見つからなかった場合(S603でNO)、検索部102は、連携元DB10の全レコードに対して検索を行う(検索ステップ)。
つまり、検索部102は、連携元DB10のレコードを順に取得する(S605)。
そして、検索の結果、連携元DB10の管理番号200カラム内でS601で検索した連携先DB20内の文字列と一部の要素ブロックにおいて一致する文字列(第1の連携候補文字列の例)が抽出された場合は、一致した要素ブロック(一致要素ブロック)を特定するととともに、一致要素ブロックに対応する類似係数を取得する(一致要素ブロック特定ステップ)。
【0019】
一致要素ブロックが管理番号200のうちの管理支店番号201部分である場合(S606でYES)は、比較部103は、対応表108から類似係数301(3行目のレコード)を読み出す(S607)(係数値情報読み出しステップ)。
管理支店番号201部分で一致している場合は、同じ管理支店内で物件の所有者の変更が発生した可能性が高い。
物件の所有者が変更された場合には住所や郵便番号に関する情報が変更される可能性は低いが、名称や連絡先電話番号に関連する情報は同時に変更されている可能性が高い。
このため、対応表108の類似係数301は、名称や電話番号に関する係数を低く設定しているため、これらが変更されていてもその影響は低くなる。
比較部103は、対応表108のうちの1行目と2行目を読み出す(カラムペア情報読み出しステップ)とともに、管理支店番号201部分が一致している連携元DB10のレコード(第1連携候補レコードの例)とS601で連携先DB20から取得したレコード(第2連携候補レコードの例)との間で、対応表108の1行目と2行目に記述された連携項目501〜506のカラムペアごとにフィールド値が一致するかどうかの比較を行い、フィールド値が一致したカラムペアの類似係数(類似係数301)を加算して類似度を算出する(S609)(レコード判定ステップ)。
【0020】
一方で、管理番号200のうちの管理支店番号201部分が一致せず、一致要素ブロックが顧客番号202部分である場合(S606でNO)は、比較部103は、対応表108から類似係数302(4行目のレコード)を読み出す(S608)(係数値情報読み出しステップ)。
この場合は、物件の所有者は不変で、管理支店が変更された可能性が高い。このため、連携項目501〜506は変更されていない可能性が高い。
よって、類似係数302は、連携項目501〜506の係数値がすべて1.0となっている。
比較部103は、対応表108のうちの1行目と2行目を読み出す(カラムペア情報読み出しステップ)とともに、顧客番号202部分が一致している連携元DB10のレコード(第1連携候補レコードの例)とS601で連携先DB20から取得したレコード(第2連携候補レコードの例)との間で、対応表108の1行目と2行目に記述された連携項目501〜506のカラムペアごとにフィールド値が一致するかどうかの比較を行い、フィールド値が一致したカラムペアの類似係数(類似係数302)を加算して類似度を算出する(S609)(レコード判定ステップ)。
【0021】
次に、比較部103は、S609で算出した類似度が所定の記憶領域に格納されている現在までの最大の類似度(以降、最大類似度と表記する)よりも大きいかどうかを判断する(S610)(レコード判定ステップ)。
S609で算出した類似度が最大類似度よりも大きい場合に、それまでの最大類似度をS609で算出した類似で書き換えて最大類似度を更新し、更に、新たな最大類似度が算出された連携元DB10のレコードを所定の記憶領域に格納する(S611)(レコード判定ステップ)。
【0022】
上記のS605〜S611の処理を連携元DB10の全レコードに対して実施し、連携元DB10の全レコードに対する処理が完了した際(S612でYES)に、比較部103は、最大類似度が、予め定めておいた最少類似度の閾値を上回っているかどうかを判断する(S613)(レコード判定ステップ)。
最大類似度が閾値以下である場合(S613でNO)は、連携先DB20のレコードに対応する連携元DB10のレコードが削除されたものとして、更新部104が、該当する連携先DB20のレコード(図6のS601で取得されたレコード)を削除する(レコード判定ステップ)。
一方、最大類似度が閾値を上回っている場合(S613でYES)は、更新部104が、S611で記憶領域に格納された連携元DB10のレコードの連携キーの値(管理番号200)で、連携先DB20のレコード(図6のS601で取得されたレコード)の連携キーの値(管理番号200)を更新する(S614)(レコード判定ステップ)。
更に、更新部104は、S611で記憶領域に格納された連携元DB10のレコードの各カラムのフィールド値(対応表108に記述された連携項目501〜506のフィールド値)を連携先DB20のレコード(図6のS601で取得されたレコード)にコピーする(S604)(レコード判定ステップ)。
【0023】
このように本実施の形態によれば、連携キーの構成と業務内容の関連に基づいて類似度を算出するために、連携キーが変更された場合でも連携を回復させる精度を向上させることが出来るという効果がある。
【0024】
以上、本実施の形態では、以下を備えるデータ連携装置を説明した。
連携元DBと連携先DB間での1つの連携キーとそれ以外の連携項目の対応と複数の類似得点を記憶する対応表。
連携元DBと連携先DBからレコードを比較し、前記対応表の連携キーにて照合し、連携キーが一致したものに対応表の連携元DBの連携項目に記述された項目を、連携先DBの連携項目に変換する比較部。
上記比較部は連携元DBと連携先DB間にて連携キーが存在しない場合に対応表の連携キー以外の連携項目を比較して一致する連携項目ごとに定めた類似係数を加算し類似度として、その類似度が最大になる連携元DBレコードの連携キーを連携先DBの新たな連携キーとする。
上記類似得点の内容は、連携キーの部分一致度によって連携表の中から決定される。
【0025】
また、比較部において連携項目の比較を行い類似度を算出した結果、1つ以上の連携先データベースのレコードが一定のしきい値を下回る場合、連携元データベースにおいて連携していたレコードが削除されたとみなし、連携先データベースのレコードを削除することを説明した。
【0026】
また、本実施の形態では、以下についても説明した。
対応表は、各カラムの類似係数のセットを連携キーの要素ごとに定義している。
検索部による検索の結果、連携元DBの連携キーにおいて、連携先DBの連携キー中の文字列と一部において一致する文字列が抽出された場合に、比較部は、両文字列において一致する要素に対応する類似係数のセットを対応表から抽出し、カラムごとに連携元DBのレコードと連携先DBのレコードとの一致判定を行い、一致したカラムに対して類似係数を適用して連携元DBのレコードと連携先DBのレコードとの類似度を判定し、類似度に基づき、連携元DBの内容を連携先DBに正確に反映させる。
このため、連携元DBの連携キーにおいて部分的な変更があった場合にも、変更部分に対応させて連携元DBのレコードと連携先DBのレコードとの関係性を回復させることができ、連携元DBの内容を連携先DBに正確に反映させることができる。
【0027】
実施の形態2.
実施の形態1の方式では、最大類似度のレコードのみを選択し(図6のS610、S611)、最大類似度のレコード内のフィールド値を連携先DB20にコピーしている(S614)。
これに対して、本実施の形態では、一定レベル以上の類似度が算出された連携元DB10のレコードを記憶しておき、一定レベル以上の類似度を持つ連携元DB10のレコードが1つ以上存在した場合に、比較部103は対応する連携先DB20のレコードと連携元DB10のレコードを入出力部106に表示する。
データベース管理者はその入出力部106の表示を見て、どの連携元DB10のレコードが連携先DB20のレコードと対応するかを判断し、その結果を入出力部106に入力する。
比較部103はデータベース管理者が入力した内容に基づいて連携元DB10の連携キーと連携先DB20の連携キーの対応を決定する。
そして、更新部104は、比較部103により決定された連携元DB10のレコードのフィールド値を、連携先DB20にコピーする。
【0028】
また、実施の形態1の方式では、算出した類似度が最小類似度の閾値以下である場合には、無条件に連携先DB20のレコードを削除している(図6のS613、S615)。
これに対して、本実施の形態では、最小類似度の閾値以下の類似度を持つレコードしか存在しない場合に、比較部103は、対象となる連携先DB20のレコード(図6のS601で取得されたレコード)を入出力部106に表示する。
データベース管理者はその表示を見て、どの連携先DB20のレコードに対応する連携元DB10のレコードが削除されたかを判断するとともに、その連携先DB20のレコードを削除してよいかを判断し、判断結果を入出力部106に入力する。
更新部104は、データベース管理者が入力した内容に基づいて、連携先DB20のレコードの削除又はその他の処理を行う。
【0029】
このように本実施の形態によれば、類似性が同程度の連携元DB10のレコードに対して連携先DB20との対応を管理者に判断させることおよび類似性が低い連携先DB20レコードの削除の可否を管理者に判断させることにより、より正確な連携を回復させることが可能となる。
【0030】
以上、本実施の形態では、以下について説明した。
比較部において連携項目の比較を行った結果複数の連携元データベースのレコードが新たな連携キーの候補となりうる場合に、それらのレコードを表示する表示部を持つ。
管理者がそれらの候補から最適なものを連携キーとして選択し入力する入力部を持つ。
比較部は、管理者の入力によって連携元DBレコードの連携キーを連携先DBの新たな連携キーとする。
【0031】
また、本実施の形態では、以下についても説明した。
比較部において連携項目の比較を行い類似度を算出した結果、1つ以上の連携先データベースのレコードが一定の閾値を下回る場合、連携元データベースにおいて連携していたレコードが削除されたとみなし、連携先データベースのレコードを削除候補となり得る場合に、それらのレコードを表示する表示部を持つ。
管理者がそれらの候補から削除されたレコードを選択し入力する入力部を持つ。
比較部は、管理者の入力によって連携先DBが削除処理を行う。
【0032】
最後に、実施の形態1及び2に示したデータ連携装置100のハードウェア構成例について説明する。
図7は、実施の形態1及び2に示すデータ連携装置100のハードウェア資源の一例を示す図である。
なお、図7の構成は、あくまでもデータ連携装置100のハードウェア構成の一例を示すものであり、データ連携装置100のハードウェア構成は図7に記載の構成に限らず、他の構成であってもよい。
【0033】
図7において、データ連携装置100は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、SSD(Solid State Drive)、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
実施の形態1及び2で説明した「記憶部105」は、RAM914、磁気ディスク装置920等により実現される。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
【0034】
通信ボード915は、連携元DB10及び連携先DB20に接続されている。
また、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)、SAN(ストレージエリアネットワーク)などに接続されていてもよい。
【0035】
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
【0036】
また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
【0037】
また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
データ連携装置100の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
【0038】
上記プログラム群923には、実施の形態1及び2の説明において「〜部」(「記憶部105」以外、以下同様)として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
【0039】
ファイル群924には、実施の形態1及び2の説明において、「〜の判断」、「〜の判定」、「〜の検索」、「〜の比較」、「〜の反映」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」、「〜の合算」、「〜の入力」、「〜の出力」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。
ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出される。
そして、読み出された情報やデータや信号値や変数値やパラメータは、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1及び2で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示す。
データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。
また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0040】
また、実施の形態1及び2の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、実施の形態1及び2で説明したフローチャートに示すステップ、手順、処理により、本発明に係る情報処理方法を実現することができる。
また、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。
或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。
プログラムはCPU911により読み出され、CPU911により実行される。
すなわち、プログラムは、実施の形態1及び2の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1及び2の「〜部」の手順や方法をコンピュータに実行させるものである。
【0041】
このように、実施の形態1及び2に示すデータ連携装置100は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータである。
そして、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【0042】
10 連携元DB、20 連携先DB、100 データ連携装置、101 通信部、102 検索部、103 比較部、104 更新部、105 記憶部、106 入出力部、108 対応表。

【特許請求の範囲】
【請求項1】
複数個の要素ブロックに分けられる文字列をフィールド値とするカラムを連携キーとする第1のデータベースと通信を行うとともに、前記第1のデータベースの連携キーのカラムと対応関係にあるカラムであって複数個の要素ブロックに分けられる文字列をフィールド値とするカラムを連携キーとする第2のデータベースと通信を行う通信部と、
前記第1のデータベースに含まれる複数個のカラムと前記第2のデータベースに含まれる複数個のカラムとの間で対応関係にあるカラムの組をカラムペアとして示すカラムペア情報を記憶するカラムペア情報記憶部と、
各カラムペアに定義されている係数値の集合である係数値セットを文字列の要素ブロックに対応づける情報であって、要素ブロックごとに係数値セットの係数値のパターンが異なっている係数値情報を記憶する係数値情報記憶部と、
前記第2のデータベースの連携キーに含まれる所定の文字列を第2連携候補文字列として前記通信部を介して取得するとともに、取得した第2連携候補文字列と少なくともいずれかの要素ブロックにおいて内容が一致する文字列を前記第1のデータベースの連携キーから前記通信部を介して抽出する検索部と、
前記検索部により前記第2連携候補文字列と全ての要素ブロックにおいて内容が一致する文字列が抽出されずに前記第2連携候補文字列と一部の要素ブロックにおいて内容が一致する文字列が抽出された場合に、抽出された第1連携候補文字列と前記第2連携候補文字列とにおいて内容が一致している要素ブロックを一致要素ブロックとして特定し、特定した一致要素ブロックに対応づけられている係数値セットを前記係数値情報から取得する一致要素ブロック特定部と、
前記カラムペア情報に基づき、カラムペアごとに、前記第1連携候補文字列が含まれている第1連携候補レコード内のフィールド値と前記第2連携候補文字列が含まれている第2連携候補レコード内のフィールド値とを抽出し、抽出したフィールド値同士が一致するか否かを判定し、カラムペアごとの一致判定の判定結果と前記一致要素ブロック特定部により取得された係数値セットのカラムペアごとの係数値とに基づき、第1連携候補レコードと第2連携候補レコードとの類似度を判定して第1連携候補レコードのフィールド値を第2連携候補レコードに反映させるか否かを判定するレコード判定部とを有することを特徴とする情報処理装置。
【請求項2】
前記レコード判定部は、
フィールド値が一致していると判定したカラムペアの係数値を合算し、合算値により、第1連携候補レコードと第2連携候補レコードとの類似度を判定することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記一致要素ブロック特定部は、
前記第2連携候補文字列と一部の要素ブロックにおいて内容が一致する文字列が複数抽出された場合に、抽出された第1連携候補文字列ごとに、一致要素ブロックを特定するとともに、特定した一致要素ブロックに対応づけられている係数値セットを前記係数値情報から取得し、
前記レコード判定部は、
第1連携候補文字列の各々に対して、カラムペアごとに、第1連携候補レコードのフィールド値が第2連携候補レコードのフィールド値と一致するか否かを判定し、フィールド値が一致していると判定したカラムペアの係数値を合算し、
合算値が最大となった第1連携候補レコードのフィールド値を第2連携候補レコードに反映させることを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記レコード判定部は、
合算値が所定の閾値を上回る第1連携候補レコードが存在しない場合に、前記第2連携候補レコードを前記第2のデータベースから削除することを特徴とする請求項2又は3に記載の情報処理装置。
【請求項5】
前記情報処理装置は、更に、
前記情報処理装置のユーザとのインタフェースとなるユーザインタフェース部を有し、
前記一致要素ブロック特定部は、
前記第2連携候補文字列と一部の要素ブロックにおいて内容が一致する文字列が複数抽出された場合に、抽出された第1連携候補文字列ごとに、一致要素ブロックを特定するとともに、特定した一致要素ブロックに対応づけられている係数値セットを前記係数値情報から取得し、
前記レコード判定部は、
第1連携候補文字列の各々に対して、カラムペアごとに、第1連携候補レコードのフィールド値が第2連携候補レコードのフィールド値と一致するか否かを判定し、フィールド値が一致していると判定したカラムペアの係数値を合算し、
所定レベル以上の合算値の第1連携候補レコードが2つ以上存在する場合に、当該2つ以上の第1連携候補レコードを前記ユーザインタフェース部を介して前記ユーザに出力し、前記ユーザによる第1連携候補レコードの指定を前記ユーザインタフェース部を介して入力し、
前記ユーザにより指定された第1連携候補レコードのフィールド値を第2連携候補レコードに反映させることを特徴とする請求項2に記載の情報処理装置。
【請求項6】
前記情報処理装置は、更に、
前記情報処理装置のユーザとのインタフェースとなるユーザインタフェース部を有し、
前記レコード判定部は、
合算値が所定の閾値を上回る第1連携候補レコードが存在しない場合に、前記第2連携候補レコードの削除の許否を前記ユーザインタフェース部を介して前記ユーザに問合せ、
前記ユーザにより前記第2連携候補レコードの削除が許可された場合に、前記第2連携候補レコードを前記第2のデータベースから削除することを特徴とする請求項2又は5に記載の情報処理装置。
【請求項7】
コンピュータが、複数個の要素ブロックに分けられる文字列をフィールド値とするカラムを連携キーとする第1のデータベースと通信を行うとともに、前記第1のデータベースの連携キーのカラムと対応関係にあるカラムであって複数個の要素ブロックに分けられる文字列をフィールド値とするカラムを連携キーとする第2のデータベースと通信を行う通信ステップと、
前記第1のデータベースに含まれる複数個のカラムと前記第2のデータベースに含まれる複数個のカラムとの間で対応関係にあるカラムの組をカラムペアとして示すカラムペア情報を記憶する記憶領域から、前記コンピュータがカラムペア情報を読み出すカラムペア情報読み出しステップと、
各カラムペアに定義されている係数値の集合である係数値セットを文字列の要素ブロックに対応づける情報であって、要素ブロックごとに係数値セットの係数値のパターンが異なっている係数値情報を記憶する記憶領域から、前記コンピュータが係数値情報を読み出す係数値情報読み出しステップと、
前記コンピュータが、前記第2のデータベースの連携キーに含まれる所定の文字列を第2連携候補文字列として前記通信ステップを介して取得するとともに、取得した第2連携候補文字列と少なくともいずれかの要素ブロックにおいて内容が一致する文字列を前記第1のデータベースの連携キーから前記通信ステップを介して抽出する検索ステップと、
前記コンピュータが、前記検索ステップにより前記第2連携候補文字列と全ての要素ブロックにおいて内容が一致する文字列が抽出されずに前記第2連携候補文字列と一部の要素ブロックにおいて内容が一致する文字列が抽出された場合に、抽出された第1連携候補文字列と前記第2連携候補文字列とにおいて内容が一致している要素ブロックを一致要素ブロックとして特定し、特定した一致要素ブロックに対応づけられている係数値セットを前記係数値情報から取得する一致要素ブロック特定ステップと、
前記コンピュータが、前記カラムペア情報に基づき、カラムペアごとに、前記第1連携候補文字列が含まれている第1連携候補レコード内のフィールド値と前記第2連携候補文字列が含まれている第2連携候補レコード内のフィールド値とを抽出し、抽出したフィールド値同士が一致するか否かを判定し、カラムペアごとの一致判定の判定結果と前記一致要素ブロック特定ステップにより取得された係数値セットのカラムペアごとの係数値とに基づき、第1連携候補レコードと第2連携候補レコードとの類似度を判定して第1連携候補レコードのフィールド値を第2連携候補レコードに反映させるか否かを判定するレコード判定ステップとを有することを特徴とする情報処理方法。
【請求項8】
複数個の要素ブロックに分けられる文字列をフィールド値とするカラムを連携キーとする第1のデータベースと通信を行うとともに、前記第1のデータベースの連携キーのカラムと対応関係にあるカラムであって複数個の要素ブロックに分けられる文字列をフィールド値とするカラムを連携キーとする第2のデータベースと通信を行う通信ステップと、
前記第1のデータベースに含まれる複数個のカラムと前記第2のデータベースに含まれる複数個のカラムとの間で対応関係にあるカラムの組をカラムペアとして示すカラムペア情報を記憶する記憶領域から、カラムペア情報を読み出すカラムペア情報読み出しステップと、
各カラムペアに定義されている係数値の集合である係数値セットを文字列の要素ブロックに対応づける情報であって、要素ブロックごとに係数値セットの係数値のパターンが異なっている係数値情報を記憶する記憶領域から、係数値情報を読み出す係数値情報読み出しステップと、
前記第2のデータベースの連携キーに含まれる所定の文字列を第2連携候補文字列として前記通信ステップを介して取得するとともに、取得した第2連携候補文字列と少なくともいずれかの要素ブロックにおいて内容が一致する文字列を前記第1のデータベースの連携キーから前記通信ステップを介して抽出する検索ステップと、
前記検索ステップにより前記第2連携候補文字列と全ての要素ブロックにおいて内容が一致する文字列が抽出されずに前記第2連携候補文字列と一部の要素ブロックにおいて内容が一致する文字列が抽出された場合に、抽出された第1連携候補文字列と前記第2連携候補文字列とにおいて内容が一致している要素ブロックを一致要素ブロックとして特定し、特定した一致要素ブロックに対応づけられている係数値セットを前記係数値情報から取得する一致要素ブロック特定ステップと、
前記カラムペア情報に基づき、カラムペアごとに、前記第1連携候補文字列が含まれている第1連携候補レコード内のフィールド値と前記第2連携候補文字列が含まれている第2連携候補レコード内のフィールド値とを抽出し、抽出したフィールド値同士が一致するか否かを判定し、カラムペアごとの一致判定の判定結果と前記一致要素ブロック特定ステップにより取得された係数値セットのカラムペアごとの係数値とに基づき、第1連携候補レコードと第2連携候補レコードとの類似度を判定して第1連携候補レコードのフィールド値を第2連携候補レコードに反映させるか否かを判定するレコード判定ステップとをコンピュータに実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−128760(P2012−128760A)
【公開日】平成24年7月5日(2012.7.5)
【国際特許分類】
【出願番号】特願2010−281234(P2010−281234)
【出願日】平成22年12月17日(2010.12.17)
【出願人】(000006013)三菱電機株式会社 (33,312)
【出願人】(000236056)三菱電機ビルテクノサービス株式会社 (1,792)
【Fターム(参考)】