(57)【特許請求の範囲】
【請求項１】
キーとバリューからなるデータを複数保持し、互いに類似する当該キーを含む当該データからなるデータ群ごとに、当該データを保持するデータ保持部と、
前記データごとに、当該データが保持された位置を示すデータ位置情報と当該データ内のキーに関する条件であるキー条件を含むレコードを有するデータ位置記憶部と、
前記データ群ごとに、当該データ群が保持された位置を示すデータ群位置情報と当該データ群に含まれるデータ内のキーに関する条件であるキー条件を含むレコードを有するデータ群位置記憶部と、
外部から検索要求を受信する検索要求受信部と、
前記検索要求がデータを検索するためのものかデータ群を検索するためのものかを判定する検索要求種別判定部と、
前記データ位置記憶部から、データを検索するためのものと判定された検索要求に対応するキー条件を含むレコードを検索し、当該レコードからデータ位置情報を読み出すデータ位置情報検索部と、
前記データ群位置記憶部から、データ群を検索するためのものと判定された検索要求に対応するキー条件を含むレコードを検索し、当該レコードからデータ群位置情報を読み出すデータ群位置情報検索部と、
前記データ位置情報検索部によりデータ位置情報が読み出されたなら、前記データ保持部から、当該データ位置情報により示される位置に保持されたデータを読み出し、一方、前記データ群位置情報検索部によりデータ群位置情報が読み出されたなら、前記データ保持部から、当該データ群位置情報により示される位置に保持されたデータからなるデータ群を読み出すデータ取得部と
を備えることを特徴とするデータ保持装置。
【請求項２】
前記データ保持部に保持される各データは、外部に保持された外部データの位置を示す外部データ位置情報であり、
前記データ取得部は、読み出したデータである外部データ位置情報により示される位置に保持された外部データを取得する
ことを特徴とする請求項１記載のデータ保持装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キーとバリューからなるデータを、互いに類似するキーまたはバリューを含む当該データからなるデータ群ごとに保持し、キーまたはバリューに対応する検索要求により、データ群を検索することができるデータ保持装置に関するものである。
【背景技術】
【０００２】
従来の範囲検索においては、粒度(10〜30 のような10 単位の範囲や、15〜35 のような5単位の範囲など)を複数種類想定し、それぞれの範囲に対するバリュー を紐付けて管理しておき、クエリによって、それらの複数種類の管理情報を組み合わせて、どのような範囲検索であっても、ある程度高速に範囲に対するバリュー を読み出すことができる仕組みがある。
【０００３】
しかし、このような複数種類の範囲の粒度に対するバリュー への紐付けの情報を保持する必要があり、また、それらを参照して範囲検索を実行する必要もある。このようなコストが掛かるという問題がある。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Range-Key Skip Graph による範囲検索可能な大規模分散キーバリューストアの実現 IPSJ SIG Notes 2010-DPS-144(9), 1-8, 2010-09-10
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のように、多様な条件検索を実現するためには、そのためのコストが掛かることになる。一方、条件検索のバリエーションが限定されるような利用のみが想定される場合、それほどのコストを必要としない条件検索方法があれば有効である。
【０００６】
例えば、加入者情報を保持する場合を考えると、加入者情報は市外局番で条件検索されることが予め想定され、それ以外の条件で検索されることは想定できない。このような限定された条件検索のみが想定される状況で、想定される条件検索のみを実現することで、条件検索のためのコストを抑える手法が必要となる。
【０００７】
本発明は、上記の課題に鑑みてなされたものであり、その目的とするところは、キーとバリューからなるデータを、互いに類似するキーまたはバリューを含む当該データからなるデータ群ごとに保持し、キーまたはバリューに対応する検索要求により、データ群を検索することができるデータ保持装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、第１の本発明は、キーとバリューからなるデータを複数保持し、互いに類似する当該キーを含む当該データからなるデータ群ごとに、当該データを保持するデータ保持部と、前記データごとに、当該データが保持された位置を示すデータ位置情報と当該データ内のキーに関する条件であるキー条件を含むレコードを有するデータ位置記憶部と、前記データ群ごとに、当該データ群が保持された位置を示すデータ群位置情報と当該データ群に含まれるデータ内のキーに関する条件であるキー条件を含むレコードを有するデータ群位置記憶部と、外部から検索要求を受信する検索要求受信部と、前記検索要求がデータを検索するためのものかデータ群を検索するためのものかを判定する検索要求種別判定部と、前記データ位置記憶部から、データを検索するためのものと判定された検索要求に対応するキー条件を含むレコードを検索し、当該レコードからデータ位置情報を読み出すデータ位置情報検索部と、前記データ群位置記憶部から、データ群を検索するためのものと判定された検索要求に対応するキー条件を含むレコードを検索し、当該レコードからデータ群位置情報を読み出すデータ群位置情報検索部と、前記データ位置情報検索部によりデータ位置情報が読み出されたなら、前記データ保持部から、当該データ位置情報により示される位置に保持されたデータを読み出し、一方、前記データ群位置情報検索部によりデータ群位置情報が読み出されたなら、前記データ保持部から、当該データ群位置情報により示される位置に保持されたデータからなるデータ群を読み出すデータ取得部とを備えることを特徴とするデータ保持装置をもって解決手段とする。
【発明の効果】
【００１０】
本発明によれば、キーとバリューからなるデータを、互いに類似するキーまたはバリューを含む当該データからなるデータ群ごとに保持し、キーまたはバリューに対応する検索要求により、データ群を検索することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態に係る検索システムの構成を示す図である。
【図２】データ保持装置２におけるデータ保持の態様の一例を示す図である。
【図３】データ保持装置２の構成を説明するための図である。
【図４】検索部２２の構成を説明するための図である。
【図５】位置情報取得部２２２の構成を説明するための図である。
【図６】データ保持部２４の構成を説明するための図である。
【図７】本実施の形態におけるデータ検索のシーケンスを示す図である。
【図８】本実施の形態におけるデータ検索の検索要求受信部２１、検索部２２およびデータ保持部２４でのシーケンスを示す図である。
【図９】本実施の形態におけるデータ検索の検索要求受信部２２１、位置情報取得部２２２、位置情報送信部２２３およびデータ保持部２４でのシーケンスを示す図である。
【図１０】本実施の形態におけるデータ検索の検索要求受信部２１およびデータ保持部２４でのシーケンスを示す図である。
【図１１】互いに類似するバリューを含むデータからなる複数のデータをデータ群とした場合のデータ保持装置２におけるデータ保持の態様の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について図面を参照して説明する。
【００１３】
図１は、本実施の形態に係る検索システムの構成を示す図である。  
検索システムは、相互に通信可能なデータ取得装置１とデータ保持装置２を備え、データ取得装置１は検索要求をデータ保持装置２に送信し、データ保持装置２は検索要求により検索したデータやデータ群を含む検索結果をデータ取得装置１に送信する。
【００１４】
図２は、データ保持装置２におけるデータ保持の態様の一例を示す図である。  
データ保持装置２のデータ保持部２４１は、キーとバリューからなるデータを複数保持し、しかも、データは、互いに類似するキーを含むデータからなる複数のデータ（データ群という）ごとに保持される。
【００１５】
キーは例えば、電話番号であり、バリューは例えば、その電話番号の電話を使用する加入者の加入者情報である。加入者情報は、例えば、加入者名（図では読みを示す）を含んでいる。
【００１６】
例えば、同じデータ群内の各データのキー（電話番号）は、同じ市外局番を含む。さらに、同じデータ群内のキー（電話番号）は、例えば、偶数または奇数で統一してもよい。
【００１７】
図の数字列「００１」などは、データ群位置情報であり、データ群位置情報は、その下に記載した複数のデータが保持される位置を示すものである。
【００１８】
数字列「００１」とその下の各データの左隣に記載した数字「１」などは、データ位置情報を構成するものであり、データ位置情報は、その数字「１」などの右隣に記載したデータが保持される位置を示すものである。
【００１９】
検索システムは、このように保持された複数のデータから、１つのデータや１つのデータ群を検索する。
【００２０】
図３は、データ保持装置２の構成を説明するための図である。データ保持装置２は、データ取得装置１から検索要求を受信する検索要求受信部２１と、検索要求に基づいてデータやデータ群の位置を示す位置情報を求め、位置情報の位置に保持されたデータやデータ群を取得する検索部２２と、取得されたデータやデータ群を含む検索結果をデータ取得装置１に送信する検索結果送信部２３と、図２に示す態様でデータを保持するデータ保持部２４とを備える。
【００２１】
図４は、検索部２２の構成を説明するための図である。検索部２２は、検索要求受信部２１から検索要求を受信する検索要求受信部２２１と、検索要求に基づいて、データやデータ群の位置を示す位置情報を取得する位置情報取得部２２２と、位置情報をデータ保持部２４に送信する位置情報送信部２２３と、データ保持部２４からデータやデータ群を受信する検索結果受信部２２４と、受信されたデータやデータ群を検索結果送信部２３に送信する検索結果送信部２２５とを備える。
【００２２】
図５は、位置情報取得部２２２の構成を説明するための図である。位置情報取得部２２２は、検索要求受信部２２１から検索要求を受信し、検索要求がデータを検索するためのものかデータ群を検索するためのものかを判定する検索要求種別判定部２２２１と、データ保持部２４に保持されるデータごとに、当該データが保持された位置を示すデータ位置情報と当該データ内のキーに関する条件であるキー条件を含むレコードを有するデータ位置記憶部２２２２と、データ保持部２４に保持されるデータ群ごとに、当該データ群が保持された位置を示すデータ群位置情報と当該データ群に含まれるデータ内のキーに関する条件であるキー条件を含むレコードを有するデータ群位置記憶部２２２３と、データ位置記憶部２２２２から、データを検索するためのものと判定された検索要求に対応するキー条件を含むレコードを検索し、当該レコードからデータ位置情報を読み出し、データ位置情報を位置情報送信部２２３に送信するデータ位置情報検索部２２２４と、データ群位置記憶部２２２３から、データ群を検索するためのものと判定された検索要求に対応するキー条件を含むレコードを検索し、当該レコードからデータ群位置情報を読み出し、データ群位置情報を位置情報送信部２２３に送信するデータ群位置情報検索部２２２５とを備える。
【００２３】
データ群位置記憶部２２２３において、キー条件は、例えば、市外局番である。  
データ位置記憶部２２２２において、キー条件は、例えば、電話番号である。
【００２４】
図６は、データ保持部２４の構成を説明するための図である。データ保持部２４は、図２に示す態様でデータを保持するデータ保持部２４１と、検索要求受信部２１から位置情報を受信する位置情報受信部２４２と、位置情報がデータ位置情報であるなら、データ保持部２４１からデータ位置情報の位置に保持されたデータを読み出し、位置情報がデータ群位置情報であるなら、データ保持部２４１からデータ群位置情報の位置に保持されたデータ群を読み出すデータ取得部２４３と、読み出したデータやデータ群を検索要求受信部２１に送信する検索結果送信部２４４とを備える。
【００２５】
図７は、本実施の形態におけるデータ検索のシーケンスを示す図である。  
データ取得装置１は、データ保持装置２に検索要求を送信する（Ｓ１）。
【００２６】
データを検索する場合の検索要求は、例えば、電話番号「０４２２−５９−００００」である。一方、データ群を検索する場合の検索要求は、例えば、市外局番「０４２２」である。前者の検索要求は、キー（電話番号）であり、後者の検索要求は、キー（電話番号）に含まれる市外局番である。
【００２７】
データ保持装置２の検索要求受信部２１は、検索要求を受信し（Ｓ１）、受信した検索要求を検索部２２に送信する（Ｓ３）。検索部２２は、検索要求を受信し（Ｓ３）、受信した検索要求に基づいて、検索すべきデータやデータ群の位置を示す位置情報を取得し（Ｓ５）、取得した位置情報をデータ保持部２４に送信する（Ｓ７）。データ保持部２４は、位置情報を受信し（Ｓ７）、受信した位置情報の位置に保持されたデータやデータ群を読み出し（Ｓ９）、データやデータ群を検索部２２に送信する（Ｓ１１）。検索部２２は、データやデータ群を受信し（Ｓ１１）、受信したデータやデータ群を検索要求受信部２１に送信する（Ｓ１３）。検索要求受信部２１は、データやデータ群を受信し（Ｓ１３）、受信したデータやデータ群を含む検索結果をデータ取得装置１に送信する（Ｓ１５）。データ取得装置１は、データやデータ群を受信し（Ｓ１５）、例えば、受信したデータやデータ群を表示装置など（不図示）に表示させる。
【００２８】
図８は、本実施の形態におけるデータ検索の検索要求受信部２１、検索部２２およびデータ保持部２４でのシーケンスを示す図である。
【００２９】
検索要求受信部２１は、図７のＳ１で受信した検索要求を検索部２２に送信する（Ｓ３）。検索部２２の検索要求受信部２２１は、検索要求を受信し（Ｓ３）、受信した検索要求を位置情報取得部２２２に送信する（Ｓ２１）。位置情報取得部２２２は、検索要求を受信し（Ｓ２１）、受信した検索要求に基づいて、検索すべきデータやデータ群の位置を示す位置情報を取得し（Ｓ２３）、取得した位置情報を位置情報送信部２２３に送信する（Ｓ２５）。位置情報送信部２２３は、位置情報を受信し（Ｓ２５）、受信した位置情報をデータ保持部２４に送信する（Ｓ２７）。データ保持部２４は、位置情報を受信し（Ｓ２７）、受信した位置情報の位置に保持されたデータやデータ群を読み出し（Ｓ２９）、読み出したデータやデータ群を検索結果受信部２２４に送信する（Ｓ３１）。検索結果受信部２２４は、データやデータ群を受信し（Ｓ３１）、受信したデータやデータ群を検索結果送信部２２５に送信する（Ｓ３３）。検索結果送信部２２５は、データやデータ群を受信し（Ｓ３３）、受信したデータやデータ群を検索要求受信部２１に送信する（Ｓ３５）。検索要求受信部２１は、データやデータ群を受信する（Ｓ３５）。
【００３０】
図９は、本実施の形態におけるデータ検索の検索要求受信部２２１、位置情報取得部２２２、位置情報送信部２２３およびデータ保持部２４でのシーケンスを示す図である。
【００３１】
検索要求受信部２２１は、図８のＳ３で受信した検索要求を位置情報取得部２２２に送信する（Ｓ２１）。位置情報取得部２２２の検索要求種別判定部２２２１は、検索要求を受信し（Ｓ２１）、検索要求がデータを検索するためのものかデータ群を検索するためのものかを判定する（Ｓ４１）。検索要求種別判定部２２２１は、例えば、検索要求内の文字数が市外局番になりうる最大桁数以下なら、検索要求はデータ群を検索するためのものであると判定し、最大桁数より多いなら、検索要求はデータを検索するためのものであると判定する。
【００３２】
検索要求種別判定部２２２１は、検索要求がデータを検索するためのものであったなら（Ｓ４３：ＮＯ）、受信した検索要求をデータ位置情報検索部２２２４に送信する（Ｓ４５）一方、検索要求がデータ群を検索するためのものであったなら（Ｓ４３：ＹＥＳ）、検索要求をデータ群位置情報検索部２２２５に送信する（Ｓ４７）。
【００３３】
データ位置情報検索部２２２４は、検索要求を受信し（Ｓ４５）、データ位置記憶部２２２２から、検索要求に対応するキー条件を含むレコードを検索し、当該レコードからデータ位置情報を読み出し（Ｓ５１）、読み出したデータ位置情報を位置情報送信部２２３に送信する（Ｓ５３）。位置情報送信部２２３は、データ位置情報を受信し（Ｓ５３）、受信したデータ位置情報をデータ保持部２４に送信する（Ｓ５５）。データ保持部２４は、データ位置情報を受信する（Ｓ５５）。
【００３４】
一方、データ群位置情報検索部２２２５は、検索要求を受信し（Ｓ４７）、データ群位置記憶部２２２３から、検索要求に対応するキー条件を含むレコードを検索し、当該レコードからデータ群位置情報を読み出し（Ｓ５７）、読み出したデータ群位置情報を位置情報送信部２２３に送信する（Ｓ５９）。位置情報送信部２２３は、データ群位置情報を受信し（Ｓ５９）、受信したデータ群位置情報をデータ保持部２４に送信する（Ｓ６１）。データ保持部２４は、データ群位置情報を受信する（Ｓ６１）。
【００３５】
図１０は、本実施の形態におけるデータ検索の検索要求受信部２１およびデータ保持部２４でのシーケンスを示す図である。
【００３６】
検索部２２は、図９で示したように、データ位置情報やデータ群位置情報などの位置情報をデータ保持部２４に送信する（Ｓ５５、Ｓ６１）。
【００３７】
データ保持部２４の位置情報受信部２４２は、位置情報を受信し（Ｓ５５、Ｓ６１）、受信した位置情報をデータ取得部２４３に送信する（Ｓ７１）。データ取得部２４３は、位置情報を受信する（Ｓ７１）。データ取得部２４３は、位置情報がデータ位置情報であるなら、データ保持部２４１から、当該データ位置情報により示される位置に保持されたデータを読み出す（Ｓ７３）。一方、データ取得部２４３は、位置情報がデータ群位置情報であるなら、データ保持部２４１から、当該データ群位置情報により示される位置に保持されたデータ群を読み出す（Ｓ７３）。
【００３８】
図２において、データ位置情報が数字列「００２」と数字「１」から構成されるものであるなら、キー「０３−２２２−０００１」とバリュー「高橋政夫（たかはしまさお）、…」からなるデータが読み出される。
【００３９】
例えば、データ群位置情報が数字列「００２」であるなら、キー「０３−２２２−０００１」とバリュー「高橋政夫（たかはしまさお）、…」からなるデータおよびその下に記載されたデータからなるデータ群が読み出される。
【００４０】
図１０に戻り、データ取得部２４３は、読み出したデータやデータ群を検索結果送信部２４４に送信する（Ｓ７５）。検索結果送信部２４４は、データやデータ群を受信し（Ｓ７５）、受信したデータやデータ群を検索要求受信部２１に送信する（Ｓ７７）。検索要求受信部２１は、データやデータ群を受信する（Ｓ７７）。なお、Ｓ７７は、図８のＳ３１のことである。
【００４１】
したがって、本実施の形態によれば、データ保持装置２は、キーとバリューからなるデータを複数保持し、互いに類似する当該キーを含む当該データからなるデータ群ごとに、当該データを保持するデータ保持部２４１と、データごとに、当該データが保持された位置を示すデータ位置情報と当該データ内のキーに関する条件であるキー条件を含むレコードを有するデータ位置記憶部２２２２と、データ群ごとに、当該データ群が保持された位置を示すデータ群位置情報と当該データ群に含まれるデータ内のキーに関する条件であるキー条件を含むレコードを有するデータ群位置記憶部２２２３と、外部から検索要求を受信する検索要求受信部２１と、検索要求がデータを検索するためのものかデータ群を検索するためのものかを判定する検索要求種別判定部２２２１と、データ位置記憶部２２２２から、データを検索するためのものと判定された検索要求に対応するキー条件を含むレコードを検索し、当該レコードからデータ位置情報を読み出すデータ位置情報検索部２２２４と、データ群位置記憶部２２２３から、データ群を検索するためのものと判定された検索要求に対応するキー条件を含むレコードを検索し、当該レコードからデータ群位置情報を読み出すデータ群位置情報検索部２２２５と、データ位置情報検索部２２２４によりデータ位置情報が読み出されたなら、データ保持部２４１から、当該データ位置情報により示される位置に保持されたデータを読み出し、一方、データ群位置情報検索部２２２５によりデータ群位置情報が読み出されたなら、データ保持部２４１から、当該データ群位置情報により示される位置に保持されたデータからなるデータ群を読み出すデータ取得部２４３とを備えることで、キー（電話番号など）に対応する検索要求により、データおよびデータ群（互いに類似するキーを含むデータからなる複数のデータ）を検索することができる。
【００４２】
例えば、データ群の検索では、同じ市外局番の電話番号をもつ加入者の加入者情報を一括で検索できる。
【００４３】
なお、本実施の形態では、互いに類似するキーを含むデータからなる複数のデータをデータ群としたが、互いに類似するバリューを含むデータからなる複数のデータをデータ群としてもよい。
【００４４】
図１１は、互いに類似するバリューを含むデータからなる複数のデータをデータ群とした場合のデータ保持装置２におけるデータ保持の態様の一例を示す図である。
【００４５】
データ保持部２４１においては、例えば、同じデータ群内の各データのバリュー（加入者情報）に含まれる加入者名（読み）の先頭文字は同じになっている。
【００４６】
この場合、データ群位置記憶部２２２３は、データ群ごとに、当該データ群が保持された位置を示すデータ群位置情報と当該データ群に含まれるデータ内のバリューに関する条件であるバリュー条件を含むレコードを有すればよい。
【００４７】
なお、このようにバリューを基にデータ群を形成する場合は、データ位置情報記憶部２２２２、検索要求種別判定部２２２１およびデータ位置情報検索部２２２４は不要である。
【００４８】
データ群位置記憶部２２２３において、バリュー条件は、例えば、加入者名の読みの先頭文字である。
【００４９】
また、検索要求は、データ群を検索するためのものであり、例えば、加入者名の読みの先頭文字とすればよい。つまり、検索要求は、バリュー（加入者情報）に対応するものとすればよい。
【００５０】
データ群位置情報検索部２２２５は、データ群位置記憶部２２２３から、検索要求に対応するバリュー条件を含むレコードを検索し、当該レコードからデータ群位置情報を読み出すものすればよい。
【００５１】
こうすることで、例えば、加入者名の読みの先頭文字を示す検索要求により、データ群（互いに類似するバリューを含むデータからなる複数のデータ）を検索することができる。
【００５２】
また、データ保持部２４１に保持される各データは、外部（例えば、インターネット内の各所、または、データ保持装置２における別のデータ保持部）に保持された外部データの位置を示す外部データ位置情報でもよい。外部データ位置情報は、例えば、インターネットのＵＲＬ（Uniform Resource Locator）や別のデータ保持部でのアドレスである。
【００５３】
この場合、データ取得部２４３は、読み出したデータである外部データ位置情報により示される位置に保持された外部データを取得し、以降、外部データが上記実施の形態のデータと同様な流れで、最終的にはデータ取得装置１に送信される。
【００５４】
また、本実施の形態では、キーを電話番号、バリューを加入者情報としたが、これに限らず、キー、バリューは任意の情報とすることができる。
【００５５】
なお、データ保持装置２としてコンピュータを機能させるためのコンピュータプログラムは、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に記録でき、また、インターネットなどの通信網を介して伝送させて、広く流通させることができる。
【符号の説明】
【００５６】
１…データ取得装置
２…データ保持装置
２１…検索要求受信部
２２…検索部
２３…検索結果送信部
２４…データ保持部
２２１…検索要求受信部
２２２…位置情報取得部
２２３…位置情報送信部
２２４…検索結果受信部
２２５…検索結果送信部
２４１…データ保持部
２４２…位置情報受信部
２４３…データ取得部
２４４…検索結果送信部
２２２１…検索要求種別判定部
２２２２…データ位置記憶部
２２２３…データ群位置記憶部
２２２４…データ位置情報検索部
２２２５…データ群位置情報検索部
【図１】
0005613215.tif 000002
【図２】
0005613215.tif 000003
【図３】
0005613215.tif 000004
【図４】
0005613215.tif 000005
【図５】
0005613215.tif 000006
【図６】
0005613215.tif 000007
【図７】
0005613215.tif 000008
【図８】
0005613215.tif 000009
【図９】
0005613215.tif 000010
【図１０】
0005613215.tif 000011
【図１１】
0005613215.tif 000012