JP5810982B2 - SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM - Google Patents
SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM Download PDFInfo
- Publication number
- JP5810982B2 JP5810982B2 JP2012053856A JP2012053856A JP5810982B2 JP 5810982 B2 JP5810982 B2 JP 5810982B2 JP 2012053856 A JP2012053856 A JP 2012053856A JP 2012053856 A JP2012053856 A JP 2012053856A JP 5810982 B2 JP5810982 B2 JP 5810982B2
- Authority
- JP
- Japan
- Prior art keywords
- identifier
- search
- data store
- information
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、情報を検索する検索装置、検索方法、および検索プログラムに関する。 The present invention relates to a search device, a search method, and a search program for searching for information.
近年、システムの大規模化や業務の多様化に伴い、データを記憶するストレージを用いて、多種多様なデータを効率よく操作することが求められている。たとえば、複数のストレージに関する技術として、複数のストレージシステムのボリューム情報を統合して収集することにより、複数のストレージシステムの利用状況の監視を容易にするものがある(たとえば、下記特許文献1を参照。)。
In recent years, with the expansion of the scale of systems and the diversification of business operations, it has been required to efficiently operate a wide variety of data using a storage for storing data. For example, as a technique related to a plurality of storages, there is one that facilitates monitoring of the usage status of a plurality of storage systems by integrating and collecting volume information of a plurality of storage systems (see, for example,
しかしながら、上述した従来技術において、ストレージを割り当てるデータストアを複数用いてシステムを運用している状態において、特定のデータストアに格納されたデータを他のデータストアに移行する場合、移行負荷が大きくなる。たとえば、複数のデータストアのうちの一つのデータストアに、残余のデータストアに格納したデータへの格納位置を記憶し、移行処理を実行する装置が、残余のデータストアのうち特定のデータストアに格納されたデータを他のデータストアに移行するとする。このとき、移行処理の一部として、一つのデータストアに記憶されている、データへの格納位置を変更する処理があり、特定のデータストアに蓄積されたデータが多い場合、変更量が多くなるため、移行負荷が大きくなる。 However, in the above-described prior art, when the system is operated using a plurality of data stores to which storage is allocated, the migration load increases when data stored in a specific data store is migrated to another data store. . For example, in one data store of a plurality of data stores, the storage position in the data stored in the remaining data store is stored, and the device that executes the migration process stores the data in the specific data store among the remaining data stores. Suppose you want to migrate stored data to another data store. At this time, as part of the migration process, there is a process for changing the storage position in the data stored in one data store, and the amount of change increases when there is a lot of data accumulated in a specific data store. Therefore, the transition load becomes large.
本発明は、上述した従来技術による問題点を解消するため、移行負荷を低減できる検索装置、検索方法、および検索プログラムを提供することを目的とする。 An object of the present invention is to provide a search device, a search method, and a search program that can reduce the migration load in order to solve the above-described problems caused by the prior art.
上述した課題を解決し、目的を達成するため、本発明の一側面によれば、特定の属性を有する情報群のうち検索条件に合致する情報の検索要求を受け付け、特定の属性によって指定される値の格納位置を示す第1の識別子または指定される値を識別する第2の識別子のうち少なくとも特定の属性を有する情報に基づいて特定された識別子を第1のデータストアの制御によって記憶する第1の記憶部を参照して、検索条件に合致する情報を検索し、検索された検索条件に合致する情報に基づいて、第1の識別子および第2の識別子のうち第1のデータストアとは異なる第2のデータストアの制御によって指定される値を記憶する第2の記憶部へのアクセスに用いる識別子を決定し、決定された識別子が第2の識別子である場合、第2の識別子および指定される値の格納位置の関係を示す情報と第2の識別子とに基づいて、指定される値の格納位置を示す識別子を生成し、生成された格納位置を示す識別子または第1の識別子を用いて、指定される値にアクセスする検索装置、検索方法、および検索プログラムが提案される。
In order to solve the above-described problems and achieve the object, according to one aspect of the present invention, a search request for information that matches a search condition among information groups having a specific attribute is received and specified by the specific attribute. A first identifier indicating a storage location of the value or a second identifier for identifying a specified value, the identifier specified based on information having at least a specific attribute is stored under control of the first data store; The first data store is searched for information that matches the search condition with reference to the
本発明の一側面によれば、移行負荷の低減化を図ることができるという効果を奏する。 According to one aspect of the present invention, it is possible to reduce the transition load.
以下に添付図面を参照して、開示の検索装置、検索方法、および検索プログラムの実施の形態を詳細に説明する。 Exemplary embodiments of a disclosed search device, search method, and search program will be described below in detail with reference to the accompanying drawings.
図1は、検索装置の動作例を示す説明図である。複数のデータストアを統合するデータストア統合システム100は、ライフログデータを検索する検索装置101と、ライフログデータを記憶する記憶領域を制御するデータストアである、データストア#0と、データストア#1と、データストア#2を有する。また、データストア統合システム100は、識別子生成ルールテーブル111を有する。また、ライフログデータとは、人間の生活、行動、体験等を、映像・音声・位置情報などのデジタルデータとして記録したデータである。本実施の形態において、データストア統合システム100は、ライフログデータの日付、歩数、ランチコメント、ランチ写真という4つの属性を蓄積する。
FIG. 1 is an explanatory diagram illustrating an operation example of the search device. A data
データストア#0は、ライフログデータの検索インデクスを制御する。検索インデクスとは、ライフログデータを検索するための索引を示す。具体的に、データストア#0の種別は、RDB(Relational DataBase)である。データストア#0が制御する記憶領域は、レコード112−1〜レコード112−7を記憶する。なお、レコード112−1〜レコード112−3は、検索頻度が高いレコードであるとする。検索頻度が高いレコードは、レコード数が少ないものとする。また、レコード112−4〜レコード112−7は、検索頻度が低いレコードであるとする。検索頻度が低いレコードは、レコード数が多いものとする。検索インデクスのレコードが、このような検索頻度、レコード数となる理由としては、図10にて後述する。
また、データストア#1の種別は、KVS(Key Value Store)である。データストア#1が制御する記憶領域に記憶されているデータについては、図5にて後述する。さらに、データストア#2の種別は、ファイルシステムである。データストア#2が制御する記憶領域は、dataディレクトリの中に、画像ファイルfile#99と、画像ファイルfile#98と、画像ファイルfile#88を記憶する。データストアの種別の詳細については、図2にて後述する。
The type of the
また、ライフログデータの4つの属性のうち、日付属性と歩数属性によって指定される値は、データストア#0が制御する記憶領域に記憶される。ランチコメント属性によって指定される値は、データストア#1が制御する記憶領域に記憶される。ランチ写真属性によって指定される値は、データストア#2が制御する記憶領域に記憶される。なお、データストア#0〜データストア#2が制御する記憶領域の記憶内容の詳細については、図5にて後述する。
Of the four attributes of the life log data, values specified by the date attribute and the step count attribute are stored in a storage area controlled by the
また、データストア#0が制御する記憶領域には、ランチコメント属性によって指定される値とランチ写真属性によって指定される値の格納位置を示す識別子を記憶するフィールドを有する。以下、この識別子を、データストア依存識別子と呼称する。さらに、データストア#0が制御する記憶領域には、ランチコメント属性によって指定される値とランチ写真属性によって指定される値を識別する識別子を記憶するフィールドを有する。以下、この識別子を、データストア非依存識別子と呼称する。本実施の形態で示すデータストア非依存識別子は、ランチコメント属性によって指定される値とランチ写真属性によって指定される値に同一の識別子を用いているが、異なる識別子を用意してもよい。
Further, the storage area controlled by the
識別子生成ルールテーブル111は、データストア非依存識別子と属性によって指定される値の格納位置の関係を示す情報である。図1の例では、識別子生成ルールテーブル111は、データストア非依存識別子とデータストア#2が制御する記憶領域に格納されたランチ写真属性によって指定される値の格納位置の関係を示す情報を記憶している。具体的に、識別子生成ルールテーブル111は、ランチ写真属性によって指定される値が、識別子フィールドを用いて“/data/file#{識別子}”で示される位置に格納されていることを示している。
The identifier generation rule table 111 is information indicating the relationship between the data store-independent identifier and the storage position of the value specified by the attribute. In the example of FIG. 1, the identifier generation rule table 111 stores information indicating the relationship between the data store-independent identifier and the storage position of the value specified by the lunch photo attribute stored in the storage area controlled by the
初めに、検索装置101は、検索要求121を受け付ける。検索要求121の検索条件は、歩数が5000歩であり、かつ日付が2011/7/1から2011/8/31である。次に、検索装置101は、検索要求121の検索条件に合致したレコードを検索する。図1の例では、検索要求121の検索条件に合致したレコードは、レコード112−1と、レコード112−4となる。
First, the
続けて、検索条件に合致したレコード112−1とレコード112−4について、検索装置101は、データストア依存識別子とデータストア非依存識別子のうちデータストア#2へのアクセスに用いる識別子を決定する。レコード112−1について、検索頻度が高いため、検索装置101は、データストア依存識別子“/data/file#99”を用いてデータストア#2が制御する記憶領域にアクセスし、画像ファイルfile#99を取得する。
Subsequently, for the records 112-1 and 112-4 that match the search condition, the
また、レコード112−4について、検索頻度が低いため、検索装置101は、識別子“88”と識別子生成ルールテーブル111内の“/data/file#{識別子}”を用いて、格納位置を示す識別子“/data/file#88”を生成する。続けて、検索装置101は、識別子“/data/file#88”を用いて、データストア#2が制御する記憶領域にアクセスし、画像ファイルfile#88を取得する。
Further, since the search frequency of the record 112-4 is low, the
このように、検索装置101は、検索頻度の高い情報にはデータストアでの属性の格納位置を示すデータストア依存識別子を付与し、検索頻度の低い情報には属性の識別子となるデータストア非依存識別子を付与して格納位置を生成する。これにより、検索装置101は、属性の移行処理には、検索頻度の高いレコードのデータストア依存識別子を変更すればよく、移行処理の負荷を低減できる。以下、検索装置101について、図2〜図17を用いて詳細に説明する。
As described above, the
図2は、データストア統合システムの接続例を示す説明図である。データストア統合システム100は、クライアント201と、クライアント202と、検索装置101と、データストア群203を含む。クライアント201と、クライアント202と、検索装置101は、ネットワーク210で接続されている。
FIG. 2 is an explanatory diagram showing a connection example of the data store integrated system. The data
クライアント201は、携帯電話機として、スマートフォンであってもよいし、PHS(Personal Handyphone System)であってもよいし、タブレット型端末であってもよい。クライアント202は、デスクトップ型PC(Personal Computer)である。検索装置101は、クライアント201またはクライアント202上で動作するアプリケーションソフトウェアからの検索要求に応じて、検索条件に対応する情報を取得して、アプリケーションソフトウェアに返却する。アプリケーションソフトウェアは、以下、“アプリ”と称する。
The
データストア群203は、データストア#0〜データストア#2を含む。データストアとは、データを決められた形式で記憶領域に記憶するソフトウェアである。図1で示したように、データストア#0の種別は、RDBである。また、データストア#1の種別がKVSである。さらに、データストア#2の種別は、ファイルシステムである。
The
RDBは、構造化した情報をテーブルに蓄積し、各カラムの値に関する条件を指定して、情報をテーブルから読み出す。RDBは、複雑な検索処理や、結果の集計処理を得意とする。KVSは、識別子となるキーに値を対応付け、キーを指定して対応する値を取得する。KVSは、ノードを追加することにより、容易にスケーラビリティを向上することが可能である。ファイルシステムは、識別子となるファイル名を指定して、コンテンツを読み書きする。ファイルシステムは、コンテンツのサイズが大きくてもよい。また、ファイルシステムは、ノードを追加することにより、容易にスケーラビリティを向上することができる。 The RDB accumulates structured information in a table, specifies conditions regarding the value of each column, and reads the information from the table. RDB excels at complex search processing and result tabulation. The KVS associates a value with a key serving as an identifier, and acquires a corresponding value by designating the key. KVS can easily improve scalability by adding nodes. The file system reads and writes content by designating a file name as an identifier. The file system may have a large content size. In addition, the file system can easily improve scalability by adding nodes.
また、RDB、KVS、ファイルシステム以外のデータストアとして、たとえば、全文検索エンジンがある。全文検索エンジンは、構造化されていない情報を蓄積し、フィールドの値やテキストに含まれる文字列を指定して検索する。なお、構造化されていない情報とは、たとえば、情報ごとに異なるフィールドを有していたり、1フィールドに複数の値を有していたり、または、テキスト情報である。 As a data store other than RDB, KVS, and file system, for example, there is a full text search engine. The full-text search engine accumulates unstructured information and searches by specifying a field value or a character string included in the text. The unstructured information is, for example, a field that differs for each information, a plurality of values in one field, or text information.
また、データストアはソフトウェアであるから、データストア#0〜データストア#2を実行する装置は、検索装置101であってもよいし、外部の装置であってもよい。外部の装置であれば、たとえば、外部の装置は、データストア#0〜データストア#2を実行して、データストア#0〜データストア#2それぞれが管理する記憶装置を制御する。データストア#0〜データストア#2を実行する装置は、同一であってもよいし、異なっていてもよい。
Further, since the data store is software, the device that executes the
図2で示すように、データストア統合システム100は、複数のデータストアを組合せて、クライアント201やクライアント202にライフログデータを利用するサービスを提供する。具体的なデータストアの組合せ方としては、RDBであるデータストア#0が制御する記憶領域を検索インデクスとする。また、KVSであるデータストア#1やファイルシステムであるデータストア#2が制御する記憶領域は、ライフログデータの各属性のうち、それぞれのデータストアが最適な属性を記憶する。どのデータストアがどの属性を記憶するかについては、属性によって指定される値のサイズ、属性全体の蓄積量、値に対する更新頻度や検索条件の指定の有無等によって、データストア統合システム100の開発者が決定する。
As shown in FIG. 2, the data
また、図2には示していないが、データストア統合システム100に、データストア統合システム100の管理者が操作する管理者端末があってもよい。または、管理者が、クライアント201またはクライアント202から管理者用のアカウントを用いてデータストア統合システム100にログインしてもよい。
Although not shown in FIG. 2, the data
(検索装置101のハードウェア)
図3は、検索装置のハードウェア構成例を示す説明図である。図3において、検索装置101は、CPU(Central Processing Unit)301と、ROM(Read‐Only Memory)302と、RAM(Random Access Memory)303と、磁気ディスクドライブ304と、磁気ディスク305と、IF306と、を含む。また、各部はバス307によってそれぞれ接続されている。
(Hardware of search device 101)
FIG. 3 is an explanatory diagram illustrating a hardware configuration example of the search device. In FIG. 3, a
ここで、CPU301は、検索装置101の全体の制御を司る演算処理装置である。ROM302は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。RAM303は、CPU301のワークエリアとして使用される揮発性メモリである。磁気ディスクドライブ304は、CPU301の制御に従って磁気ディスク305に対するデータのリード/ライトを制御する制御装置である。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記憶する不揮発性メモリである。
Here, the
IF306は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他の装置に接続される。そして、IF306は、ネットワーク210と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。IF306には、たとえばモデムやLANアダプタなどを採用することができる。なお、検索装置101は、管理者が検索装置101を直接操作する場合、光ディスクドライブと、ディスプレイと、キーボードと、マウスと、を有していてもよい。
The
また、図3にて図示していないが、クライアント201は、たとえば、CPUと、RAMと、ROMと、フラッシュROMと、ディスプレイと、IFを有する。フラッシュROMは、記憶内容を書き換え可能な不揮発性メモリである。また、クライアント201は、カメラデバイスと、センサを有してもよい。また、クライアント202は、たとえば、CPUと、RAMと、ROMと、磁気ディスクドライブと、磁気ディスクと、IFと、光ディスクドライブと、ディスプレイと、キーボードと、マウスと、を有していてもよい。
Although not shown in FIG. 3, the
(検索装置101の機能)
次に、検索装置101の機能について説明する。図4は、検索装置の機能例を示すブロック図である。検索装置101は、受付部401と、検索部402と、決定部403と、生成部404と、アクセス部405と、削除部406と、更新部407と、変更部408と、インデクスアダプタ409と、データストアアダプタ410を含む。制御部となる受付部401〜データストアアダプタ410は、記憶装置に記憶されたプログラムをCPU301が実行することにより、その機能を実現する。記憶装置とは、具体的には、たとえば、図3に示したROM302、RAM303、磁気ディスク305、などである。または、IF306を経由して他のCPUが実行することにより、その機能を実現してもよい。
(Function of search device 101)
Next, functions of the
また、検索装置101は、データストア群203と、格納方式定義ルールテーブル411と、識別子生成ルールテーブル111と、検索状況テーブル412にアクセス可能である。格納方式定義ルールテーブル411と、識別子生成ルールテーブル111と、検索状況テーブル412は、RAM303、磁気ディスク305といった記憶装置に格納されている。
In addition, the
また、図4では、格納方式定義ルールテーブル411と、識別子生成ルールテーブル111と、検索状況テーブル412が、検索装置101の内部にあり、データストア群203が検索装置101の外部にある。格納方式定義ルールテーブル411と、識別子生成ルールテーブル111と、検索状況テーブル412が、検索装置101の外部にあってもよいし、データストア群203が検索装置101の内部にあってもよい。
In FIG. 4, the storage method definition rule table 411, the identifier generation rule table 111, and the search status table 412 are inside the
受付部401は、特定の属性を有する情報群のうち検索条件に合致する情報の検索要求を受け付ける。たとえば、受付部401は、クライアント201上で動くアプリからの検索要求を受け付ける。
The accepting
また、受付部401は、検索条件として属性によって指定される値が移行対象となる検索条件に合致する情報の検索要求を受け付けてもよい。移行対象となる検索条件としては、たとえば、移行対象となるランチ写真属性によって指定される値があるという検索条件であってもよいし、ランチ写真属性によって指定される値があり、かつ、管理者から指定された過去何年かまでの検索条件であってもよい。受付部401の機能により、検索装置101は、検索処理、移行処理の契機を検出することができる。なお、受け付けた検索要求は、RAM303、磁気ディスク305といった記憶領域に記憶される。
The accepting
検索部402は、受付部401によって検索要求を受け付けた場合、第1の記憶部を参照して、検索条件に合致する情報を検索する。第1の記憶部とは、たとえば、データストア#0によって制御される記憶領域である。たとえば、検索部402は、アプリから受け付けた検索要求の検索条件に合致する情報を検索する。検索部402の機能により、検索装置101は、検索条件に合致するレコードを取得できる。なお、検索結果は、RAM303、磁気ディスク305といった記憶領域に記憶される。
When the
第1の記憶部は、特定の属性によって指定される値の格納位置を示す第1の識別子または指定される値を識別する第2の識別子のうち少なくとも特定の属性を有する情報に基づいて特定された識別子を第1のデータストアの制御によって記憶する。第1の識別子は、たとえば、データストア依存識別子である。値の格納位置は、第1の記憶部を制御するデータストアが解釈可能な識別子となる。たとえば、第1のデータストアがKVSであれば、第1の識別子は、キーである。また、ファイルシステムであれば、第1の識別子は、ファイルパスである。 The first storage unit is specified based on information having at least a specific attribute of the first identifier indicating the storage position of the value specified by the specific attribute or the second identifier for identifying the specified value. The identifier is stored under the control of the first data store. The first identifier is, for example, a data store dependent identifier. The storage location of the value is an identifier that can be interpreted by the data store that controls the first storage unit. For example, if the first data store is KVS, the first identifier is a key. In the case of a file system, the first identifier is a file path.
なお、格納位置を示す第1の識別子は、値に応じて一意となるため、値ごとに異なる。値ごとに異なるような格納位置とするため、たとえば、格納位置は、値を識別する第2の識別子を含んでもよい。または、第1の識別子は、第2の識別子を変換して得られる情報を含んでいてもよい。 In addition, since the 1st identifier which shows a storage position becomes unique according to a value, it changes for every value. In order to make the storage location different for each value, for example, the storage location may include a second identifier that identifies the value. Alternatively, the first identifier may include information obtained by converting the second identifier.
また、第1の記憶部は、第1の識別子が特定された場合、第1の識別子を記憶し、第2の識別子については記憶してもよいし、記憶しなくてもよい。また、第1の記憶部は、第2の識別子が特定された場合、第2の識別子を記憶し、第1の識別子については記憶してもよいし、記憶しなくてもよい。また、具体的な特定方法は、たとえば、特定の属性を有する情報が第1の記憶部に登録された日付や、特定の属性を有する情報の検索頻度に応じて特定する。 In addition, when the first identifier is specified, the first storage unit stores the first identifier, and may or may not store the second identifier. In addition, when the second identifier is specified, the first storage unit stores the second identifier, and may or may not store the first identifier. Moreover, a specific identification method specifies, for example according to the date when the information which has a specific attribute was registered into the 1st memory | storage part, and the search frequency of the information which has a specific attribute.
また、第1の記憶部は、第1の識別子または第2の識別子のうち少なくとも特定の属性を有する情報が第1の記憶部に登録された日付および現在の日付の比較結果に基づいて特定された識別子を第1のデータストアの制御によって記憶する。たとえば、登録された日付と現在の日付が1か月以内であれば、第1の記憶部は、少なくとも第1の識別子を記憶する。また、たとえば、登録された日付と現在の日付が1か月を超えていれば、第1の記憶部は、少なくとも第2の識別子を記憶する。具体的には、現在の日付が“2011/8/31”であり、特定の属性を有する情報が第1の記憶部に登録された日付が“2011/8/1”であれば、第1の記憶部は、少なくとも第1の識別子を記憶する。 Further, the first storage unit is specified based on a comparison result between the date when the information having at least a specific attribute of the first identifier or the second identifier is registered in the first storage unit and the current date. The identifier is stored under the control of the first data store. For example, if the registered date and the current date are within one month, the first storage unit stores at least the first identifier. For example, if the registered date and the current date exceed one month, the first storage unit stores at least the second identifier. Specifically, if the current date is “2011/8/31” and the date when the information having the specific attribute is registered in the first storage unit is “2011/8/1”, the first date The storage unit stores at least the first identifier.
また、第1の記憶部は、第1の識別子または第2の識別子のうち少なくとも特定の属性を有する情報と更新部407によって更新された検索条件の履歴とに基づいて特定された識別子を記憶する。検索条件の履歴は、検索状況テーブル412に記憶されている。たとえば、検索条件の履歴として、過去1か月以内のレコードを取得する検索条件を受け付けた回数が管理者によって指定された閾値より大きいとする。このとき、特定の属性を有する情報が過去1か月以内のレコードである場合、第1の記憶部は、少なくとも第1の識別子を記憶する。また、過去1か月以内のレコードを取得する検索条件を受け付けた回数が指定された閾値以下であり、特定の属性を有する情報が過去1か月以内のレコードである場合、第1の記憶部は、少なくとも第2の識別子を記憶する。
Further, the first storage unit stores an identifier specified based on information having at least a specific attribute of the first identifier or the second identifier and a history of search conditions updated by the
決定部403は、検索部402によって検索された検索条件に合致する情報に基づいて、第1の識別子および第2の識別子のうち第1のデータストアとは異なる第2のデータストアの制御によって指定される値を記憶する第2の記憶部へのアクセスに用いる識別子を決定する。第2の記憶部は、たとえば、データストア#1によって制御される記憶領域、またはデータストア#2によって制御される記憶領域である。第1の識別子および第2の識別子のうちどちらの識別子を用いるかについての決定方法については、たとえば、検索条件に合致する情報の第1の記憶部に登録された日付や、検索条件に合致する情報への検索頻度、または第1の識別子の有無に応じて特定する。
The
また、決定部403は、検索部402によって検索された検索条件に合致する情報が第1の記憶部に登録された日付および現在の日付の比較結果に基づいて、第1の識別子および第2の識別子のうち第2の記憶部へのアクセスに用いる識別子を決定してもよい。たとえば、検索されたレコードの登録された日付と現在の日付が1か月以内であれば、決定部403は、第2の記憶部へのアクセスに用いる識別子を第1の識別子に決定する。また、たとえば、検索されたレコードの登録された日付と現在の日付が1か月を超えていれば、決定部403は、第2の記憶部へのアクセスに用いる識別子を第2の識別子に決定する。
The determining
また、決定部403は、検索部402によって検索された検索条件に合致する情報が第1の識別子を有する場合、第2の記憶部へのアクセスに用いる識別子を第1の識別子に決定してもよい。たとえば、検索されたレコードが第1の識別子を有していれば、決定部403は、第2の記憶部へのアクセスに用いる識別子を第1の識別子に決定する。
In addition, when the information that matches the search condition searched by the
また、決定部403は、検索部402によって検索された検索条件に合致する情報と更新部407によって更新された検索条件の履歴とに基づいて、第1の識別子および第2の識別子のうち第2の記憶部へのアクセスに用いる識別子を決定してもよい。
Further, the
たとえば、検索条件の履歴として、過去1か月以内のレコードを取得する検索条件を受け付けた回数が管理者によって指定された閾値より大きいとする。このとき、検索されたレコードが過去1か月以内のレコードであれば、決定部403は、第2の記憶部へのアクセスに用いる識別子を第1の識別子に決定する。また、過去1か月以内のレコードを取得する検索条件を受け付けた回数が閾値以下であり、検索されたレコードが過去1か月以内のレコードであれば、決定部403は、第2の記憶部へのアクセスに用いる識別子を第2の識別子に決定する。
For example, it is assumed that the number of times that a search condition for acquiring records within the past month is accepted as the search condition history is greater than a threshold specified by the administrator. At this time, if the retrieved record is a record within the past one month, the
決定部403の機能により、検索装置101は、検索頻度が高いレコードであれば、格納位置を示す識別子を生成せずに済む第1の識別子を用いることができ、検索頻度が低いレコードであれば、移行時に変更せずに済む第2の識別子を用いることができる。また、決定結果は、RAM303、磁気ディスク305といった記憶領域に記憶される。
With the function of the
生成部404は、決定部403によって決定された識別子が第2の識別子である場合、第2の識別子および指定される値の格納位置の関係を示す情報と第2の識別子とに基づいて、指定される値の格納位置を示す識別子を生成する。第2の識別子および指定される値の格納位置の関係を示す情報は、識別子生成ルールテーブル111で記憶される情報である。
When the identifier determined by the
たとえば、指定される値の格納位置の関係を示す情報は、特定の文字情報であり、文字情報の一部を第2の識別子に置き換えることにより、指定される値の格納位置を示す識別子となる情報である。具体的に、指定される値の格納位置の関係を示す情報は、“/data/file#{識別子}”である。{識別子}を第2の識別子に置き換えることにより、生成部404は、指定される値の格納位置を示す識別子を生成する。なお、指定される値の格納位置の関係を示す情報は、置き換えを行う以外に、たとえば、指定される値の格納位置の関係を示す情報と、第2の識別子を結合することにより、指定される値の格納位置を示す識別子を生成できるような情報であってもよい。この場合の指定される値の格納位置の関係を示す情報は、“/data/file#”である。
For example, the information indicating the relationship between the storage positions of the specified values is specific character information, and an identifier indicating the storage position of the specified value is obtained by replacing a part of the character information with the second identifier. Information. Specifically, the information indicating the relationship between the storage positions of designated values is “/ data / file # {identifier}”. By replacing {identifier} with the second identifier, the
また、生成部404は、第2のデータストアとは異なる第3のデータストアの制御によって指定される値の第3の記憶部への格納位置を示す識別子を生成してもよい。具体的に、生成部404は、第2の識別子および指定される値の第3の記憶部への格納位置の関係を示す情報と、第2の識別子とから、第3の記憶部への格納位置を示す識別子を生成してもよい。
Further, the
たとえば、第3の記憶部への格納位置の関係を示す情報が、“/data/usr1/file−{識別子}”であり、第2の識別子が“99”であるとする。生成部404は、第3の記憶部への格納位置を示す識別子を“/data/usr1/file−99”のように生成する。
For example, it is assumed that the information indicating the relationship between the storage positions in the third storage unit is “/ data / usr1 / file- {identifier}” and the second identifier is “99”. The
また、検索部402によって検索された検索条件に合致する情報に、第2の識別子がない場合もあり得る。しかし、この場合、検索条件に合致する情報は第1の識別子を有している。したがって、生成部404は、第1の識別子から第2の識別子を抽出し、抽出した値と、第2の識別子および指定される値の第3の記憶部への格納位置の関係を示す情報とから、第3の記憶部への格納位置を示す識別子を生成してもよい。生成部404の機能により、検索装置101は、指定された値にアクセスすることができる。
In addition, there may be a case where the information that matches the search condition searched by the
アクセス部405は、生成部404によって生成された格納位置を示す識別子または第1の識別子を用いて、指定される値にアクセスする。たとえば、生成部404によって、格納位置を示す識別子である“/data/file#88”が生成された場合、アクセス部405は、“/data/file#88”に格納された値にアクセスする。
The
また、アクセス部405は、生成部404によって生成された第2の記憶部への格納位置を示す識別子または第1の識別子を用いて第2の記憶部から指定された値を読み込む。続けて、アクセス部405は、読み込んだ値を生成部404によって生成された第3の記憶部への格納位置を示す識別子を用いて第3の記憶部へ書き込む。たとえば、アクセス部405は、識別子“/data/file#99”を用いて指定された値を第2の記憶部から読み込む。続けて、アクセス部405は、識別子“/data/usr1/file−99”を用いて指定された値を第3の記憶部に書き込む。アクセス部405の機能により、検索装置101は、検索処理または移行処理の対象となった値にアクセスできる。
In addition, the
削除部406は、第1の記憶部に記憶された特定の属性を有する情報に基づいて、特定の属性を有する情報が有する第1の識別子を削除する。削除部406は、たとえば、特定の属性を有する情報の第1の記憶部に登録された日付や、特定の属性を有する情報への検索頻度に応じて、第1の識別子を削除する。具体的には、特定の属性を有する情報の登録された日付と現在の日付が1か月より離れていれば、削除部406は、特定の属性を有する情報の第1の識別子を削除する。
The
なお、特定の属性を有する情報に第2の識別子がない状態で第1の識別子を削除する場合、削除部406は、第1の識別子に含まれる第2の識別子を抽出し、抽出した値を第1の記憶部に書き込んでから、第1の識別子を削除する。削除部406の機能により、検索装置101は、第1の記憶部の記憶量を削減することができる。
When deleting the first identifier in a state where there is no second identifier in the information having the specific attribute, the
更新部407は、受付部401によって検索要求を受け付けた場合、検索条件の履歴を更新する。検索条件の履歴は、第1の識別子を削除する。たとえば、受付部401が過去1か月以内という検索条件を有する検索要求を受け付けた場合、更新部407は、1か月以内の検索条件を受け付けた回数をインクリメントする。更新部407の機能により、検索装置101は、実際に検索された検索状況を用いることができる。
When the receiving
変更部408は、決定部403によって決定された識別子が第1の識別子である場合、第1の記憶部に記憶された第1の識別子を、生成部404によって生成された第3の記憶部への格納位置を示す識別子に変更する。たとえば、変更部408は、第1の記憶部に記憶された第1の識別子“/data/file#99”を生成部404によって生成された識別子“/data/usr1/file−99”に変更する。変更部408の機能により、検索装置101は、移行先のデータストアに書き込んだ値にアクセスできる。
When the identifier determined by the
インデクスアダプタ409は、検索インデクスごとのプロトコルやデータ形式の違いを吸収して、同一のAPI(Application Programming Interface)で検索インデクスとなるデータストア#0にアクセスできるようにするソフトウェアである。また、データストアアダプタ410は、データストアごとのプロトコルやデータ形式の違いを吸収して、同一のAPIでデータストア#1やデータストア#2にアクセスできるようにするソフトウェアである。
The
図5は、データストア群の記憶内容の一例を示す説明図である。本実施の形態で示すデータストア統合システム100は、ライフログデータを蓄積する。図5に示すデータストア#0が制御する記憶領域は、レコード112−1〜レコード112−7を記憶する。また、図5に示すデータストア#1が制御する記憶領域は、レコード501−1〜レコード501−3を記憶する。さらに、図5に示すデータストア#2が制御する記憶領域は、画像ファイルfile#99、画像ファイルfile#98を記憶する。さらに、レコード112−1〜レコード112−3は、検索頻度が高いレコードであるとする。また、レコード112−4〜レコード112−7は、検索頻度が低いレコードであるとする。
FIG. 5 is an explanatory diagram showing an example of the contents stored in the data store group. The data store integrated
データストア#0が制御する記憶領域は、日付、歩数、識別子、ランチコメント、ランチ写真という5つのフィールドを有する。日付フィールドは、対象となるレコードが、ユーザの操作によるアプリによって登録された日、またはセンサが情報を登録した日を格納する。なお、日付フィールドは、時刻を含んでいてもよい。歩数フィールドは、日付フィールドで指定された日におけるユーザの歩数を格納する。識別子フィールドは、ランチコメントフィールドとランチ写真フィールドによって指定される値を識別するデータストア非依存識別子である。具体的に、識別子フィールドは、ランチコメントフィールドに格納される識別子およびランチ写真フィールドに格納される識別子のシリアル番号である。具体的には、識別子フィールドは、1から採番される数値である。
The storage area controlled by the
ランチコメントフィールドは、日付フィールドで指定された日におけるランチに対するユーザのコメントとなる文字情報の格納位置を示す識別子である。具体的には、文字情報は、データストア#1が制御する記憶領域内に格納されている。ランチ写真フィールドは、日付フィールドで指定された日におけるランチを写した画像情報の格納情報を示す識別子である。具体的には、画像情報は、データストア#2に格納されている。
The lunch comment field is an identifier indicating a storage position of character information that becomes a user's comment on lunch on the day specified in the date field. Specifically, the character information is stored in a storage area controlled by the
データストア#1が制御する記憶領域は、識別子となるキーと、キーに対応するランチコメントと、いう2つのフィールドを有する。KVSの仕様上、キーフィールドには任意の文字列が設定可能である。本実施の形態の例では、キーフィールドには、データストア#0が制御する記憶領域内の対応するレコード内のランチコメントフィールドと同一の文字列が設定されるとする。ランチコメントフィールドには、ランチに対するユーザのコメントとなる文字情報が設定される。たとえば、レコード501−1は、キーが“key#99”であり、ランチコメントが“美味”であることを示す。
The storage area controlled by the
データストア#2が制御する記憶領域は、ディレクトリ構造を有する。図5で示すデータストア#2が制御する記憶領域は、“data”ディレクトリ内にユーザのランチを写した画像情報が格納されている。画像情報は、たとえば、画像ファイルfile#99、画像ファイルfile#98である。画像ファイルfile#99の識別子はファイルパスとなる“/data/file#99”である。画像ファイルfile#98の識別子はファイルパスとなる“/data/file#98”である。
The storage area controlled by the
たとえば、レコード112−1は、“2011/8/31”におけるライフログデータの歩数属性が5000歩であることを示す。また、レコード112−1は、ランチコメント属性によって指定される値となる文字情報が、データストア依存識別子であるランチコメントフィールド“key#99”が示すレコード501−1より“美味”であることを示す。また、レコード112−1は、ランチ写真属性によって指定される値となる画像情報が、ランチ写真フィールド“/data/file#99”が示すファイルパスを有する画像ファイルfile#99であることを示す。
For example, the record 112-1 indicates that the step count attribute of the life log data in “2011/8/31” is 5000 steps. Further, the record 112-1 indicates that the character information that is the value specified by the lunch comment attribute is “delicious” than the record 501-1 indicated by the lunch comment field “
図6は、格納方式定義ルールテーブルの記憶内容の一例を示す説明図である。図6に示す格納方式定義ルールテーブル411は、レコード411−1〜レコード411−3を記憶している。なお、格納方式定義ルールテーブル411の1レコード分の情報を、格納方式定義ルール情報と呼称する。格納方式定義ルールテーブル411は、属性名、格納先という2つのフィールドを含む。属性名フィールドには、ライフログデータの属性名が格納される。格納先フィールドには、属性によって指定される値が格納されている記憶領域を制御するデータストアの識別情報が格納される。 FIG. 6 is an explanatory diagram showing an example of the contents stored in the storage method definition rule table. The storage method definition rule table 411 illustrated in FIG. 6 stores records 411-1 to 411-3. Note that the information for one record in the storage method definition rule table 411 is referred to as storage method definition rule information. The storage method definition rule table 411 includes two fields: an attribute name and a storage destination. The attribute name field stores the attribute name of life log data. The storage field stores the identification information of the data store that controls the storage area in which the value specified by the attribute is stored.
たとえば、レコード411−1は、ライフログデータの属性のうち、日付属性と歩数属性によって指定される値が、データストア#0が制御する記憶領域に格納されていることを示す。また、レコード411−2は、ライフログデータの属性のうち、ランチコメント属性によって指定される値が、データストア#1が制御する記憶領域に格納されていることを示す。同様に、レコード411−3は、ランチ写真属性によって指定される値が、データストア#2が制御する記憶領域に格納されていることを示す。
For example, the record 411-1 indicates that the value specified by the date attribute and the step count attribute among the attributes of the life log data is stored in the storage area controlled by the
図7は、識別子生成ルールテーブルの記憶内容の一例を示す説明図である。図7に示す識別子生成ルールテーブル111は、レコード111−1、レコード111−2を記憶している。なお、識別子生成ルールテーブル111の1レコード分の情報を、識別子生成ルールと呼称する。識別子生成ルールテーブル111は、格納先、識別子生成ルールという2つのフィールドを含む。格納先フィールドには、ライフログデータの属性によって指定値の格納先となる記憶領域を制御するデータストア名が格納される。識別子生成ルールフィールドには、データストア非依存識別子および指定される値の格納位置の関係を示す情報が格納される。 FIG. 7 is an explanatory diagram of an example of the contents stored in the identifier generation rule table. The identifier generation rule table 111 illustrated in FIG. 7 stores a record 111-1 and a record 111-2. The information for one record in the identifier generation rule table 111 is referred to as an identifier generation rule. The identifier generation rule table 111 includes two fields: a storage destination and an identifier generation rule. The storage destination field stores the name of the data store that controls the storage area that stores the specified value according to the life log data attribute. The identifier generation rule field stores information indicating the relationship between the data store-independent identifier and the storage position of the specified value.
たとえば、レコード111−1は、データストア#1の識別子生成ルールが、“key#{識別子}”であることを示す。具体的に、データストア非依存識別子が1であれば、検索装置101は、データストア依存識別子を、“key#1”のように生成する。
For example, the record 111-1 indicates that the identifier generation rule of the
図8は、検索状況テーブルの記憶内容の一例を示す説明図である。図8に示す検索状況テーブル412は、レコード412−1〜レコード412−3を記憶している。なお、検索状況テーブル412の1レコード分の情報を、検索状況情報と呼称する。検索状況テーブル412は、期間、検索回数という2つのフィールドを含む。期間フィールドには、検索条件の中の期間が格納される。検索回数フィールドには、該当の期間に対して検索された回数が格納される。 FIG. 8 is an explanatory diagram of an example of the contents stored in the search situation table. The search status table 412 illustrated in FIG. 8 stores records 412-1 to 412-3. Note that the information for one record in the search status table 412 is referred to as search status information. The search status table 412 includes two fields: a period and the number of searches. The period in the search condition is stored in the period field. The number of times of searching for the corresponding period is stored in the search number field.
たとえば、レコード412−1は、アプリからの検索条件が1か月以内であった回数が、100回であることを示す。また、レコード412−2は、アプリからの検索条件が半年以内であった回数が、50回であることを示す。続けて、図5〜図8で示した記憶内容を用いて、検索装置101が行う、登録処理、検索処理、識別子削除処理、移行処理の動作例を、図9〜図12に示す。
For example, the record 412-1 indicates that the number of times that the search condition from the application is within one month is 100 times. The record 412-2 indicates that the number of times that the search condition from the application is within half a year is 50 times. Subsequently, operation examples of registration processing, search processing, identifier deletion processing, and migration processing performed by the
図9は、登録処理の動作例を示す説明図である。図9では、データストア群203へのライフログデータの登録処理について説明する。ライフログデータ901は、たとえば、ユーザによって操作されたクライアント201上で動作するアプリ、またはクライアント201内のセンサによって生成される。具体的に、データストア#0が制御する記憶領域の日付フィールドに格納される値は、ユーザによるアプリの操作日となる。また、歩数フィールドに格納される値は、センサによってカウントされた値となる。データストア#1が制御する記憶領域のランチコメントに格納される情報は、ユーザによるアプリの操作によって生成された情報である。データストア#2が制御する記憶領域の画像ファイルは、ユーザによる操作によって検索装置101のカメラデバイスが生成したファイルである。
FIG. 9 is an explanatory diagram illustrating an operation example of registration processing. In FIG. 9, a process of registering life log data in the
たとえば、図9では、ライフログデータ901は、日付が“2011/8/31”であり、歩数が5000歩であり、ランチコメントが“美味”であり、ランチ写真が画像ファイル902であるとしている。
For example, in FIG. 9, the
アプリは、ライフログデータ901を検索装置101に送信する。ライフログデータ901を受け付けた検索装置101は、データストア#0が制御する記憶領域に新規レコードとなるレコード112−1を追加する。次に、検索装置101は、レコード112−1の日付フィールドに“2011/8/31”を格納する。また、検索装置101は、レコード112−1の歩数フィールドに、“5000”を格納する。さらに、検索装置101は、レコード112−1の識別子フィールドに検索装置101が採番した“99”を格納する。
The application transmits
続けて、検索装置101は、識別子“99”を用いて、データストア依存識別子である“key#99”を生成して、レコード112−1のランチコメントフィールドに、生成したデータストア依存識別子を格納する。同様に、検索装置101は、識別子“99”を用いて、データストア依存識別子である“/data/file#99”を生成して、レコード112−1のランチ写真フィールドに、生成したデータストア依存識別子を格納する。
Subsequently, using the identifier “99”, the
さらに、検索装置101は、データストア#1に、キーフィールドが“key#99”であり、ランチコメントフィールドが“美味”であるレコード501−1を追加する。続けて、検索装置101は、データストア#2の、“/data/file#99”となるファイルパスに、画像ファイル902を格納する。格納された画像ファイルは、図5で示した画像ファイルfile#99と同一である。
Further, the
図10は、識別子削除処理の対象となるデータの一例を示す説明図である。図10では、データストア群203にて、データストア依存識別子を削除する対象について説明する。グラフ1001は、データストア群203への検索回数を示している。グラフ1001の横軸は、日付を示す。グラフ1001の縦軸は、検索回数を示す。
FIG. 10 is an explanatory diagram showing an example of data to be subjected to identifier deletion processing. In FIG. 10, a target for deleting a data store dependent identifier in the
グラフ1001が示すように、データストア群203に格納されているライフログデータのうち、最新のライフログデータから、図10で示す最頻検索期間に含まれるライフログデータが、検索回数が多くなる傾向にある。最頻検索期間とは、現日付から一定期間前の日付とする。一定期間は、たとえば、1週間、1か月等である。このように、検索回数がライフログデータで偏る理由として、クライアント201上のアプリが表示する情報、または検索する情報は、最新のライフログデータから一定期間までのライフログデータとなることが多いためである。なお、最頻検索期間に含まれるライフログデータの数は少なく、最頻検索期間以降のライフログデータの数は多い。
As the
したがって、データストア#0が制御する記憶領域のレコード群のうち、最頻検索期間に含まれるレコードに関して、検索装置101は、データストア依存識別子とデータストア非依存識別子を保存する。また、最頻検索期間以降のレコードに関して、検索装置101は、データストア非依存識別子を保存して、データストア依存識別子を削除する。
Therefore, the
これにより、検索対象になる可能性の高い、最頻検索期間に含まれるレコードはデータストア依存識別子を有しており、データストア依存識別子を生成しなくてよいため、検索装置101は、検索性能を向上できる。また、移行時において、検索装置101は、最頻検索期間に含まれるレコードのデータストア依存識別子を変更することになるが、最頻検索期間に含まれるレコードは数が少ないため、移行負荷を小さくすることができる。
As a result, the record included in the most frequent search period that is likely to be a search target has a data store-dependent identifier and does not have to generate a data store-dependent identifier. Can be improved. Further, at the time of migration, the
また、最頻検索期間以降のレコードはデータストア非依存識別子を有しており、移行時に変更を要するデータストア依存識別子を有していない。最頻検索期間以降のレコードは数が多いため、移行時において、検索装置101は、移行負荷を低減することができる。また、検索時において、検索装置101は、最頻検索期間以降のレコードのデータストア依存識別子を生成することになるが、最頻検索期間以降のレコードは検索対象となる機会が少ないため、検索性能への影響を小さくすることができる。
Further, records after the most frequent search period have data store-independent identifiers, and do not have data store-dependent identifiers that need to be changed during migration. Since there are a large number of records after the most frequent search period, the
図11は、検索処理の動作例を示す説明図である。図11では、データストア群203への検索処理について説明する。検索装置101は、検索要求を受け付けると、データストア#0に検索要求を通知する。データストア#0は、自身が制御する記憶領域に格納しているレコード群のうち、検索要求の検索条件に合致するレコードを抽出する。図11では、レコード112−1〜レコード112−7が検索条件に合致するレコードであるとする。
FIG. 11 is an explanatory diagram illustrating an operation example of the search process. In FIG. 11, a search process for the
レコード112−1〜レコード112−7を取得した検索装置101は、ランチコメントフィールドとランチ写真フィールド、または識別子フィールドのいずれかを用いてランチコメント属性によって指定される値とランチ写真属性によって指定される値を取得する。なお、図11と図12では、説明の簡略化のため、ランチ写真によって指定される値を取得する場合について説明する。ランチコメント属性によって指定される値の取得方法も、ランチ写真属性によって指定される値の取得方法と同一であるため、図11での表記を省略する。
The
図11では、レコード112−1〜レコード112−3に関して、検索装置101は、検索頻度が高いと判断したとする。また、レコード112−4〜レコード112−7に関して、検索装置101は、検索頻度が低いと判断したとする。ここで、具体的な判断基準としては、たとえば、検索装置101は、日付フィールドが最頻検索期間内に含まれるレコードを、検索頻度が高いレコードであると判断してもよい。図11で示す例は、最頻検索期間を1か月に設定した例となる。または、検索状況テーブル412を参照して、検索回数が特定の閾値以上となる期間に含まれるレコードを、検索頻度が高いレコードであると判断してもよい。
In FIG. 11, it is assumed that the
また、検索頻度が高いか否かの他の判断方法として、検索装置101は、データストア依存識別子の値の有無に応じて判断してもよい。この判断方法を用いた場合、検索装置101は、レコード112−1〜レコード112−4を検索頻度が高いと判断する。また、検索装置101は、データストア依存識別子となるランチコメントフィールドとランチ写真フィールドに“(削除済)”という値が格納されているレコード112−5〜レコード112−7を検索頻度が低いと判断する。
As another determination method for determining whether or not the search frequency is high, the
レコード112−1〜レコード112−3に関して、検索頻度が高いため、検索装置101は、ランチコメントフィールドとランチ写真フィールドを用いてランチコメント属性によって指定される値とランチ写真属性によって指定される値を取得する。たとえば、ランチ写真に関して、検索装置101は、ランチ写真フィールドに格納されているファイルパスを用いて、ランチ写真属性によって指定される値となる画像ファイルを取得する。
Since the search frequency for the records 112-1 to 112-3 is high, the
レコード112−4〜レコード112−7に関して、検索頻度が低いため、検索装置101は、識別子フィールドを用いてランチコメント属性によって指定される値とランチ写真属性によって指定される値を取得する。たとえば、ランチ写真に関して、検索装置101は、識別子フィールドと、ランチ写真が格納されているデータストア#2の識別子生成ルールを用いて、ランチ写真属性によって指定される値となる画像ファイルを取得する。具体的には、レコード112−4に関して、検索装置101は、識別子生成ルール“/data/file#{識別子}”の{識別子}を“88”に置き換えて、画像ファイルの格納位置を示す識別子“/data/file#88”を生成する。次に、検索装置101は、生成した識別子“/data/file#88”を用いて、ランチ写真属性によって指定される値となる画像ファイルを取得する。
Since the search frequency is low with respect to the records 112-4 to 112-7, the
図12は、移行処理の動作例を示す説明図である。図12では、データストア群203の移行処理について説明する。図12で行う移行処理は、ランチ写真属性によって指定される値となる画像ファイルを格納するデータストアを、データストア#2からデータストア#3に移行するとする。なお、データストア#3は、データストアの種別がファイルシステムであるとする。
FIG. 12 is an explanatory diagram illustrating an operation example of the migration process. In FIG. 12, the migration process of the
また、移行処理を行う機会として、たとえば、データストア統合システム100の運用開始時には、ファイルシステムとして、開発コストや運用コストの低いローカルファイルシステムにライフログデータの特定の属性によって指定される値を格納していたとする。しかし、運用を続けていくうちに、指定される値の記憶量が増加したため、スケーラビリティが高い分散ファイルシステムに特定の属性によって指定される値を移行するといった場合である。また、移行処理を行う他の機会としては、データストア統合システム100を利用するユーザが増大したため、ファイルシステムの階層を追加し、ユーザグループ単位でディレクトリを分けるように変更する場合である。
Further, as an opportunity to perform migration processing, for example, when the operation of the data store integrated
図12では、移行元の情報が記載された格納方式定義ルールテーブル411を、格納方式定義ルールテーブル411_Sとして示す。また、移行先の情報が記載された格納方式定義ルールテーブル411を、格納方式定義ルールテーブル411_Dとして示す。また、移行元の情報が記載された識別子生成ルールテーブル111を、識別子生成ルールテーブル111_Sとして示す。また、移行先の情報が記載された識別子生成ルールテーブル111を、識別子生成ルールテーブル111_Dとして示す。 In FIG. 12, the storage method definition rule table 411 in which the information of the migration source is described is shown as a storage method definition rule table 411_S. Further, the storage method definition rule table 411 in which the information of the migration destination is described is shown as a storage method definition rule table 411_D. Further, the identifier generation rule table 111 in which the migration source information is described is shown as an identifier generation rule table 111_S. Further, the identifier generation rule table 111 in which the information of the migration destination is described is shown as an identifier generation rule table 111_D.
具体的に、格納方式定義ルールテーブル411_Sのレコード411−3_Sは、ランチ写真属性によって指定される値が移行元となるデータストア#2に格納されていることを示す。また、格納方式定義ルールテーブル411_Dのレコード411−3_Dは、ランチ写真属性によって指定される値が移行先となるデータストア#3に格納することを示す。さらに、識別子生成ルールテーブル111_Sのレコード111−2_Sは、データストア#2での識別子生成ルールが、“/data/file#{識別子}”であることを示す。また、識別子生成ルールテーブル111_Dのレコード111−2_Dは、データストア#3での識別子生成ルールが、“/data/usr1/file−{識別子}”であることを示す。
Specifically, the record 411-3_S of the storage method definition rule table 411_S indicates that the value specified by the lunch photo attribute is stored in the
図12では、レコード112−1〜レコード112−3に関して、検索装置101は、検索頻度が高いと判断したとする。また、レコード112−4〜レコード112−7に関して、検索装置101は、検索頻度が低いと判断したとする。検索頻度の判断基準は、図11で示した判断基準と同一であるため、説明を省略する。
In FIG. 12, it is assumed that the
レコード112−1〜レコード112−3に関して、検索頻度が高いため、検索装置101は、ランチ写真フィールドの値をデータストア#2での格納位置を示す値から、データストア#3での格納位置を示す値に変更する。具体的に、レコード112−1に関して、検索装置101は、ランチ写真フィールドの値を“/data/file#99”から“/data/usr1/file−99”に変更する。また、検索装置101は、ランチ写真属性によって指定される値となる画像ファイルをデータストア#2からデータストア#3に移動する。次に、図10〜図12で示した動作を行うフローチャートについて、図13〜図17を用いて説明する。
Since the search frequency is high for the records 112-1 to 112-3, the
図13は、識別子削除処理手順の一例を示すフローチャートである。図13では、データストア#0に対する識別子削除処理の一例について説明する。識別子削除処理は、検索装置101が有するタイマの満了によって定期的に実行されてもよい。または、識別子削除処理は、管理者による指示によって実行されてもよい。また、検索装置101は、識別子削除処理を実行した際の対象データの最新日付を記録している。
FIG. 13 is a flowchart illustrating an example of an identifier deletion processing procedure. FIG. 13 illustrates an example of identifier deletion processing for the
検索装置101は、検索状況テーブル412から検索状況情報を取得する(ステップS1301)。次に、検索装置101は、前回の識別子削除処理の対象データの最新日付を読み出す(ステップS1302)。なお、前回の識別子削除処理の対象データの最新日付が記憶されていない場合もありうる。この場合、検索装置101は、データストア#0が記憶する記憶領域のレコード群の日付フィールドのうち、最も古い日付を前回の識別子削除処理の対象データの最新日付とする。
The
続けて、検索装置101は、格納方式定義ルールテーブル411から、格納方式定義ルール情報を取得する(ステップS1303)。次に、検索装置101は、データストア#0が制御する記憶領域の日付フィールドが前回の識別子削除処理の対象データの最新日付より新しいレコード群から、最頻検索期間に含まれないレコードを検索する(ステップS1304)。
Subsequently, the
続けて、検索装置101は、検索結果が空か否かを判断する(ステップS1305)。検索結果が空でない場合(ステップS1305:No)、検索装置101は、検索結果の各レコードのデータストア依存識別子を削除する(ステップS1306)。次に、検索装置101は、識別子削除処理の対象データの最新日付を記憶する(ステップS1307)。ステップS1307の実行終了後、または検索結果が空である場合(ステップS1305:Yes)、検索装置101は、識別子削除処理を終了する。このように、図13で示した識別子削除処理は、読み出されることがないデータストア依存識別子を削除することになり、データストア#0が制御する記憶領域の記憶量を減らすことができる。
Subsequently, the
図14は、検索処理手順の一例を示すフローチャート(その1)である。図14と図15では、データストア群203への検索処理の一例について説明する。検索装置101は、アプリから検索要求を受け付ける(ステップS1401)。次に、検索装置101は、格納方式定義ルールテーブル411から、格納方式定義ルール情報を取得する(ステップS1402)。続けて、検索装置101は、格納方式定義ルール情報を取得できたか否かを判断する(ステップS1403)。取得できなかった場合(ステップS1403:No)、検索装置101は、エラーをアプリに返却する(ステップS1404)。ステップS1404の処理を終了後、検索装置101は、検索処理を終了する。
FIG. 14 is a flowchart (part 1) illustrating an example of a search processing procedure. 14 and 15, an example of a search process for the
取得できた場合(ステップS1403:Yes)、検索装置101は、検索条件に応じて、検索状況テーブル412を更新する(ステップS1405)。ステップS1405の処理について、たとえば、検索条件が1か月以内である場合、検索装置101は、レコード412−1の検索回数フィールドの値をインクリメントする。また、検索条件が半年以内である場合、検索装置101は、レコード412−2の検索回数フィールドの値をインクリメントする。
If it can be obtained (step S1403: Yes), the
続けて、検索装置101は、検索インデクスから検索条件に合致するレコードを検索する(ステップS1406)。次に、検索装置101は、検索結果が空か否かを判断する(ステップS1407)。検索結果が空である場合(ステップS1407:Yes)、検索装置101は、空の検索結果をアプリに返却する(ステップS1408)。ステップS1408の処理を終了後、検索装置101は、検索処理を終了する。
Subsequently, the
検索結果が空でない場合(ステップS1407:No)、検索装置101は、検索結果のレコード群のうち、先頭のレコードを選択する(ステップS1409)。ステップS1409の処理を終了後、検索装置101は、図15で示すステップS1501の処理に移行する。
If the search result is not empty (step S1407: No), the
図15は、検索処理手順の一例を示すフローチャート(その2)である。ステップS1409の処理を終了後、検索装置101は、選択されたレコード内の属性によって指定される値について、検索インデクス内のデータストア依存識別子を用いるか否かを判断する(ステップS1501)。なお、ステップS1501の処理である検索インデクス内のデータストア依存識別子を用いるか否かの判断方法は、たとえば、図10で示した選択されたレコードの日付フィールドを参照する方法である。
FIG. 15 is a flowchart (part 2) illustrating an example of a search processing procedure. After completing the process of step S1409, the
検索インデクス内のデータストア依存識別子を用いない場合(ステップS1501:No)、検索装置101は、識別子生成ルールテーブル111から、識別子生成ルール情報を取得する(ステップS1502)。次に、検索装置101は、取得した識別子生成ルール情報を用いて、データストア依存識別子を生成する(ステップS1503)。
When the data store dependent identifier in the search index is not used (step S1501: No), the
次に、検索装置101は、ステップS1503の処理で生成したデータストア依存識別子、または検索インデクス内のデータストア依存識別子を用いて(ステップS1501:Yes)、データストア群203から属性によって指定される値を取得する(ステップS1504)。続けて、検索装置101は、検索結果のレコード群全てについて属性によって指定される値を取得したか否かを判断する(ステップS1505)。属性によって指定される値を取得していないレコードがある場合(ステップS1505:No)、検索装置101は、検索結果のレコード群のうち次のレコードを選択する(ステップS1506)。ステップS1506の終了後、検索装置101は、ステップS1501の処理に移行する。
Next, the
検索結果のレコード群全てについて属性によって指定される値を取得した場合(ステップS1505:Yes)、検索装置101は、取得した値を集約する(ステップS1507)。次に、検索装置101は、集約した値をアプリに返却する(ステップS1508)。ステップS1508の処理を終了後、検索装置101は、検索処理を終了する。このように、図14と図15で示した検索処理は、アプリが要求した検索要求に対応する検索結果を返却することができる。
When the values specified by the attributes are acquired for all the search result record groups (step S1505: Yes), the
図16は、移行処理手順の一例を示すフローチャート(その1)である。図16と図17では、データストア群203の移行処理の一例について説明する。検索装置101は、管理者端末から移行要求を受け付ける(ステップS1601)。次に、検索装置101は、格納方式定義ルールテーブル411から、移行元および移行先の格納方式定義ルール情報を取得する(ステップS1602)。続けて、検索装置101は、移行元および移行先の格納方式定義ルール情報を取得できたか否かを判断する(ステップS1603)。
FIG. 16 is a flowchart (part 1) illustrating an example of the migration processing procedure. An example of the migration process of the
取得できなかった場合(ステップS1603:No)、検索装置101は、エラーを管理者端末に返却する(ステップS1604)。ステップS1604の処理終了後、検索装置101は、移行処理を終了する。取得できた場合(ステップS1603:Yes)、検索装置101は、検索インデクスから検索条件に合致したレコードを検索する(ステップS1605)。なお、ステップS1605の検索条件は、たとえば、検索インデクスのレコード群のうち、移行対象となる属性によって指定される値を有するという検索条件であってもよいし、検索インデクスのレコード群全てという検索条件であってもよい。
When acquisition is not possible (step S1603: No), the
次に、検索装置101は、検索結果のレコード群のうち、先頭のレコードを選択する(ステップS1606)。ステップS1606の処理を実行後、検索装置101は、図17に示すステップS1701の処理に移行する。
Next, the
図17は、移行処理手順の一例を示すフローチャート(その2)である。検索装置101は、選択されたレコード内の属性によって指定される値について、検索インデクス内のデータストア依存識別子を用いるか否かを判断する(ステップS1701)。なお、ステップS1701の処理である検索インデクス内のデータストア依存識別子を用いるか否かの判断方法は、たとえば、図10で示した選択されたレコードの日付フィールドを参照する方法である。
FIG. 17 is a flowchart (part 2) illustrating an example of the migration processing procedure. The
検索インデクス内のデータストア依存識別子を用いない場合(ステップS1701:No)、検索装置101は、移行元のデータストア依存識別子を生成する(ステップS1702)。続けて、検索装置101は、移行先のデータストア依存識別子を生成する(ステップS1703)。次に、検索装置101は、移行元および移行先のデータストア依存識別子を用いて、移行元データストアから移行先データストアへ属性によって指定される値を移行する(ステップS1704)。ステップS1704の具体的な処理として、検索装置101は、移行元のデータストア依存識別子を用いて、移行元データストアが制御する記憶領域から指定された値を読み込む。続けて、検索装置101は、移行先のデータストア依存識別子を用いて、移行先データストアが制御する記憶領域に読み込んだ値を書き込む。
When the data store dependency identifier in the search index is not used (step S1701: No), the
検索インデクス内のデータストア依存識別子を用いる場合(ステップS1701:Yes)、検索装置101は、移行先のデータストア依存識別子を生成する(ステップS1705)。次に、検索装置101は、検索インデクス内のデータストア依存識別子および移行先のデータストア依存識別子を用いて、移行元データストアから移行先データストアへ属性によって指定される値を移行する(ステップS1706)。ステップS1706の具体的な処理として、検索装置101は、検索インデクス内のデータストア依存識別子を用いて、移行元データストアが制御する記憶領域から指定された値を読み込む。続けて、検索装置101は、移行先のデータストア依存識別子を用いて、移行先データストアが制御する記憶領域に読み込んだ値を書き込む。続けて、検索装置101は、検索インデクス内のデータストア依存識別子を、生成した移行先のデータストア依存識別子に変更する(ステップS1707)。
When the data store dependent identifier in the search index is used (step S1701: Yes), the
ステップS1704、またはステップS1707の処理を実行後、検索装置101は、検索結果のレコード群全てについて属性によって指定される値を移行したか否かを判断する(ステップS1708)。属性によって指定される値を移行していないレコードがある場合(ステップS1708:No)、検索装置101は、次のレコードを選択する(ステップS1709)。ステップS1709の実行終了後、検索装置101は、ステップS1701の処理に移行する。
After executing the processing of step S1704 or step S1707, the
検索結果のレコード群全てについて属性によって指定される値を移行した場合(ステップS1708:Yes)、検索装置101は、移行結果を管理者端末に返却する(ステップS1710)。ステップS1710の処理終了後、検索装置101は、移行処理を終了する。このように、図16と図17で示した移行処理は、管理者端末が要求した移行要求に対応する属性によって指定される値の移行処理を行うことができる。
When the values designated by the attributes are transferred for all the record groups of the search results (step S1708: Yes), the
以上説明したように、検索装置、検索方法、および検索プログラムによれば、検索頻度の高い情報にはデータストアでの属性によって指定される値の格納位置を付与し、低い情報には属性によって指定される値の識別子を付与して格納位置を求める。 As described above, according to the search device, the search method, and the search program, the storage location of the value specified by the attribute in the data store is assigned to the information with high search frequency, and the attribute is specified to the low information with the attribute The storage position is obtained by assigning the identifier of the value to be stored.
これにより、検索装置は、特定のデータストアに格納されたデータを他のデータストアに移行する場合、検索インデクス内のデータストア依存識別子を変更するレコード数が検索インデクス全てのレコード数より少なくなるため、移行負荷を低減できる。移行負荷が低減できることにより、たとえば、検索装置は、移行処理中の登録処理、または検索処理の性能低下を抑制することができる。また、検索装置は、検索頻度の高いレコードに関して、データストア依存識別子を有しているため、データストア依存識別子を生成しなくてよく、検索性能を向上できる。このように、検索装置は、検索インデクスの移行負荷の低減と検索性能の向上という両立を達成することができる。 As a result, when the search device migrates data stored in a specific data store to another data store, the number of records for changing the data store-dependent identifier in the search index is less than the number of records in all the search indexes. , Migration load can be reduced. Since the migration load can be reduced, for example, the search device can suppress the performance degradation of the registration process or the search process during the migration process. Further, since the search device has a data store dependent identifier for a record with a high search frequency, it is not necessary to generate a data store dependent identifier, and search performance can be improved. Thus, the search device can achieve both a reduction in search index migration load and an improvement in search performance.
また、検索装置は、検索条件に合致する情報が登録された日付と現在の日付の比較結果に基づいて、データストア依存識別子とデータストア非依存識別子のうちどちらの識別子を用いてデータストアが制御する記憶領域にアクセスするかを決定してもよい。これにより、検索装置は、実際の検索状況を取得せず日付の比較という単純な処理によって、検索頻度が高いレコードを特定できる。 In addition, the search device controls the data store using either the data store-dependent identifier or the data store-independent identifier based on the comparison result between the date when the information matching the search condition is registered and the current date. It may be determined whether to access the storage area. Thereby, the search device can identify a record having a high search frequency by a simple process of comparing dates without acquiring an actual search status.
また、検索装置は、検索条件に合致する情報にデータストア依存識別子があれば、データストア依存識別子を用いてデータストアが制御する記憶領域にアクセスするかを決定してもよい。この場合、検索頻度が低い情報については、データストア非依存識別子を付与しておかないこととする。これにより、検索装置は、比較処理も行わずに検索頻度が高いレコードを特定できる。 In addition, if there is a data store dependency identifier in the information that matches the search condition, the search device may determine whether to access the storage area controlled by the data store using the data store dependency identifier. In this case, data store independent identifiers are not assigned to information with low search frequency. Thereby, the search device can specify a record having a high search frequency without performing a comparison process.
また、検索装置は、検索条件の履歴を更新し、検索条件の履歴を用いてデータストア依存識別子とデータストア非依存識別子のうちどちらの識別子を用いてデータストアが制御する記憶領域にアクセスするかを決定してもよい。これにより、検索装置は、実際の検索状況に応じて、検索頻度が高いレコードを特定できる。 In addition, the search device updates the search condition history, and uses the search condition history to access the storage area controlled by the data store using either the data store-dependent identifier or the data store-independent identifier. May be determined. Thereby, the search device can specify a record with a high search frequency according to the actual search situation.
また、検索装置は、データストア依存識別子とデータストア非依存識別子のうち少なくとも特定の属性を有する情報が登録された日付と現在の日付の比較結果に基づいて特定された識別子を記憶してもよい。これにより、検索装置は、実際の検索状況を取得せず日付の比較という単純な処理によって、検索頻度が高い情報についてはデータストア依存識別子を用いてアクセスするように設定することができる。 In addition, the search device may store an identifier specified based on a comparison result between a date on which information having at least a specific attribute is registered and a current date among the data store dependent identifier and the data store independent identifier. . As a result, the search device can be set to access information with a high search frequency using the data store-dependent identifier by a simple process of date comparison without acquiring the actual search status.
また、検索装置は、検索条件の履歴を更新し、検索条件の履歴を用いてデータストア依存識別子とデータストア非依存識別子のうち少なくとも特定の属性を有する情報が登録された日付と現在の日付の比較結果に基づいて特定された識別子を記憶してもよい。これにより、検索装置は、実際の検索状況に応じて、検索頻度が高い情報についてはデータストア依存識別子を用いてアクセスするように設定することができる。 In addition, the search device updates the search condition history, and uses the search condition history to register the date and the current date when the information having at least a specific attribute among the data store dependent identifier and the data store independent identifier is registered. An identifier specified based on the comparison result may be stored. Accordingly, the search device can be set to access information with a high search frequency using the data store-dependent identifier according to the actual search situation.
また、検索装置は、特定の属性を有する情報に基づいて、データストア依存識別子を削除してもよい。これにより、検索装置は、データストア依存識別子を記憶する検索インデクスの記憶量を低減できる。 Further, the search device may delete the data store dependent identifier based on information having a specific attribute. Thereby, the search device can reduce the storage amount of the search index for storing the data store dependent identifier.
また、検索装置は、移行対象となる検索条件に合致する情報を検索し、データストア依存識別子を用いてアクセスする情報について、データストア依存識別子を移行元から移行先に変更する。データストア非依存識別子を用いてアクセスする情報については変更しなくてよいため、検索装置は、移行処理の負荷を従来の検索装置より低減することができる。 Further, the search device searches for information that matches the search condition to be migrated, and changes the data store dependent identifier from the migration source to the migration destination for information accessed using the data store dependent identifier. Since it is not necessary to change the information accessed using the data store independent identifier, the search device can reduce the load of the migration process compared to the conventional search device.
なお、本実施の形態で説明した検索方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本検索プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本検索プログラムは、インターネット等のネットワークを介して配布してもよい。 Note that the search method described in this embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. The search program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer. The search program may be distributed via a network such as the Internet.
#0,#1,#2 データストア
101 検索装置
111 識別子生成ルールテーブル
401 受付部
402 検索部
403 決定部
404 生成部
405 アクセス部
406 削除部
407 更新部
408 変更部
411 格納方式定義ルールテーブル
412 検索状況テーブル
# 0, # 1, # 2
Claims (11)
前記受付部によって前記検索要求を受け付けた場合、前記特定の属性によって指定される値の格納位置を示す第1の識別子または前記指定される値を識別する第2の識別子のうち少なくとも前記特定の属性を有する情報に基づいて特定された識別子を第1のデータストアの制御によって記憶する第1の記憶部を参照して、前記検索条件に合致する情報を検索する検索部と、
前記検索部によって検索された前記検索条件に合致する情報に基づいて、前記第1の識別子および前記第2の識別子のうち前記第1のデータストアとは異なる第2のデータストアの制御によって前記指定される値を記憶する第2の記憶部へのアクセスに用いる識別子を決定する決定部と、
前記決定部によって決定された識別子が前記第2の識別子である場合、前記第2の識別子および前記指定される値の格納位置の関係を示す情報と前記第2の識別子とに基づいて、前記指定される値の格納位置を示す識別子を生成する生成部と、
前記生成部によって生成された格納位置を示す識別子または前記第1の識別子を用いて、前記指定される値にアクセスするアクセス部と、
を有することを特徴とする検索装置。 A receiving unit that receives a search request for information that matches a search condition among information groups having a specific attribute;
When the search request is received by the reception unit, at least the specific attribute of the first identifier indicating the storage position of the value specified by the specific attribute or the second identifier for identifying the specified value A search unit that searches for information that matches the search condition with reference to a first storage unit that stores an identifier specified based on information having
The designation is made by controlling a second data store different from the first data store among the first identifier and the second identifier based on the information that matches the search condition searched by the search unit. A determination unit that determines an identifier used to access the second storage unit that stores the value to be stored;
When the identifier determined by the determination unit is the second identifier, the designation is made based on the second identifier and information indicating the relationship between the storage location of the designated value and the designated value. A generation unit that generates an identifier indicating a storage position of the value to be stored;
Using the identifier indicating the storage location generated by the generation unit or the first identifier, the access unit accessing the specified value;
A search device comprising:
前記検索部によって検索された前記検索条件に合致する情報が前記第1の記憶部に登録された日付および現在の日付の比較結果に基づいて、前記第1の識別子および前記第2の識別子のうち前記第2の記憶部へのアクセスに用いる識別子を決定することを特徴とする請求項1に記載の検索装置。 The determination unit
Of the first identifier and the second identifier, the information that matches the search condition searched by the search unit is based on a comparison result between the date registered in the first storage unit and the current date. The search device according to claim 1, wherein an identifier used for accessing the second storage unit is determined.
前記検索部によって検索された前記検索条件に合致する情報が前記第1の識別子を有する場合、前記第2の記憶部へのアクセスに用いる識別子を前記第1の識別子に決定することを特徴とする請求項1に記載の検索装置。 The determination unit
When the information that matches the search condition searched by the search unit includes the first identifier, an identifier used to access the second storage unit is determined as the first identifier. The search device according to claim 1.
前記決定部は、
前記検索部によって検索された前記検索条件に合致する情報と前記更新部によって更新された前記検索条件の履歴とに基づいて、前記第1の識別子および前記第2の識別子のうち前記第2の記憶部へのアクセスに用いる識別子を決定することを特徴とする請求項1に記載の検索装置。 When the search request is received by the reception unit, the update unit updates the history of the search condition,
The determination unit
Based on the information that matches the search condition searched by the search unit and the history of the search condition updated by the update unit, the second storage of the first identifier and the second identifier. The search apparatus according to claim 1, wherein an identifier used for accessing a copy unit is determined.
前記第1の識別子または前記第2の識別子のうち少なくとも前記特定の属性を有する情報が前記第1の記憶部に登録された日付および現在の日付の比較結果に基づいて特定された識別子を第1のデータストアの制御によって記憶することを特徴とする請求項1〜4のいずれか一つに記載の検索装置。 The first storage unit
The identifier specified based on the comparison result between the date when the information having at least the specific attribute of the first identifier or the second identifier is registered in the first storage unit and the current date is a first identifier. The search device according to claim 1, wherein the search device stores the data by controlling the data store.
前記第1の記憶部は、
前記第1の識別子または前記第2の識別子のうち少なくとも前記特定の属性を有する情報と前記更新部によって更新された前記検索条件の履歴とに基づいて特定された識別子を第1のデータストアの制御によって記憶することを特徴とする請求項1〜3のいずれか一つに記載の検索装置。 When the search request is received by the reception unit, the update unit updates the history of the search condition,
The first storage unit
Control of the first data store with the identifier specified based on at least the information having the specific attribute of the first identifier or the second identifier and the history of the search condition updated by the update unit The search device according to claim 1, wherein the search device is stored according to claim 1.
前記第1の識別子または前記第2の識別子のうち少なくとも前記特定の属性を有する情報と前記更新部によって更新された前記検索条件の履歴とに基づいて特定された識別子を第1のデータストアの制御によって記憶することを特徴とする請求項4に記載の検索装置。 The first storage unit
Control of the first data store with the identifier specified based on at least the information having the specific attribute of the first identifier or the second identifier and the history of the search condition updated by the update unit The retrieval apparatus according to claim 4, wherein the retrieval apparatus stores the retrieval information.
前記検索条件として前記指定される値が移行対象となる検索条件に合致する情報の検索要求を受け付け、
前記生成部は、
さらに、前記第2のデータストアとは異なる第3のデータストアの制御によって前記指定される値の移行先となる第3の記憶部への格納位置を示す識別子を生成し、
前記アクセス部は、
前記生成部によって生成された前記第2の記憶部への格納位置を示す識別子または前記第1の識別子を用いて前記第2の記憶部から前記指定された値を読み込んで、読み込んだ値を前記生成部によって生成された前記第3の記憶部への格納位置を示す識別子を用いて前記第3の記憶部へ書き込み、
前記決定部によって決定された識別子が前記第1の識別子である場合、前記第1の記憶部に記憶された前記第1の識別子を、前記第3の記憶部への格納位置を示す識別子に変更する変更部を有することを特徴とする請求項1〜8のいずれか一つに記載の検索装置。 The reception unit
Accepting a search request for information that matches the search condition with the specified value as the search condition,
The generator is
Further, an identifier indicating a storage position in the third storage unit to which the designated value is transferred is generated by controlling a third data store different from the second data store,
The access unit is
The specified value is read from the second storage unit using the identifier indicating the storage position in the second storage unit generated by the generation unit or the first identifier, and the read value is read from the second storage unit. Write to the third storage unit using an identifier generated by the generation unit and indicating the storage position in the third storage unit,
When the identifier determined by the determination unit is the first identifier, the first identifier stored in the first storage unit is changed to an identifier indicating a storage position in the third storage unit The search device according to claim 1, further comprising: a changing unit that performs the operation.
特定の属性を有する情報群のうち検索条件に合致する情報の検索要求を受け付け、
前記検索要求を受け付けた場合、前記特定の属性によって指定される値の格納位置を示す第1の識別子または前記指定される値を識別する第2の識別子のうち少なくとも前記特定の属性を有する情報に基づいて特定された識別子を第1のデータストアの制御によって記憶する第1の記憶部を参照して、前記検索条件に合致する情報を検索し、
検索した前記検索条件に合致する情報に基づいて、前記第1の識別子および前記第2の識別子のうち前記第1のデータストアとは異なる第2のデータストアの制御によって前記指定される値を記憶する第2の記憶部へのアクセスに用いる識別子を決定し、
決定した識別子が前記第2の識別子である場合、前記第2の識別子および前記指定される値の格納位置の関係を示す情報と前記第2の識別子とに基づいて、前記指定される値の格納位置を示す識別子を生成し、
生成した格納位置を示す識別子または前記第1の識別子を用いて、前記指定される値にアクセスする、
処理を実行することを特徴とする検索方法。 Computer
Accept a search request for information that matches the search criteria among information groups with specific attributes,
When the search request is received, information having at least the specific attribute of the first identifier indicating the storage position of the value specified by the specific attribute or the second identifier for identifying the specified value is included. A first storage unit that stores the identifier identified based on the control of the first data store, and searches for information that matches the search condition;
Based on the searched information that matches the search condition, the value specified by the control of the second data store different from the first data store among the first identifier and the second identifier is stored. Determining an identifier used to access the second storage unit,
When the determined identifier is the second identifier, the storage of the specified value is based on the second identifier and the information indicating the relationship between the storage position of the specified value and the specified value. Generate an identifier that indicates the location,
Using the identifier indicating the generated storage location or the first identifier to access the specified value;
A search method characterized by executing processing.
特定の属性を有する情報群のうち検索条件に合致する情報の検索要求を受け付け、
前記検索要求を受け付けた場合、前記特定の属性によって指定される値の格納位置を示す第1の識別子または前記指定される値を識別する第2の識別子のうち少なくとも前記特定の属性を有する情報に基づいて特定された識別子を第1のデータストアの制御によって記憶する第1の記憶部を参照して、前記検索条件に合致する情報を検索し、
検索した前記検索条件に合致する情報に基づいて、前記第1の識別子および前記第2の識別子のうち前記第1のデータストアとは異なる第2のデータストアの制御によって前記指定される値を記憶する第2の記憶部へのアクセスに用いる識別子を決定し、
決定した識別子が前記第2の識別子である場合、前記第2の識別子および前記指定される値の格納位置の関係を示す情報と前記第2の識別子とに基づいて、前記指定される値の格納位置を示す識別子を生成し、
生成した格納位置を示す識別子または前記第1の識別子を用いて、前記指定される値にアクセスする、
処理を実行させることを特徴とする検索プログラム。 On the computer,
Accept a search request for information that matches the search criteria among information groups with specific attributes,
When the search request is received, information having at least the specific attribute of the first identifier indicating the storage position of the value specified by the specific attribute or the second identifier for identifying the specified value is included. A first storage unit that stores the identifier identified based on the control of the first data store, and searches for information that matches the search condition;
Based on the searched information that matches the search condition, the value specified by the control of the second data store different from the first data store among the first identifier and the second identifier is stored. Determining an identifier used to access the second storage unit,
When the determined identifier is the second identifier, the storage of the specified value is based on the second identifier and the information indicating the relationship between the storage position of the specified value and the specified value. Generate an identifier that indicates the location,
Using the identifier indicating the generated storage location or the first identifier to access the specified value;
A search program characterized by causing processing to be executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012053856A JP5810982B2 (en) | 2012-03-09 | 2012-03-09 | SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012053856A JP5810982B2 (en) | 2012-03-09 | 2012-03-09 | SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013186842A JP2013186842A (en) | 2013-09-19 |
JP5810982B2 true JP5810982B2 (en) | 2015-11-11 |
Family
ID=49388170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012053856A Expired - Fee Related JP5810982B2 (en) | 2012-03-09 | 2012-03-09 | SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5810982B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6411024B2 (en) * | 2013-12-12 | 2018-10-24 | 富士通株式会社 | Data storage device, data storage method, and data storage program |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004185270A (en) * | 2002-12-03 | 2004-07-02 | Fujitsu Ltd | Unload program, load program and method of migrating data |
JP4247975B2 (en) * | 2003-08-20 | 2009-04-02 | 日本電信電話株式会社 | Data management method, data management system, program therefor, and recording medium |
JP2005267501A (en) * | 2004-03-22 | 2005-09-29 | Hitachi Ltd | Storage management method and system |
-
2012
- 2012-03-09 JP JP2012053856A patent/JP5810982B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013186842A (en) | 2013-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10459892B2 (en) | Filesystem hierarchical aggregate metrics | |
CN107122355B (en) | Data migration system and method | |
CN102880714B (en) | File clean-up method and device | |
WO2011033582A1 (en) | Storage system for eliminating duplicated data | |
CN107122361B (en) | Data migration system and method | |
US20200125660A1 (en) | Quick identification and retrieval of changed data rows in a data table of a database | |
WO2011083508A1 (en) | Storage system and its file management method | |
JP2004280780A (en) | Back up method, system, and program | |
US7860909B2 (en) | Search engine system using snapshot function of storage system | |
CN104781812A (en) | Policy driven data placement and information lifecycle management | |
JP2006276926A (en) | Relocation method of data | |
JP2015530629A (en) | Destination file server and file system migration method | |
US20170277747A1 (en) | Modifying a database query | |
KR101648047B1 (en) | System and method for recommending compatible open source software | |
CN109947730A (en) | Metadata restoration methods, device, distributed file system and readable storage medium storing program for executing | |
US9594677B2 (en) | Computer system, data management method, and recording medium for storing program | |
GB2481930A (en) | Information management device and information management program | |
JP5810982B2 (en) | SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM | |
KR20130053152A (en) | Method of file management based on tag and system of the same | |
JP2010160577A (en) | Retrieving device, control method therefor, and computer program | |
JP6680897B2 (en) | Computer system and analysis source data management method | |
CN112817989B (en) | Data processing method, data processing device, storage medium and electronic equipment | |
JP7141908B2 (en) | Data management system and data management method | |
JP6193491B2 (en) | Computer system | |
WO2017017748A1 (en) | Computer system and sampling method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141112 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150709 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150818 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150831 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5810982 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |