(57)【要約】【課題】データベースの共有時のセキュリティを向上させる。【解決手段】ベクトル変換部３０は、複数のデータベースの各レコードを、ベクトルデータに変換する。データベースアクセス部３１は、ベクトルデータと、ベクトルデータに対応するレコードを含むデータベースの管理者の管理者識別子とをベクトルデータベースに登録する。ブロックチェーンアクセス部３２は、管理者識別子をブロックチェーンに登録する。更新データ取得部３３は、複数のデータベースの管理者のうちのいずれかの管理者からフィールドの更新に関する情報を取得する。類似度算出部３４は、ベクトルデータベースに格納されたベクトルデータと、更新対象ベクトルデータとの類似度を算出する。更新情報通知部３５は、類似度が所定の条件を満たしている類似ベクトルデータに対応するレコードを含むデータベースの管理者に、フィールドの更新に関する情報を通知する。【選択図】図２
2020181469.tif 000002
【特許請求の範囲】
【請求項１】
異なる権限設定によってそれぞれ管理される複数のデータベースのテーブルを構成する各レコードを、それぞれベクトルデータに変換するベクトル変換部と、
前記ベクトルデータと、前記ベクトルデータを特定するためのデータ識別子と、前記ベクトルデータに対応するレコードを含むデータベースの管理者を特定するための管理者識別子とを紐づけて、ベクトルデータベースに登録するデータベースアクセス部と、
前記ベクトルデータベースに登録された前記管理者識別子をブロックチェーンに登録するブロックチェーンアクセス部と、
前記複数のデータベースの管理者のうちのいずれかの管理者である第１管理者から、前記第１管理者が管理するデータベースにおいて更新対象とするレコードのデータ識別子と、更新対象のフィールド名と、更新後のフィールド情報とを取得する更新データ取得部と、
前記ベクトルデータベースに格納されたベクトルデータと、前記更新対象とするレコードのデータ識別子が紐付けられているベクトルデータである更新対象ベクトルデータとの類似度を算出する類似度算出部と、
前記類似度が所定の条件を満たすベクトルデータである類似ベクトルデータに対応するレコードを含むデータベースの管理者である第２管理者に、前記類似ベクトルデータを特定するためのデータ識別子と、更新対象のフィールド名と、前記更新後のフィールド情報とを通知する更新情報通知部と、
を備えるデータ管理装置。
【請求項２】
前記ブロックチェーンアクセス部は、前記ベクトルデータベースにおいて前記管理者それぞれに割り当てられた管理者識別子を、各管理者の前記ベクトルデータベースにおけるアクセス権を示すアクセス権情報と紐づけて前記ブロックチェーンに登録する、
請求項１に記載のデータ管理装置。
【請求項３】
前記ブロックチェーンアクセス部は、前記アクセス権情報を参照して、前記ベクトルデータベースに登録されているベクトルデータのうち前記第１管理者がアクセスすることを許可されたベクトルデータを特定する、
請求項２に記載のデータ管理装置。
【請求項４】
前記ベクトル変換部は、前記第１管理者と前記第２管理者とのそれぞれが管理するデータベースを構成するレコードのうち、少なくとも更新されたレコードをベクトルデータに変換して前記ベクトルデータベースに登録する、
請求項１から３のいずれか１項に記載のデータ管理装置。
【請求項５】
前記データベースアクセス部は、前記ブロックチェーンアクセス部が前記ブロックチェーンから取得したアクセス権が許可する範囲において前記ベクトルデータベースにアクセスする、
請求項２から４のいずれか１項に記載のデータ管理装置。
【請求項６】
プロセッサが、
異なる権限設定によってそれぞれ管理される複数のデータベースのテーブルを構成する各レコードを、それぞれベクトルデータに変換するステップと、
前記ベクトルデータと、前記ベクトルデータを特定するためのデータ識別子と、前記ベクトルデータに対応するレコードを含むデータベースの管理者を特定するための管理者識別子とを紐づけて、ベクトルデータベースに登録するステップと、
前記ベクトルデータベースに登録された前記管理者識別子をブロックチェーンに登録するステップと、
前記複数のデータベースの管理者のうちのいずれかの管理者である第１管理者から、前記第１管理者が管理するデータベースにおいて更新対象とするレコードのデータ識別子と、更新対象のフィールド名と、更新後のフィールド情報とを取得するステップと、
前記ベクトルデータベースに格納されたベクトルデータと、前記更新対象とするレコードのデータ識別子が紐付けられているベクトルデータである更新対象ベクトルデータとの類似度を算出するステップと、
前記類似度が所定の条件を満たすベクトルデータである類似ベクトルデータに対応するレコードを含むデータベースの管理者である第２管理者に、前記類似ベクトルデータを特定するためのデータ識別子と、更新対象のフィールド名と、前記更新後のフィールド情報とを通知するステップと、
を実行するデータ管理方法。
【請求項７】
コンピュータに、
異なる権限設定によってそれぞれ管理される複数のデータベースのテーブルを構成する各レコードを、それぞれベクトルデータに変換する機能と、
前記ベクトルデータと、前記ベクトルデータを特定するためのデータ識別子と、前記ベクトルデータに対応するレコードを含むデータベースの管理者を特定するための管理者識別子とを紐づけて、ベクトルデータベースに登録する機能と、
前記ベクトルデータベースに登録された前記管理者識別子をブロックチェーンに登録する機能と、
前記複数のデータベースの管理者のうちのいずれかの管理者である第１管理者から、前記第１管理者が管理するデータベースにおいて更新対象とするレコードのデータ識別子と、更新対象のフィールド名と、更新後のフィールド情報とを取得する機能と、
前記ベクトルデータベースに格納されたベクトルデータと、前記更新対象とするレコードのデータ識別子が紐付けられているベクトルデータである更新対象ベクトルデータとの類似度を算出する機能と、
前記類似度が所定の条件を満たすベクトルデータである類似ベクトルデータに対応するレコードを含むデータベースの管理者である第２管理者に、前記類似ベクトルデータを特定するためのデータ識別子と、更新対象のフィールド名と、前記更新後のフィールド情報とを通知する機能と、
を実現させるプログラム。
【請求項８】
請求項１から５のいずれか１項に記載のデータ管理装置と、
前記ベクトルデータベースと、
を備えるデータ管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ管理装置、データ管理方法、プロブラム、及びデータ管理システムに関する。
【背景技術】
【０００２】
近年、顧客情報や商品情報等、種々の種類の情報がリレーショナルデータベース（以下、単に「データベース」と記載する。）で管理されている。これらのデータベースは、本来であれば同一の情報であっても、異なる管理者によってそれぞれ管理される異なるデータベースに個別に登録されることも多い。データベースが異なる場合、同じ情報を格納する場合であっても、各データベースにおけるレコードを構成するフィールドの構成や、各フィールドに格納される値等が異なることが起こりうる。
【０００３】
そのため、異なるデータベースを統合したり、相互に参照し合ったりするための技術が種々提案されている。このような技術の中には、いわゆる「名寄せ」と呼ばれる技術も存在する（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２３４３４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
名寄せは各データベースに登録されている値の類似度に基づいてデータベースを統合する技術であるため、統合や参照の際にデータベースの値にアクセスする必要がある。このため、名寄せのためにはデータベース全体にアクセスしなければならないが、情報の漏洩の危険性が増すことになる。特に、データベースに個人情報等の機密情報が格納されている場合には、情報の漏洩を抑制することが課題となる。
【０００６】
本発明はこれらの点に鑑みてなされたものであり、データベースの共有時のセキュリティを向上させるための技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の態様は、データ管理装置である。この装置は、異なる権限設定によってそれぞれ管理される複数のデータベースのテーブルを構成する各レコードを、それぞれベクトルデータに変換するベクトル変換部と、前記ベクトルデータと、前記ベクトルデータを特定するためのデータ識別子と、前記ベクトルデータに対応するレコードを含むデータベースの管理者を特定するための管理者識別子とを紐づけて、ベクトルデータベースに登録するデータベースアクセス部と、前記ベクトルデータベースに登録された前記管理者識別子をブロックチェーンに登録するブロックチェーンアクセス部と、前記複数のデータベースの管理者のうちのいずれかの管理者である第１管理者から、前記第１管理者が管理するデータベースにおいて更新対象とするレコードのデータ識別子と、更新対象のフィールド名と、更新後のフィールド情報とを取得する更新データ取得部と、前記ベクトルデータベースに格納されたベクトルデータと、前記更新対象とするレコードのデータ識別子が紐付けられているベクトルデータである更新対象ベクトルデータとの類似度を算出する類似度算出部と、前記類似度が所定の条件を満たすベクトルデータである類似ベクトルデータに対応するレコードを含むデータベースの管理者である第２管理者に、前記類似ベクトルデータを特定するためのデータ識別子と、更新対象のフィールド名と、前記更新後のフィールド情報とを通知する更新情報通知部と、を備える。
【０００８】
前記ブロックチェーンアクセス部は、前記ベクトルデータベースにおいて前記管理者それぞれに割り当てられた管理者識別子を、各管理者の前記ベクトルデータベースにおけるアクセス権を示すアクセス権情報と紐づけて前記ブロックチェーンに登録してもよい。
【０００９】
前記ブロックチェーンアクセス部は、前記アクセス権情報を参照して、前記ベクトルデータベースに登録されているベクトルデータのうち前記第１管理者がアクセスすることを許可されたベクトルデータを特定してもよい。
【００１０】
前記ベクトル変換部は、前記第１管理者と前記第２管理者とのそれぞれが管理するデータベースを構成するレコードのうち、少なくとも更新されたレコードをベクトルデータに変換して前記ベクトルデータベースに登録してもよい。
【００１１】
前記データベースアクセス部は、前記ブロックチェーンアクセス部が前記ブロックチェーンから取得したアクセス権が許可する範囲において前記ベクトルデータベースにアクセスしてもよい。
【００１２】
本発明の第２の態様は、データ管理方法である。この方法において、プロセッサが、異なる権限設定よってそれぞれ管理される複数のデータベースのテーブルを構成する各レコードを、それぞれベクトルデータに変換するステップと、前記ベクトルデータと、前記ベクトルデータを特定するためのデータ識別子と、前記ベクトルデータに対応するレコードを含むデータベースの管理者を特定するための管理者識別子とを紐づけて、ベクトルデータベースに登録するステップと、前記ベクトルデータベースに登録された前記管理者識別子をブロックチェーンに登録するステップと、前記複数のデータベースの管理者のうちのいずれかの管理者である第１管理者から、前記第１管理者が管理するデータベースにおいて更新対象とするレコードのデータ識別子と、更新対象のフィールド名と、更新後のフィールド情報とを取得するステップと、前記ベクトルデータベースに格納されたベクトルデータと、前記更新対象とするレコードのデータ識別子が紐付けられているベクトルデータである更新対象ベクトルデータとの類似度を算出するステップと、前記類似度が所定の条件を満たすベクトルデータである類似ベクトルデータに対応するレコードを含むデータベースの管理者である第２管理者に、前記類似ベクトルデータを特定するためのデータ識別子と、更新対象のフィールド名と、前記更新後のフィールド情報とを通知するステップと、を実行する。
【００１３】
本発明の第３の態様は、プログラムである。このプログラムは、コンピュータに、異なる権限設定によってそれぞれ管理される複数のデータベースのテーブルを構成する各レコードを、それぞれベクトルデータに変換する機能と、前記ベクトルデータと、前記ベクトルデータを特定するためのデータ識別子と、前記ベクトルデータに対応するレコードを含むデータベースの管理者を特定するための管理者識別子とを紐づけて、ベクトルデータベースに登録する機能と、前記ベクトルデータベースに登録された前記管理者識別子をブロックチェーンに登録する機能と、前記複数のデータベースの管理者のうちのいずれかの管理者である第１管理者から、前記第１管理者が管理するデータベースにおいて更新対象とするレコードのデータ識別子と、更新対象のフィールド名と、更新後のフィールド情報とを取得する機能と、前記ベクトルデータベースに格納されたベクトルデータと、前記更新対象とするレコードのデータ識別子が紐付けられているベクトルデータである更新対象ベクトルデータとの類似度を算出する機能と、前記類似度が所定の条件を満たすベクトルデータである類似ベクトルデータに対応するレコードを含むデータベースの管理者である第２管理者に、前記類似ベクトルデータを特定するためのデータ識別子と、更新対象のフィールド名と、前記更新後のフィールド情報とを通知する機能と、を実現させる。
【００１４】
このプログラムを提供するため、あるいはプログラムの一部をアップデートするために、このプログラムを記録したコンピュータ読み取り可能な記録媒体が提供されてもよく、また、このプログラムが通信回線で伝送されてもよい。
【００１５】
本発明の第４の態様は、データ管理システムである。このシステムは、上述のデータ管理装置と、前記ベクトルデータベースと、を備える。
【００１６】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１７】
本発明によれば、データベースの共有時のセキュリティを向上させることができる。
【図面の簡単な説明】
【００１８】
【図１】実施の形態に係るデータ管理装置の概要を説明するための図である。
【図２】実施の形態に係るデータ管理装置の機能構成を模式的に示す図である。
【図３】実施の形態に係るデータベースのデータ構造の一例を模式的に示す図である。
【図４】実施の形態に係るベクトルデータベースのデータ構造を模式的に示す図である。
【図５】実施の形態に係るブロックチェーンの構成を模式的に示す図である。
【図６】実施の形態に係るデータ管理装置が実行するデータ管理処理の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【００１９】
＜実施の形態の概要＞
図１は、実施の形態に係るデータ管理装置１の概要を説明するための図である。図１では、第１管理者Ｍ１が管理する第１データベースＤ１と、第２管理者Ｍ２が管理する第２データベースＤ２とが、それぞれ通信ネットワークＮ１を介してデータ管理装置１と通信可能な態様で接続している。第１データベースＤ１と第２データベースＤ２とは、それぞれ管理する管理者Ｍが異なるため、第１データベースＤ１と第２データベースＤ２とはそれぞれ異なる権限設定によって管理されるデータベースといえる。データ管理装置１は通信ネットワークＮ１を介してブロックチェーンＢと通信可能な態様で接続し、かつ安全性が担保された専用回線であるセキュアネットワークＮ２を介してベクトルデータベースＶと通信可能な態様で接続している。なお、データ管理装置１とベクトルデータベースＶとで、データ管理システムＳを構成する。
【００２０】
ここで、ブロックチェーンＢは分散型のデータベースとして機能し、ブロックチェーンＢに参加しているコンピュータであれば自由に内容を閲覧することができる。一方、ベクトルデータベースＶは閲覧のための権限が厳格に管理されており、専用回線であるセキュアネットワークＮ２を介してデータ管理装置１のみがアクセスできる。以下、第１管理者Ｍ１と第２管理者Ｍ２とを区別しない場合は単に管理者Ｍと記載する。同様に、第１管理者Ｍ１と第２管理者Ｍ２とを区別しない場合は単にデータベースＤと記載する。
【００２１】
以下、図１を参照して、実施の形態に係るデータ管理装置１で行われる処理の手順を（１）から（８）で説明するが、その説明は図１中の（１）から（８）と対応する。
【００２２】
（１）データ管理装置１は、第１データベースＤ１のテーブルを構成する各レコードを取得する。
（２）記憶部２は、第２データベースＤ２のテーブルを構成する各レコードを取得する。
【００２３】
（３）データ管理装置１は、取得した各レコードをそれぞれベクトルデータに変換する。このベクトルデータは、レコードを構成する各フィールドに格納された値を反映して生成されるものである。すなわち、異なる２つのレコードを構成する各フィールドに格納された値が類似するほど、変換後の各ベクトルデータも類似する。一方、ベクトルデータから元のフィールドに格納されている情報を復元することは困難である。データ管理装置１は、ベクトルデータに変換した後はレコードを削除しレコード自体は保持しない。なお、ベクトルデータの変換手法については後述する。
【００２４】
（４）データ管理装置１は、レコードを変換して取得したベクトルデータを、そのベクトルデータを識別するためのデータ識別子と、レコードを含むデータベースの管理者を識別するための管理者識別子とに紐づけてベクトルデータベースＶに登録する。これにより、ベクトルデータベースＶには、Ｄ１が格納する情報と第２データベースＤ２が格納する情報とがベクトルデータの形で格納されることになる。データ管理装置１は、ベクトルデータベースＶに格納されているベクトルデータ同士の類似度を算出することにより、それらの元となるレコードを構成する各フィールドに格納された値の類似度を推定することができる。
【００２５】
（５）データ管理装置１は、通信ネットワークＮ１を介して、ベクトルデータベースＶに関して各管理者が有するアクセス権を示すアクセス権情報を管理者識別子と紐づけてブロックチェーンＢに登録する。アクセス権情報は、管理者Ｍ毎にベクトルデータのアクセス許可範囲を定めた情報である。例えば、管理者Ｍは、自身が管理するデータベースＤに関するベクトルデータであれば自由にアクセスできる。一方、他の管理者Ｍが管理するデータベースＤに関するベクトルデータは、管理者Ｍは他の管理者Ｍからの了承が得られた範囲以外のデータにはアクセスすることができない。
【００２６】
（６）データ管理装置１は、第１管理者Ｍ１から第１データベースＤ１において更新対象とするレコードを特定するためのデータ識別子と、更新対象のフィールド名と、更新後のフィールド情報とを取得する。
（７）データ管理装置１は、更新対象とするレコードをベクトルデータに変換し、ベクトルデータベースＶに格納されている各ベクトルデータのうち、第１管理者Ｍ１がアクセスすることを許可されたベクトルデータとの類似度を算出する。
【００２７】
（８）データ管理装置１は、類似度が所定の条件を満たすベクトルデータを特定するためのデータ識別子と、更新対象のフィールド名と、更新後のフィールド情報とを第２管理者Ｍ２がアクセス可能な端末に通知する。以下、本明細書において、管理者Ｍがアクセス可能な管理者端末（不図示）に何らかの情報を通知することを、管理者端末の存在を前提として、単に「管理者Ｍに通知する」等の表現を用いて記載する。
【００２８】
ここで「所定の条件」とは、第１データベースＤ１のレコードと第２データベースＤ２のレコードとが同一の情報を格納するレコードであるとみなすためにあらかじめ定められた類似度が満たすための条件である。所定の条件の具体例は、類似度に関して定められた同一判定用閾値を超えることである。この場合、データ管理装置１は、２つの異なるベクトルデータの類似度が同一判定用閾値を超える場合、それらのベクトルデータにそれぞれ対応するレコードは同一の情報を格納するレコードであるとみなす。
【００２９】
これにより、第２管理者Ｍ２は、第１データベースＤ１のレコードが第１管理者Ｍ１によって変更されたとき、そのレコードに対応するとみなされる第２データベースＤ２のレコードの内容を修正することができる。すなわち、第１管理者Ｍ１と第２管理者Ｍ２とは、第１データベースＤ１のレコードの内容と第２データベースＤ２のレコードの内容とを共有することができる。
【００３０】
データ管理装置１は、データベースＤを構成するレコードから変換したベクトルデータをベクトルデータベースＶに格納して保持するため、インターネット等の公共の通信回線を介してアクセス可能なデータベースに格納する場合と比較して、ベクトルデータの流出の危険性を低減することができる。また、万が一ベクトルデータが第三者に流出したとしても、第三者は、ベクトルデータから元のレコードを復元することは困難である。
【００３１】
このように、実施の形態に係るデータ管理装置１は、データベースＤの共有時のセキュリティを向上させることができる。さらに、各管理者Ｍが管理するデータベースＤにおけるデータ識別子を、その管理者Ｍとは異なる他の管理者Ｍが管理するデータベースＤにおけるデータ識別子と統合することなく、情報を連携することができる。これにより、実施の形態に係るデータ管理装置１は、データベースＤの管理の際の生産性を向上させることができる。
【００３２】
なお、図１は、第１データベースＤ１と第２データベースＤ２との２つのデータベースＤがある場合を示しているが、データベースＤの数は２に限られず、３以上であってもよい。
【００３３】
＜実施の形態に係るデータ管理装置１の機能構成＞
図２は、実施の形態に係るデータ管理装置１の機能構成を模式的に示す図である。データ管理装置１は、記憶部２と制御部３とを備える。図２において、矢印は主なデータの流れを示しており、図２に示していないデータの流れがあってもよい。図２において、各機能ブロックはハードウェア（装置）単位の構成ではなく、機能単位の構成を示している。そのため、図２に示す機能ブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に分かれて実装されてもよい。機能ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてもよい。
【００３４】
記憶部２は、データ管理装置１を実現するコンピュータのＢＩＯＳ（Basic Input Output System）等を格納するＲＯＭ（Read Only Memory）やデータ管理装置１の作業領域となるＲＡＭ（Random Access Memory）、ＯＳ（Operating System）やアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等の大容量記憶装置である。
【００３５】
制御部３は、データ管理装置１のＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）等のプロセッサであり、記憶部２に記憶されたプログラムを実行することによってベクトル変換部３０、データベースアクセス部３１、ブロックチェーンアクセス部３２、更新データ取得部３３、類似度算出部３４、及び更新情報通知部３５として機能する。
【００３６】
なお、図２は、データ管理装置１が単一の装置で構成されている場合の例を示している。しかしながら、データ管理装置１は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部３を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
【００３７】
ベクトル変換部３０は、異なる管理者によってそれぞれ管理される複数のデータベースのテーブルを構成する各レコードを取得する。制御部３は、取得した各レコードを、それぞれベクトルデータに変換する。
【００３８】
図３は、実施の形態に係るデータベースＤのデータ構造の一例を模式的に示す図である。具体的には、図３は、会員情報を登録するための会員情報データベースのデータ構造を示す図である。以下、図３を参照しながら、ベクトル変換部３０が実行するレコードのベクトルデータ変換手法を説明する。
【００３９】
データベースＤは、複数のレコードが集まって構成される。ここで、レコードはデータベースＤに格納される情報の単位である。データベースＤが会員情報データベースある場合、各レコードに会員一人分の情報が格納される。図３に示すように、各レコードは複数のフィールドから構成される。図３に示す例では、各レコードは「データ識別子」、「姓（漢字）」、「名（漢字）」、「姓（ひらがな）」、「名（ひらがな）」、「性別」、「年齢」、「住所」等を格納するためのフィールドを含んでいる。
【００４０】
会員情報を登録するための会員情報データベースであっても、データベースを管理する管理者Ｍが異なれば、その構造が異なる場合がある。例えば、図３に示す例では会員の姓名の読み方を「ひらがな」を用いて登録しているが、別のデータベースでは「カタカナ」や「ローマ字」を用いて登録する場合がある。また、図３に示す例では会員の性別を漢字を用いて登録しているが、別のデータベースでは男性を「Ｍ」、女性を「Ｆ」のように記号で表す場合もある。さらに、各会員に会員識別子を割り当てて管理する場合、一般に、識別子を割り当てる者が異なれば識別子も異なると考えられる。
【００４１】
実施の形態に係るベクトル変換部３０は、データベースＤを構成するレコードを単位として、各レコードをベクトルデータに変換する。具体的には、ベクトル変換部３０は、取得したレコードに含まれる各フィールドの値を並べて１つの文字列を生成する。図３に示す例において、データ識別子がＤＩＤ００００１であるレコードをベクトルデータに変換する場合、ベクトル変換部３０は、データ識別子を除いて、「山田太郎やまだたろう男３２東京都・・・」という文字列を生成する。
【００４２】
続いて、ベクトル変換部３０は、生成した文字列をＷｏｒｄ２Ｖｅｃとして知られる既知の手法を用いてベクトルデータに変換する。既知の技術のため詳細な説明は省略するが、Ｗｏｒｄ２Ｖｅｃはいくつかの手法があり、いずれもニューラルネットワークによって実現されている。多数の文字列（本実施の形態ではレコードに含まれる各フィールドの値を並べて生成された文字列）を学習データとしてＷｏｒｄ２Ｖｅｃを用いて学習することにより、文字列を入力するとその文字列に対応するベクトルデータを出力する学習モデルが生成できる。ベクトル変換部３０は、あらかじめ生成した学習モデルを用いることで、各レコードをベクトルデータに変換する。限定はしないが、一例として、ベクトル変換部３０は、各レコードを２５６ビットのビット列のベクトルデータに変換する。
【００４３】
データベースアクセス部３１は、ベクトル変換部３０が変換したベクトルデータと、ベクトルデータを特定するためのデータ識別子と、ベクトルデータに対応するレコードを含むデータベースの管理者を特定するための管理者識別子とを紐づけて、ベクトルデータベースに登録する。なお、ベクトルデータを特定するためのデータ識別子は、そのベクトルデータの元となったレコードを特定するためのデータ識別子と同じであってもよい。
【００４４】
図４は、実施の形態に係るベクトルデータベースＶのデータ構造を模式的に示す図である。図４に示すように、ベクトルデータベースＶは、管理者識別子毎に、その管理者識別子で特定される管理者Ｍが管理するデータベースＤに由来するベクトルデータをデータ識別子と紐づけて格納している。図４は、管理者識別子がＭＩＤ００００１である管理者Ｍが管理するデータベースＤのレコードから生成されたベクトルデータを示している。図４に示すように、各ベクトルデータにはデータ識別子が割り当てられている。例えば、データ識別子がＤＩＤ００００１であるベクトルデータは、「１１００１１０１０１００１０・・・」である。
【００４５】
ブロックチェーンアクセス部３２は、ベクトルデータベースＶに登録された管理者識別子をブロックチェーンＢに登録する。
【００４６】
図５は、実施の形態に係るブロックチェーンＢの構成を模式的に示す図である。図５に示すように、ブロックチェーンＢは、複数のブロックを連結した情報である。複数のブロックのそれぞれは、直前のブロックを示す情報のハッシュ値、管理者識別子、アクセス権情報、及びナンス値が含まれている。ナンス値は、ブロックのハッシュ値が特定の条件を満たされるようにするために用いられる情報である。なお、上述したように、アクセス権情報は、管理者Ｍ毎にベクトルデータのアクセス許可範囲を定めた情報である。したがって、アクセス権情報にはアクセスが許可されるデータ識別子の情報が含まれる。
【００４７】
図５に示すように、ブロックチェーンアクセス部３２は、管理者識別子のみをブロックチェーンＢに登録し、ベクトルデータ自体は登録しない。ブロックチェーンＢは公開されたデータベースであるからである。これにより、データ管理装置１は、ブロックチェーンＢからベクトルデータが流出することを防止できる。
【００４８】
更新データ取得部３３は、複数のデータベースの管理者Ｍのうちのいずれかの管理者Ｍである第１管理者Ｍ１から、第１管理者Ｍ１が管理する第１データベースＤ１において更新対象とするレコードのデータ識別子と、更新対象のフィールド名と、更新後のフィールド情報とを取得する。
【００４９】
類似度算出部３４は、更新データ取得部３３が取得したデータ識別子に基づいて、ベクトルデータベースＶからそのデータ識別子が紐付けられているベクトルデータを更新対象ベクトルデータとして読み出す。類似度算出部３４は、更新対象ベクトルデータと、ベクトルデータベースＶに格納された他のベクトルデータとの類似度を算出する。類似度算出部３４は、例えば、コサイン類似度やユークリッド距離、gensim等のライブラリ等、既知の手法を用いてベクトルデータ間の類似度を算出する。
【００５０】
更新情報通知部３５は、類似度算出部３４が算出した類似度が所定の条件を満たすベクトルデータである類似ベクトルデータに対応するレコードを含む第２データベースＤ２の管理者Ｍである第２管理者Ｍ２に、類似ベクトルデータを特定するためのデータ識別子と、更新対象のフィールド名と、更新後のフィールド情報とを通知する。以下、更新情報通知部３５が第２管理者Ｍ２に通知する類似ベクトルデータを特定するためのデータ識別子と、更新対象のフィールド名と、更新後のフィールド情報とをまとめて、「更新に関する情報」と記載することがある。
【００５１】
第２管理者Ｍ２は、更新情報通知部３５から通知されたデータ識別子に基づいて、第２データベースＤ２において更新の対象となるレコードを特定することができる。また、第２管理者Ｍ２は、更新情報通知部３５から通知された更新対象のフィールド名に基づいて、更新対象のフィールドを推定することができる。このため、第２管理者Ｍ２は、更新対象のフィールドの情報を更新情報通知部３５から通知されたフィールドの情報に書き換えることができる。
【００５２】
図５に示すように、ブロックチェーンアクセス部３２は、ベクトルデータベースＶにおいて管理者それぞれに割り当てられた管理者識別子を、各管理者のベクトルデータベースにおけるアクセス権を示すアクセス権情報と紐づけてブロックチェーンＢに登録する。管理者Ｍは、ブロックチェーンＢに登録されているアクセス権情報によって許可される範囲においてのみ、ベクトルデータベースＶに格納されているベクトルデータへのアクセスが許可される。言い換えると、ある管理者Ｍは、他の管理者Ｍに許可された場合に限り、他の管理者Ｍが管理するデータベースＤに由来するベクトルデータにアクセスすることができる。
【００５３】
ブロックチェーンアクセス部３２は、アクセス権情報を参照して、ベクトルデータベースＶに登録されているベクトルデータのうち、更新対象とするレコードを含む第２データベースＤ２の管理者である第１管理者Ｍ１がアクセスすることを許可されたベクトルデータを特定する。データベースアクセス部３１は、ブロックチェーンアクセス部３２がブロックチェーンＢから取得したアクセス権が許可する範囲においてベクトルデータベースＶに格納されているベクトルデータにアクセスする。このように、アクセス権情報を用いて各管理者Ｍに関するベクトルデータベースＶのアクセス権を管理することにより、データ管理装置１は、ベクトルデータが外部に流出することを抑制できる。
【００５４】
更新情報通知部３５が第２管理者Ｍ２に更新に関する情報を通知した後、ベクトル変換部３０は、第１管理者Ｍ１が管理する第１データベースＤ１と第２管理者Ｍ２が管理する第２データベースＤ２を構成するレコードのうち、少なくとも更新されたレコードをベクトルデータに変換する。ベクトル変換部３０は、変換したベクトルデータをベクトルデータベースＶに再度登録する。これにより、データ管理装置１は、ベクトルデータベースＶに格納されている情報を最新の情報に保つことができる。
【００５５】
＜データ管理装置１が実行するデータ管理方法の処理フロー＞
図６は、実施の形態に係るデータ管理装置１が実行するデータ管理処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えばデータ管理装置１が起動したときに開始する。
【００５６】
ベクトル変換部３０は、異なる管理者Ｍによってそれぞれ管理される複数のデータベースＤのテーブルを構成する各レコードを取得する（Ｓ２）。ベクトル変換部３０は、取得した各レコードを、それぞれベクトルデータに変換する（Ｓ４）。
【００５７】
データベースアクセス部３１は、ベクトル変換部３０が変換したベクトルデータと、ベクトルデータを特定するためのデータ識別子と、ベクトルデータに対応するレコードを含むデータベースＤの管理者Ｍを特定するための管理者識別子とを紐づけて、ベクトルデータベースＶに登録する（Ｓ６）。
【００５８】
更新データ取得部３３は、複数のデータベースＤの管理者Ｍのうちのいずれかの管理者Ｍである第１管理者から、フィールドの更新に関する情報を取得する（Ｓ８）。類似度算出部３４は、ベクトルデータベースＶに格納されたベクトルデータと、更新対象ベクトルデータとの類似度を算出する（Ｓ１０）。
【００５９】
更新情報通知部３５は、類似度算出部３４が算出した類似度が所定の条件を満たすベクトルデータである類似ベクトルデータに対応するレコードを含む第２データベースＤ２の管理者Ｍである第２管理者Ｍ２に、フィールドの更新に関する情報を通知する（Ｓ１２）。更新情報通知部３５が第２管理者Ｍ２に更新に関する情報を通知すると、本フローチャートにおける処理は終了する。
【００６０】
＜実施の形態に係るデータ管理装置１が奏する効果＞
以上説明したように、実施の形態に係るデータ管理装置１によれば、データベースの共有時のセキュリティを向上させることができる。
【００６１】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果をあわせ持つ。
【００６２】
＜変形例＞
上記では、データベースＤが会員データベースである場合について主に説明した。しかしながら、データベースＤは会員データベースに限られず、例えば、商品管理やサービス管理用データベース、デジタルコンテンツ管理用データベース、在庫管理用データベース、販売管理や購買履歴管理用データベース、調達管理用データベース、生産管理用データベース、物流管理や配送管理用データベース、物件情報や家財情報を格納するためのデータベース、保険や証券等を始めとした契約を管理するためのデータベース、個人の行動履歴（例えば、心電等の生体情報や、歩数等の活動情報）やＩｏＴ（Internet Of Things）機器の挙動データ等を格納するためのデータベースであってもよい。個人の行動履歴は、例えば生体センサを搭載したウェアラブル機器を各ユーザが常時身につけることによって得ることができる。
【００６３】
ここで、個人の生体情報はその個人を他者から識別するための特徴を表すデータといえる。例えば、ある人の心拍のパターンは、他者の心拍のパターンとは異なるものとなる。このため、データベースＤが個人の行動履歴を格納するデータベースである場合、ベクトル変換部３０がデータベースＤの各レコードをベクトルデータに変換すると、得られたベクトルデータは個人毎に異なる特徴を反映したデータとなると考えられる。
【００６４】
例えば、ある個人の姓名や性別等を変更することなく他人にウェアラブル機器を着用させて生体情報を取得した場合は、ある個人がウェアラブル機器を継続して身につけている場合と比較して、現在のベクトルデータと過去のベクトルデータとの類似度は非類似を示すことになる。このように、類似度算出部３４は、ある個人について現在のベクトルデータと過去のベクトルデータとの類似度を算出することにより、ある個人がウェアラブル機器を継続して身につけているか否かを推定することができる。
【００６５】
なお、データベースＤが個人の行動履歴を格納している場合においては、第２管理者Ｍ２は、第１管理者Ｍ１が管理する第１データベースＤ１に登録されているある個人の行動履歴が、第２管理者Ｍ２が管理している第２データベースＤ２ではどのような行動履歴として登録されているかを分析することも考えられる。このような場合、第２管理者Ｍ２は、更新情報通知部３５から通知されたデータ識別子に基づいて、第２データベースＤ２において更新の対象となるレコード及び更新対象のフィールドを推定することにとどめ、更新対象のフィールドの情報を更新情報通知部３５から通知されたフィールドの情報に書き換えない。
【符号の説明】
【００６６】
１・・・データ管理装置
２・・・記憶部
３・・・制御部
３０・・・ベクトル変換部
３１・・・データベースアクセス部
３２・・・ブロックチェーンアクセス部
３３・・・更新データ取得部
３４・・・類似度算出部
３５・・・更新情報通知部
Ｂ・・・ブロックチェーン
Ｄ・・・データベース
Ｄ１・・・第１データベース
Ｄ２・・・第２データベース
Ｎ１・・・通信ネットワーク
Ｎ２・・・セキュアネットワーク
Ｖ・・・ベクトルデータベース
【図１】
2020181469.tif 000003
【図２】
2020181469.tif 000004
【図３】
2020181469.tif 000005
【図４】
2020181469.tif 000006
【図５】
2020181469.tif 000007
【図６】
2020181469.tif 000008