(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022172843
(43)【公開日】2022-11-17
(54)【発明の名称】データ検索システムおよび方法
(51)【国際特許分類】
G06F 16/14 20190101AFI20221110BHJP
【FI】
G06F16/14
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2021079119
(22)【出願日】2021-05-07
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】渡辺 聡
(72)【発明者】
【氏名】青木 雄一郎
(57)【要約】
【課題】データの内容あるいは格納場所が変わってもタグを用いて所望のデータを適切に見つけることを可能にする技術を提供する。
【解決手段】データ検索システムは、ストレージを備え、前記ストレージにデータを格納するエージェントサーバと、前記データに対して、該データの検索用語であるタグと、該データの格納場所であるストレージとを関連づけたタグ管理情報を管理し、検索指定タグを含むクエリを受け付けて、前記タグ管理情報を参照することにより、該検索指定タグに関連づけられたデータを該データの格納場所から取得して応答するホストサーバと、を有し、前記ホストサーバは、前記タグ管理情報を前記データの内容および格納場所に従って継続的に更新する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ストレージを備え、前記ストレージにデータを格納するエージェントサーバと、
前記データに対して、該データの検索用語であるタグと、該データの格納場所であるストレージとを関連づけたタグ管理情報を管理し、検索指定タグを含むクエリを受け付けて、前記タグ管理情報を参照することにより、該検索指定タグに関連づけられたデータを該データの格納場所から取得して応答するホストサーバと、を有し、
前記ホストサーバは、前記タグ管理情報を前記データの内容および格納場所に従って継続的に更新する、
データ検索システム。
【請求項2】
前記ホストサーバは、前記ストレージに格納されているデータに対するタグ付けを前記エージェントサーバに要求を送り、
前記エージェントサーバは、前記要求を受けて、前記ストレージに格納されているデータに関連づけるタグを決定して、前記ホストサーバに通知を送り、
前記ホストサーバは、前記通知を受けて、前記タグ管理情報を更新する、
請求項1に記載のデータ検索システム。
【請求項3】
前記エージェントサーバは、
前記ストレージに格納されているデータが内容をそのままで他のエージェントサーバから移動されたデータであれば、該データが移動したことを前記ホストサーバに通知し、
前記ストレージに格納されているデータが内容をそのままで他のエージェントサーバから移動されたデータでなければ、該データに関連づけるタグを生成し、前記ホストサーバに通知する、
請求項2に記載のデータ検索システム。
【請求項4】
前記ホストサーバは、前記データのハッシュ値を更に管理し、前記タグ付けを要求するとき前記エージェントサーバに送信し、
前記エージェントサーバは、自身にてタグを付与していないデータについてハッシュ値を算出し、該ハッシュ値が、前記ホストサーバから受信したハッシュ値と一致したら、前記データが内容をそのままで他のエージェントサーバから移動されたデータであると判定する、
請求項3に記載のデータ検索システム。
【請求項5】
前記エージェントサーバは、前記データが内容をそのままで他のエージェントサーバから移動されたデータであると判定したら、前記ハッシュ値を前記ホストサーバに送信し、
前記ホストサーバは、前記エージェントサーバから受信したハッシュ値を管理する、
請求項4に記載のデータ検索システム。
【請求項6】
タグと該タグに関連する1つ以上の単語を含むサンプルデータとが予め対応づけられており、
前記エージェントサーバは、前記データと前記サンプルデータの類似度が所定の閾値以上であれば該サンプルデータに対応づけられたタグを前記データに関連づける、
請求項2に記載のデータ検索システム。
【請求項7】
前記データはファイルであり、該ファイルは1つ以上のカラムおよび該カラム名を含む、
ファイルに付与するタグであるファイルタグと該ファイルタグに関連する1つ以上の単語を含むサンプルデータとを対応づけた第1タグサンプル管理情報と、カラムに付与するタグであるカラムタグと該カラムタグに関連する1つ以上の単語を含むサンプルデータとを対応づけた第2タグサンプル管理情報とが予め設定されており、
前記エージェントサーバは、
前記ファイルに含まれる各カラムと前記第2タグサンプル管理情報のサンプルデータとの類似度を算出し、前記類似度が閾値以上であるカラムとサンプルデータがあると、該カラムに、該サンプルデータに対応づけられたカラムタグを付与し、
前記ファイルに含まれるカラム名と前記第1タグサンプル管理情報のサンプルデータとの類似度を算出し、前記ファイルとの類似度が閾値以上であるサンプルデータがあると、該サンプルデータに対応づけられたファイルタグを前記ファイルに付与する、
請求項6に記載のデータ検索システム。
【請求項8】
前記ホストサーバは、一定時間毎に前記タグ管理情報を更新する、
請求項1に記載のデータ検索システム。
【請求項9】
エージェントサーバとホストサーバを有する計算機システムにおけるデータ検索方法であって、
前記エージェントサーバは、ストレージを備え、前記ストレージにデータを格納し、
前記ホストサーバは、前記データに対して、該データの検索用語であるタグと、該データの格納場所であるストレージとを関連づけたタグ管理情報を管理し、検索指定タグを含むクエリを受け付けて、前記タグ管理情報を参照することにより、該検索指定タグに関連づけられたデータを該データの格納場所から取得して応答し、
前記ホストサーバは、前記タグ管理情報を前記データの内容および格納場所に従って継続的に更新する、
データ検索方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、計算機システムに格納されたデータへアクセスする技術に関する。
【背景技術】
【0002】
データを格納する計算機システムとして、ファイルシステムやデータベースシステムが広く用いられている。ファイルシステムもデータベースシステムも、端末からアクセスしてデータを読み書きするシステムである。ファイルシステムおよびデータベースシステムでは、所望のデータを的確に見つけることが重要である。ファイルあるいはデータベースに格納されたデータを読み出して内容を確認すれば、それが所望のデータであるか否かを確実に知ることができるが、効率は良くない。
【0003】
効率よく所望のデータを見つけるための技術としてオントロジベースデータアクセスとよばれる技術がある(非特許文献1参照)。オントロジベースデータアクセスは、用語(以下「タグ」と称する)の一覧を含むオントロジと、タグとデータの間のマッピングとを予め設定しておき、タグを用いてデータにアクセスする技術である。
【0004】
例えば、オントロジに「病名」というタグを定義し、「病名」というタグと「病名」という用語に関連するデータとの間を関連づけるマッピングを設定しておけば、データを読み出して内容を確認しなくても、「病名」に関連するデータを見つけることができる。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Xiao, Guohui, et al. “Virtual knowledge graphs: An overview of systems and use cases.” Data Intelligence 1.3(2019):201-223.
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、非特許文献1に記載されたオントロジベースデータアクセスは、データの格納場所が変わってしまうと、タグから所望のデータを正しく見つけることができなくなる。また、データの内容が更新されると、マッピングのタグと実際のデータとに不整合が生じ、タグを用いて所望のデータを正しく見つけることができなくなる。
【0007】
本開示のひとつの目的は、データの内容あるいは格納場所が変わってもタグを用いて所望のデータを適切に見つけることを可能にする技術を提供することである。
【課題を解決するための手段】
【0008】
本開示のひとつの態様によるデータ検索システムは、ストレージを備え、前記ストレージにデータを格納するエージェントサーバと、前記データに対して、該データの検索用語であるタグと、該データの格納場所であるストレージとを関連づけたタグ管理情報を管理し、検索指定タグを含むクエリを受け付けて、前記タグ管理情報を参照することにより、該検索指定タグに関連づけられたデータを該データの格納場所から取得して応答するホストサーバと、を有し、前記ホストサーバは、前記タグ管理情報を前記データの内容および格納場所に従って継続的に更新する。
【発明の効果】
【0009】
本開示のひとつの態様によれば、データの内容および格納場所に従ってデータに関連づけるタグが更新されるので、データの内容あるいは格納場所が変わってもタグを用いて所望のデータを適切に見つけることができる。
【図面の簡単な説明】
【0010】
【
図2】ファイルタグ管理テーブル109の一例を示す図である。
【
図3】カラムタグ管理テーブル110の一例を示す図である。
【
図4】ストレージ管理テーブル111の一例を示す図である。
【
図5】キャッシュ管理テーブル112の一例を示す図である。
【
図6】タグサンプル管理テーブル113の一例を示す図である。
【
図7】データ格納場所管理テーブル106の一例を示す図である。
【
図8】ストレージ120に格納されるデータの一例を示す図である。
【
図9】タグデータキャッシュ121に格納されるデータの一例を示す図である。
【
図10】データタグ管理機能部107が実行するデータタグ管理処理のフローチャートである。
【
図11】データタギング機能部117が実行するデータタギング処理のフローチャートである。
【
図12】データタギング機能部117が実行するタグ生成処理のフローチャートである。
【
図13】タグベースデータ検索機能部104が受領するクエリの一例を示す図である。
【
図14】タグベースデータ検索機能部104が実行するタグベース検索処理のフローチャートである。
【
図15】データタギング機能部117が実行する移動判定処理のフローチャートである。
【
図16】タグサンプル管理機能部108が実行するタグサンプル登録処理のフローチャートである。
【発明を実施するための形態】
【0011】
発明を実施するための形態について以下に説明する。
【0012】
【0013】
データ検索システムは、ホストサーバ101と、エージェントサーバ114と、ストレージ120と、タグデータキャッシュ121と、を有している。
【0014】
データ検索システムは、タグベースでのデータ検索を行うシステムである。検索の対象となるデータにはタグが関連付けられる。検索の対象となるデータは例えばファイルである。ストレージ120は、データ検索の対象となるデータを格納する記憶装置である。エージェントサーバ114は、ホストサーバ101からの指示により、ストレージ120に格納されたデータを取り出すサーバ装置である。ホストサーバ101は、ユーザからタグを含むクエリを受け付け、エージェントサーバ114に指示してタグに関連するデータを取得し、ユーザに返送するサーバ装置である。タグデータキャッシュ121は、検索された結果を、それ以降の検索に利用可能に格納するメモリである。
【0015】
ホストサーバ101は、CPU102と、メモリ103とを有する。メモリには、各種機能を実現するソフトウェアプログラムと、各種機能に利用されるテーブルが格納される。タグベースデータ検索機能部104と、データ格納場所管理機能部105と、データタグ管理機能部107と、タグサンプル管理機能部108は、ソフトウェアプログラムにより実現される機能部である。各種機能に利用されるテーブルとして、データ格納場所管理テーブル106と、ファイルタグ管理テーブル109、カラムタグ管理テーブル110と、ストレージ管理テーブル111と、キャッシュ管理テーブル1123と、タグサンプリ管理テーブル113とがある。CPU102は、それらのテーブルを用いてソフトウェアプログラムの処理を実行するプロセッサである。各部の処理および各テーブルの詳細は後述する。
【0016】
エージェントサーバ114は、CPU115と、メモリ116とを有する。メモリ116には各種機能を実現するソフトウェアプログラムが格納される。データタギング機能部117と、データ抽出機能部118と、格納場所チェック機能部119とは、ソフトウェアプログラムにより実現される機能部である。CPU115は、それらソフトウェアプログラムの処理を実行するプロセッサである。各部の処理の詳細は後述する。
【0017】
本実施形態では、ファイルにはカラムがあり、ファイル全体と各カラムとに対してそれぞれタグを関連付けることが可能である。ファイルに関連付けられるタグがファイルタグである。カラムに関連付けられるタグがカラムタグである。
【0018】
図2は、ファイルタグ管理テーブル109の一例を示す図である。ファイルタグ管理テーブル109には、検索対象である各ファイルのファイル名と、当該ファイルに関連付けれらたファイルタグと、当該ファイルが格納されたストレージを識別する情報との対応付けが記録される。
【0019】
図3は、カラムタグ管理テーブル110の一例を示す図である。カラムタグ管理テーブル110には、各ファイルのファイル名と、ファイルに含まれるカラムのカラム番号と、当該カラムに関連付けられたカラムタグと、当該ファイルが格納されたストレージを識別する情報との対応付けが記録される。
【0020】
図4は、ストレージ管理テーブル111の一例を示す図である。ストレージ管理テーブル111には、各ストレージを識別する情報と、当該ストレージの実体が配置されたエージェントのエージェント名と、当該ストレージにアクセスするためのIPアドレスと、当該ストレージにアクセスするためのIDおよびパスワードと、当該ストレージにアクセスするためのポート番号との対応付けが記録されている。
【0021】
図5は、キャッシュ管理テーブル112の一例を示す図である。キャッシュ管理テーブル112には、検索結果が格納されるタグデータキャッシュ121に格納されている内容を管理する情報が記録される。キャッシュ管理テーブル112には、対象となるファイルのファイル名と、当該ファイルに含まれるカラムのカラム番号と、そのカラムに関連付けられたカラムタグと、当該ファイルがキャッシュに格納されていることを示すストレージ情報との対応付けが記録されている。
【0022】
図6は、タグサンプル管理テーブル113の一例を示す図である。タグサンプル管理テーブル113は、タグと、そのタグを付与するデータ(サンプルデータ)とを対応付けるテーブルである。タグサンプル管理テーブル113には、カラムタグに関するタグサンプル管理テーブル113Aと、ファイルタグに関するタグサンプル管理テーブル113Bとが含まれている。
【0023】
タグサンプル管理テーブル113Aには、カラムタグの名称であるカラムタグ名501と、当該カラムタグを付与するデータを示すサンプルデータ502との対応付けが記録されている。
【0024】
タグサンプル管理テーブル113Bには、ファイルタグの名称であるファイルタグ名601と、当該ファイルタグを付与するデータを示すサンプルデータ602との対応付けが記録されている。サンプルデータ602にはカラム名である。ファイルに含まれているカラムにサンプルデータ602に含まれるカラム名のものがあれば、そのファイルにはファイルタグ名601のファイルタグが付与される。
【0025】
図7は、データ格納場所管理テーブル106の一例を示す図である。データ格納場所管理テーブル106は、データの格納場所を管理するテーブルである。データ(ファイル)の格納場所(ストレージ)は必ずしも一定ではなく、あるストレージから他のストレージへファイルが移動することがある。
【0026】
ファイルタグが付与された当初にファイルが格納されたストレージは、ファイルタグ管理テーブル109に記録されるが、その後でファイルの格納場所が他のストレージに移動した場合、その移動先の情報はデータ格納場所管理テーブル106に記録される。
【0027】
データ格納場所管理テーブル106には、移動したファイルのファイル名と、当該ファイルの移動先であるストレージを識別する情報と、当該ファイルが最後に移動され格納場所が移動した日時を示す最終更新日時と、当該ファイルのハッシュ値との対応付けが記録されている。
【0028】
ファイルが移動するとき、ファイルの内容が書き換えられる場合と、ファイルの内容が書き換えられない場合とがある。ファイルの内容が書き換えられた場合には、当該ファイルに関連付けるタグを更新する必要がある可能性がある。そのため、ファイルの内容が書き換えられたか否かを確認することが必要である。ハッシュ値は、ファイルの移動時に内容が書き換えられたか否かを確認するために利用される。
【0029】
図8は、ストレージ120に格納されるデータの一例を示す図である。データ801はCSV(Comma Separated Value)形式である。データ801の1行目がカラム名であり、2行目以降がデータの値である。カラムのPatient_IDは各患者を識別する識別情報である。カラムのDiseaseは病名である。カラムのSymptomは症状である。カラムのEmergencyは緊急度である。YESは緊急性が高いことを示し、NOは緊急性が低いことを示す。
【0030】
図9は、タグデータキャッシュ121に格納されるデータの一例を示す図である。タグデータキャッシュ121に格納されるデータは、検索のクエリに応じた検索結果である。データ901はCSV形式である。データ901の1行目がカラム名であり、2行目以降がデータの値である。
図9の例では、データ901には、患者の識別情報を示すPatient_IDのカラムと、病名を示すDiseaseのカラムとが含まれている。
【0031】
図10は、データタグ管理機能部107が実行するデータタグ管理処理のフローチャートである。データタグ管理処理は、データへのタグ付けを更新する処理である。データタグ管理処理は、例えば、1日1回というように定期的に実行される。
【0032】
ステップS901にて、データタグ管理機能部107は、データ格納場所管理テーブル106から、各エージェントサーバ114におけるタグ付けの情報を抽出する。
【0033】
ステップS902にて、データタグ管理機能部107は、各エージェントサーバ114に対して、データ格納場所管理テーブル106から抽出したファイル名、ストレージ、最終更新日時、およびハッシュ値の情報を送信する。
【0034】
ステップS903にて、データタグ管理機能部107は、各エージェントサーバ114に対して、タグサンプル管理テーブル113に格納された情報を送信する。
【0035】
ステップS904にて、データタグ管理機能部107は、各エージェントサーバ114のデータタギング機能部117に対して、データに対するタグ付け(データタギング)を指示する。データタギングの指示を受けたデータタギング機能部117が実行する処理については後述する。
【0036】
ステップS905にて、データタグ管理機能部107は、データタギング機能部117から、タグ付けの結果を受信する。
【0037】
ステップS906にて、データタグ管理機能部107は、データタギング機能部117から受信したタグ付けの結果をもとに、ファイルタグ管理テーブル109、カラムタグ管理テーブル110、ストレージ管理テーブル111、および、データ格納場所管理テーブル106を更新する。
【0038】
図11は、データタギング機能部117が実行するデータタギング処理のフローチャートである。データタキング処理は、データへタグ付けする処理である。
【0039】
ステップS1001にて、データタギング機能部117は、データタグ管理機能部107から、データタギングの指示を受信する。
【0040】
ステップS1002にて、データタギング機能部117は、ストレージ120に格納されたデータをひとつ取り出す。
【0041】
ステップS1003にて、データタギング機能部117は、取り出した該当データは本エージェントサーバ114によりタグ付け済みのデータか否か判定する。該当データが本エージェントサーバ114によりタグ付け済みであれば、データタギング機能部117はステップS1011に移行する。
【0042】
該当データが本エージェントサーバ114によりタグ付されていなければ、ステップS1004にて、データタギング機能部117は、該当データが他のエージェントから移動されたデータか否か判定する。ここでいう移動は、データ自体には変更がなく単に格納場所が変わったことを言う。該当データが他のエージェントから移動されたデータであるか否かは、該当データのハッシュ値が、データ格納場所管理テーブル106から抽出されたハッシュ値と一致するか否かにより判定できる。該当データが他のエージェントから移動されたデータか否か判定する処理(移動判定処理)は後述する。
【0043】
該当データが他のエージェントから移動されたデータであれば、ステップS1005にて、データタギング機能部117は、該当データが移動したことを、データ格納場所管理機能部105に通知する。該当データが移動したという通知を受けたデータ格納場所管理機能部105は、通知にしたがってデータ格納場所管理テーブル106を更新する。ステップS1005の後、データタギング機能部117はステップS1011に移行する。
【0044】
該当データが他のエージェントから移動されたデータでなければ、ステップS1006にて、データタギング機能部117は、該当データが新規のデータであるか否か判定する。該当データが新規のデータであれば、ステップS1007にて、データタギング機能部117は、該当データが新規のデータであることを、データ格納場所管理機能部105に通知する。該当データが新規のデータであるという通知を受けたデータ格納場所管理機能部105は、通知にしたがってデータ格納場所管理テーブル106に情報を追加する。
【0045】
該当データが新規のデータでないとき、あるいはステップS1007の後、ステップS1008にて、データタギング機能部117は、該当データに対するファイルタグとカラムタグを生成する。ファイルタグおよびカラムタグを生成する処理(タグ生成処理)は後述する。
【0046】
更に、ステップS1009にて、データタギング機能部117は、該当データに対する最終更新日時とハッシュ値を取得する。
【0047】
ステップS1010にて、データタギング機能部117は、ステップS1008にて生成したファイルタグおよびカラムタグをデータタグ管理機能部107に通知し、ステップS1009にて取得した最終更新日時およびハッシュ値をデータ格納場所管理機能部105に通知する。
【0048】
ファイルタグおよびカラムタグの通知を受けたデータタグ管理機能部107は、通知に従ってファイルタグ管理テーブル109およびカラムタグ管理テーブル110を更新する。最終更新日時およびハッシュ値の通知を受けたデータ格納場所管理機能部105は、通知に従ってデータ格納場所管理テーブル106を更新する。
【0049】
ステップS1011にて、データタギング機能部117は、ストレージ120に格納されたすべてのデータを取り出したか否か判定する。取り出していないデータが残っていれば、データタギング機能部117はステップS1002に戻る。すべてのデータを取り出していれば、データタギング機能部117は一連の処理を完了する。
【0050】
図12は、データタギング機能部117が実行するタグ生成処理のフローチャートである。タグ生成処理は上述したステップS1008に相当する処理であり、
図12にはその詳細処理が示される。
【0051】
データタギング機能部117は、ステップS1101にて、該当データ801を読み出す。ステップS1102にて、データ801の1行目をカラム名とみなし、2行目以降をデータ本体とみなす。ステップS1103にて、データタギング機能部117は、そのデータ本体の各カラムとタグサンプル管理テーブル113Aの各行のサンプルデータ502との類似度を算出する。例えば同じ単語が含まれている個数を類似度として用いることができる。
【0052】
ステップS1104にて、データタギング機能部117は、ステップS1103の処理で算出した類似度が既定の閾値以上であるか否か判定する。類似度が閾値以上であれば、ステップS1105にて、データタギング機能部117は、タグサンプル管理テーブル113Aにおける類似度が閾値以上であったサンプルデータ502に対応するカラムタグ名501を、データ801の該当カラムのカラムタグ名にする。類似度が閾値より小さければ、ステップS1106にて、データタギング機能部117は、データ801の1行目のの各カラムのカラム名をそれぞれ各カラムのカラムタグ名とする。
【0053】
ステップS1107にて、データタギング機能部117は、データ801のデータ本体の各カラムのタグ名と、タグサンプル管理テーブル113Bの各行のサンプルデータ602との類似度を算出する。例えば同じ単語が含まれている個数を類似度として用いることができる。
【0054】
ステップS1108にて、データタギング機能部117は、ステップS1107の処理で算出した類似度が既定の閾値以上であるか否か判定する。類似度が閾値以上であれば、ステップS1109にて、データタギング機能部117は、タグサンプル管理テーブル113Bにおける類似度が閾値以上であったサンプルデータ602に対応するファイルタグ名601を、データ801のファイルタグ名にする。類似度が閾値より小さければ、ステップS1110にて、データタギング機能部117は、データ801のファイル名をデータ801のファイルタグ名とする。
【0055】
図13は、タグベースデータ検索機能部104が受領するクエリの一例を示す図である。クエリ1201は、“病名”が”肺炎”であり患者の”診断”に関連するデータを取り出すクエリである。USE_CACHEは検索にキャッシュのデータを利用するか否かの指定である。STORE_CACHEは検索結果をキャッシュに格納するか否かの指定である。クエリ1201には、当該クエリによる検索には、タグデータキャッシュ121に格納されているデータは利用せず、当該クエリによる検索の結果をタグデータキャッシュ121に格納することが指定されている。
【0056】
図14は、タグベースデータ検索機能部104が実行するタグベース検索処理のフローチャートである。
【0057】
タグベースデータ検索機能部104は、ステップS1301にて、クエリを受信すると、ステップS1302にて、そのクエリにUSE_CACHE=YESの指定があるか否か判定する。USE_CACHE=YESの指定があれば、ステップS1309にて、タグベースデータ検索機能部104は、データタグ管理機能部107に対して、当該クエリに合致するデータがタグデータキャッシュ121にあるか否かを問い合わせる。そして、ステップS1310にて、タグベースデータ検索機能部104は、当該クエリに合致するデータがタグデータキャッシュ121にあるか否か判定する。
【0058】
当該クエリに合致するデータがタグデータキャッシュ121にあれば、ステップS1311にて、タグベースデータ検索機能部104は、タグデータキャッシュ121からのデータによりクエリに応答する。当該クエリに合致するデータがタグデータキャッシュ121になければ、ステップS1303にて、タグベースデータ検索機能部104は、データタグ管理機能部107に問い合わせ、クエリに記載されたファイルタグおよびカラムタグを有するデータの一覧を取得する。
【0059】
そして、ステップS1304にて、タグベースデータ検索機能部104は、取得した一覧に含まれるデータが格納されているストレージ120を備えるエージェントサーバ114のデータ抽出機能部118に対し、そのデータの抽出を要求する。
【0060】
エージェントサーバ114では、データ抽出機能部118が、抽出を要求されたデータをストレージ120から抽出し、ホストサーバ101のタグベースデータ検索機能部104に送信する。
【0061】
タグベースデータ検索機能部104は、エージェントサーバ114から一覧に含まれていたデータが受信されるので、ステップS1305にて、それらエージェントサーバ114から受信したデータを統合する。統合とは、例えば、一覧に含まれていたデータを接続して1つのデータにすることである。この統合されたデータが検索結果になる。
【0062】
ステップS1306にて、タグベースデータ検索機能部104は、クエリにSTORE_CACHE=YESの指定があるか否か判定する。クエリにSTORE_CACHE=YESの指定があれば、タグベースデータ検索機能部104は、ステップS1307にて、ステップS1305の処理で統合したデータをタグデータキャッシュ121に登録する。
【0063】
クエリにSTORE_CACHE=YESの指定がないとき、または統合したデータをタグデータキャッシュ121に登録したとき、タグベースデータ検索機能部104は、ステップS1308にて、ステップS1305の処理で統合したデータを用いてクエリに応答する。
【0064】
図15は、データタギング機能部117が実行する移動判定処理のフローチャートである。移動判定処理は上述したステップS1004に相当する処理であり、
図14にはその詳細処理が示される。
【0065】
ステップS1401にて、データタギング機能部117は、該当データが、データ格納場所管理テーブル106に格納されているか否かを、データ格納場所管理機能部105に問い合わせる。ステップS1402にて、データタギング機能部117は、該当データが、データ格納場所管理テーブル106に格納されているか否かを判定する。
【0066】
該当データが、データ格納場所管理テーブル106に格納されていれば、ステップS1403にて、データタギング機能部117は、該当データが格納されているストレージが変更されたか、データ格納場所管理機能部105に問い合わせる。ステップS1404にて、データタギング機能部117は、該当データが格納されているストレージが変更されたか否か判定する。
【0067】
該当データが格納されているストレージが変更されていれば、ステップS1405にて、データタギング機能部117は、該当データが、変更前と同じハッシュ値を有しているか否か判定する。
【0068】
ステップS1402の判定にて、該当データが、データ格納場所管理テーブル106に格納されていないと判定された場合、ステップS1404の判定にて、該当データが格納されているストレージが変更されていないと判定された場合、およびステップS1405の判定にて、該当データが、変更前と同じハッシュ値を有していないと判定された場合、ステップS1407にて、データタギング機能部117は、該当データは、他のエージェントサーバ114から単に移動されたデータではないと特定する。
【0069】
ステップS1405の判定にて、該当データが、変更前と同じハッシュ値を有していると判定された場合、ステップS1406にて、データタギング機能部117は、該当データは、他のエージェントサーバ114から単に移動されたデータであると特定する。
【0070】
図16は、タグサンプル管理機能部108が実行するタグサンプル登録処理のフローチャートである。タグサンプル登録処理は、タグサンプル管理テーブル113にタグサンプルを登録する処理である。タグサンプル登録処理はカラムタグとファイルタグの両方に共通する処理である。
【0071】
ステップS1501にて、タグサンプル管理機能部108は、ユーザから、タグサンプルのタグ名とサンプルデータとを受領する。ステップS1502にて、タグサンプル管理機能部108は、受領したタグ名とサンプルデータをタグサンプル管理テーブル113に登録する。
【0072】
以上説明した実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の範囲を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【0073】
また、本実施形態には以下に示す事項が含まれている。ただし、本実施形態に含まれている事項が以下に示すもののみに限定されることはない。
【0074】
(事項1)
ストレージを備え、前記ストレージにデータを格納するエージェントサーバと、
前記データに対して、該データの検索用語であるタグと、該データの格納場所であるストレージとを関連づけたタグ管理情報を管理し、検索指定タグを含むクエリを受け付けて、前記タグ管理情報を参照することにより、該検索指定タグに関連づけられたデータを該データの格納場所から取得して応答するホストサーバと、を有し、
前記ホストサーバは、前記タグ管理情報を前記データの内容および格納場所に従って継続的に更新する、
データ検索システム。
これによれば、データの内容および格納場所に従ってデータに関連づけるタグが更新されるので、データの内容あるいは格納場所が変わってもタグを用いて所望のデータを適切に見つけることができる。
【0075】
(事項2)
前記ホストサーバは、前記ストレージに格納されているデータに対するタグ付けを前記エージェントサーバに要求を送り、
前記エージェントサーバは、前記要求を受けて、前記ストレージに格納されているデータに関連づけるタグを決定して、前記ホストサーバに通知を送り、
前記ホストサーバは、前記通知を受けて、前記タグ管理情報を更新する、
事項1に記載のデータ検索システム。
これによれば、各エージェントサーバがそれぞれのデータに対してタグ付けを行うので、タグ付けの処理負荷を分散させることができる。
【0076】
(事項3)
前記エージェントサーバは、
前記ストレージに格納されているデータが内容をそのままで他のエージェントサーバから移動されたデータであれば、該データが移動したことを前記ホストサーバに通知し、
前記ストレージに格納されているデータが内容をそのままで他のエージェントサーバから移動されたデータでなければ、該データに関連づけるタグを生成し、前記ホストサーバに通知する、
事項2に記載のデータ検索システム。
これによれば、各エージェントサーバにタグ付けの処理を分散させえた構成において、単にエージェントサーバ間を移動しただけのデータに対してはタグ付けの処理を行わないので、タグ付け処理の負荷を低減することができる。
【0077】
(事項4)
前記ホストサーバは、前記データのハッシュ値を更に管理し、前記タグ付けを要求するとき前記エージェントサーバに送信し、
前記エージェントサーバは、自身にてタグを付与していないデータについてハッシュ値を算出し、該ハッシュ値が、前記ホストサーバから受信したハッシュ値と一致したら、前記データが内容をそのままで他のエージェントサーバから移動されたデータであると判定する、
事項3に記載のデータ検索システム。
これによれば、ハッシュ値を用いてデータの一致を確認するので、データの内容が変更させていないことを容易かつ確実に確認できる。
【0078】
(事項5)
前記エージェントサーバは、前記データが内容をそのままで他のエージェントサーバから移動されたデータであると判定したら、前記ハッシュ値を前記ホストサーバに送信し、
前記ホストサーバは、前記エージェントサーバから受信したハッシュ値を管理する、
事項4に記載のデータ検索システム。
これによれば、ホストサーバは自身でハッシュ値を算出するのではなく、エージェントサーバで生成されたハッシュ値を取得して管理するので、ホストサーガはハッシュ値の算出処理による負荷を負う必要がない。
【0079】
(事項6)
タグと該タグに関連する1つ以上の単語を含むサンプルデータとが予め対応づけられており、
前記エージェントサーバは、前記データと前記サンプルデータの類似度が所定の閾値以上であれば該サンプルデータに対応づけられたタグを前記データに関連づける、
事項2に記載のデータ検索システム。
これによれば、人手によらずにデータにタグを付与することができるので、継続的なタグの更新が容易である。
【0080】
(事項7)
前記データはファイルであり、該ファイルは1つ以上のカラムおよび該カラム名を含む、
ファイルに付与するタグであるファイルタグと該ファイルタグに関連する1つ以上の単語を含むサンプルデータとを対応づけた第1タグサンプル管理情報と、カラムに付与するタグであるカラムタグと該カラムタグに関連する1つ以上の単語を含むサンプルデータとを対応づけた第2タグサンプル管理情報とが予め設定されており、
前記エージェントサーバは、
前記ファイルに含まれる各カラムと前記第2タグサンプル管理情報のサンプルデータとの類似度を算出し、前記類似度が閾値以上であるカラムとサンプルデータがあると、該カラムに、該サンプルデータに対応づけられたカラムタグを付与し、
前記ファイルに含まれるカラム名と前記第1タグサンプル管理情報のサンプルデータとの類似度を算出し、前記ファイルとの類似度が閾値以上であるサンプルデータがあると、該サンプルデータに対応づけられたファイルタグを前記ファイルに付与する、
事項6に記載のデータ検索システム。
これによれば、人手によらずにデータにファイルタグおよびカラムタグを付与することができるので、継続的なファイルタグおよびカラムタグの更新が容易である。
【0081】
(事項8)
前記ホストサーバは、一定時間毎に前記タグ管理情報を更新する、
事項1に記載のデータ検索システム。
これによれば、タグを用いて所望のデータを適切に見つけられる状態を維持することができる。
【符号の説明】
【0082】
101…ホストサーバ、102…CPU、103…メモリ、104…タグベースデータ検索機能部、105…データ格納場所管理機能部、106…データ格納場所管理テーブル、107…データタグ管理機能部、108…タグサンプル管理機能部、109…ファイルタグ管理テーブル、110…カラムタグ管理テーブル、111…ストレージ管理テーブル、112…キャッシュ管理テーブル、113…タグサンプル管理テーブル、113A…タグサンプル管理テーブル、113B…タグサンプル管理テーブル、114…エージェントサーバ、115…CPU、116…メモリ、117…データタギング機能部、118…データ抽出機能部、119…格納場所チェック機能部、120…ストレージ、121…タグデータキャッシュ、501…カラムタグ名、502…サンプルデータ、601…ファイルタグ名、602…サンプルデータ、801…データ、901…データ、1201…クエリ