JP5810982B2 - SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM - Google Patents

SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM Download PDF

Info

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
Application number
JP2012053856A
Other languages
Japanese (ja)
Other versions
JP2013186842A (en
Inventor
大谷 武
武 大谷
佐野 健
健 佐野
佐々木 和雄
和雄 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012053856A priority Critical patent/JP5810982B2/en
Publication of JP2013186842A publication Critical patent/JP2013186842A/en
Application granted granted Critical
Publication of JP5810982B2 publication Critical patent/JP5810982B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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, Patent Document 1 below). .)

特開2005−267501号公報JP 2005-267501 A

しかしながら、上述した従来技術において、ストレージを割り当てるデータストアを複数用いてシステムを運用している状態において、特定のデータストアに格納されたデータを他のデータストアに移行する場合、移行負荷が大きくなる。たとえば、複数のデータストアのうちの一つのデータストアに、残余のデータストアに格納したデータへの格納位置を記憶し、移行処理を実行する装置が、残余のデータストアのうち特定のデータストアに格納されたデータを他のデータストアに移行するとする。このとき、移行処理の一部として、一つのデータストアに記憶されている、データへの格納位置を変更する処理があり、特定のデータストアに蓄積されたデータが多い場合、変更量が多くなるため、移行負荷が大きくなる。   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 storage unit 1 and based on the information that matches the searched search condition. When an identifier used to access a second storage unit that stores a value specified by control of a different second data store is determined, and the determined identifier is the second identifier, the second identifier And an identifier indicating the storage location of the specified value based on the information indicating the relationship between the storage location of the specified value and the second identifier, and the identifier or the first identifier indicating the generated storage location A search device, a search method, and a search program for accessing a specified value using are proposed.

本発明の一側面によれば、移行負荷の低減化を図ることができるという効果を奏する。   According to one aspect of the present invention, it is possible to reduce the transition load.

図1は、検索装置の動作例を示す説明図である。FIG. 1 is an explanatory diagram illustrating an operation example of the search device. 図2は、データストア統合システムの接続例を示す説明図である。FIG. 2 is an explanatory diagram showing a connection example of the data store integrated system. 図3は、検索装置のハードウェア構成例を示す説明図である。FIG. 3 is an explanatory diagram illustrating a hardware configuration example of the search device. 図4は、検索装置の機能例を示すブロック図である。FIG. 4 is a block diagram illustrating an example of functions of the search device. 図5は、データストア群の記憶内容の一例を示す説明図である。FIG. 5 is an explanatory diagram showing an example of the contents stored in the data store group. 図6は、格納方式定義ルールテーブルの記憶内容の一例を示す説明図である。FIG. 6 is an explanatory diagram showing an example of the contents stored in the storage method definition rule table. 図7は、識別子生成ルールテーブルの記憶内容の一例を示す説明図である。FIG. 7 is an explanatory diagram of an example of the contents stored in the identifier generation rule table. 図8は、検索状況テーブルの記憶内容の一例を示す説明図である。FIG. 8 is an explanatory diagram of an example of the contents stored in the search situation table. 図9は、登録処理の動作例を示す説明図である。FIG. 9 is an explanatory diagram illustrating an operation example of registration processing. 図10は、識別子削除処理の対象となるデータの一例を示す説明図である。FIG. 10 is an explanatory diagram showing an example of data to be subjected to identifier deletion processing. 図11は、検索処理の動作例を示す説明図である。FIG. 11 is an explanatory diagram illustrating an operation example of the search process. 図12は、移行処理の動作例を示す説明図である。FIG. 12 is an explanatory diagram illustrating an operation example of the migration process. 図13は、識別子削除処理手順の一例を示すフローチャートである。FIG. 13 is a flowchart illustrating an example of an identifier deletion processing procedure. 図14は、検索処理手順の一例を示すフローチャート(その1)である。FIG. 14 is a flowchart (part 1) illustrating an example of a search processing procedure. 図15は、検索処理手順の一例を示すフローチャート(その2)である。FIG. 15 is a flowchart (part 2) illustrating an example of a search processing procedure. 図16は、移行処理手順の一例を示すフローチャート(その1)である。FIG. 16 is a flowchart (part 1) illustrating an example of the migration processing procedure. 図17は、移行処理手順の一例を示すフローチャート(その2)である。FIG. 17 is a flowchart (part 2) illustrating an example of the migration processing procedure.

以下に添付図面を参照して、開示の検索装置、検索方法、および検索プログラムの実施の形態を詳細に説明する。   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 store integration system 100 that integrates a plurality of data stores includes a search device 101 that searches for life log data, a data store that controls a storage area for storing life log data, data store # 0, and data store #. 1 and data store # 2. The data store integration system 100 also has an identifier generation rule table 111. The life log data is data in which human life, behavior, experience, etc. are recorded as digital data such as video / audio / position information. In the present embodiment, the data store integration system 100 accumulates four attributes of life log data: date, number of steps, lunch comment, and lunch photo.

データストア#0は、ライフログデータの検索インデクスを制御する。検索インデクスとは、ライフログデータを検索するための索引を示す。具体的に、データストア#0の種別は、RDB(Relational DataBase)である。データストア#0が制御する記憶領域は、レコード112−1〜レコード112−7を記憶する。なお、レコード112−1〜レコード112−3は、検索頻度が高いレコードであるとする。検索頻度が高いレコードは、レコード数が少ないものとする。また、レコード112−4〜レコード112−7は、検索頻度が低いレコードであるとする。検索頻度が低いレコードは、レコード数が多いものとする。検索インデクスのレコードが、このような検索頻度、レコード数となる理由としては、図10にて後述する。   Data store # 0 controls the search index of life log data. The search index indicates an index for searching life log data. Specifically, the type of the data store # 0 is RDB (Relational DataBase). The storage area controlled by the data store # 0 stores records 112-1 to 112-7. Note that the records 112-1 to 112-3 are records with a high search frequency. A record with a high search frequency has a small number of records. Further, it is assumed that the records 112-4 to 112-7 are records with a low search frequency. A record with a low search frequency has a large number of records. The reason why the search index record has such a search frequency and the number of records will be described later with reference to FIG.

また、データストア#1の種別は、KVS(Key Value Store)である。データストア#1が制御する記憶領域に記憶されているデータについては、図5にて後述する。さらに、データストア#2の種別は、ファイルシステムである。データストア#2が制御する記憶領域は、dataディレクトリの中に、画像ファイルfile#99と、画像ファイルfile#98と、画像ファイルfile#88を記憶する。データストアの種別の詳細については、図2にて後述する。   The type of the data store # 1 is KVS (Key Value Store). The data stored in the storage area controlled by the data store # 1 will be described later with reference to FIG. Furthermore, the type of data store # 2 is a file system. The storage area controlled by the data store # 2 stores the image file file # 99, the image file file # 98, and the image file file # 88 in the data directory. Details of the type of data store will be described later with reference to FIG.

また、ライフログデータの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 data store # 0. The value designated by the lunch comment attribute is stored in the storage area controlled by the data store # 1. The value specified by the lunch photo attribute is stored in a storage area controlled by the data store # 2. Details of the storage contents of the storage areas controlled by the data store # 0 to the data store # 2 will be described later with reference to FIG.

また、データストア#0が制御する記憶領域には、ランチコメント属性によって指定される値とランチ写真属性によって指定される値の格納位置を示す識別子を記憶するフィールドを有する。以下、この識別子を、データストア依存識別子と呼称する。さらに、データストア#0が制御する記憶領域には、ランチコメント属性によって指定される値とランチ写真属性によって指定される値を識別する識別子を記憶するフィールドを有する。以下、この識別子を、データストア非依存識別子と呼称する。本実施の形態で示すデータストア非依存識別子は、ランチコメント属性によって指定される値とランチ写真属性によって指定される値に同一の識別子を用いているが、異なる識別子を用意してもよい。   Further, the storage area controlled by the data store # 0 has a field for storing an identifier indicating a storage position of a value specified by the lunch comment attribute and a value specified by the lunch photo attribute. Hereinafter, this identifier is referred to as a data store dependent identifier. Further, the storage area controlled by the data store # 0 has a field for storing an identifier for identifying a value designated by the lunch comment attribute and a value designated by the lunch photo attribute. Hereinafter, this identifier is referred to as a data store independent identifier. The same identifier is used for the value specified by the lunch comment attribute and the value specified by the lunch photo attribute as the data store-independent identifier shown in the present embodiment, but different identifiers may be prepared.

識別子生成ルールテーブル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 data store # 2. doing. Specifically, the identifier generation rule table 111 indicates that the value specified by the lunch photo attribute is stored at the position indicated by “/ data / file # {identifier}” using the identifier field. .

初めに、検索装置101は、検索要求121を受け付ける。検索要求121の検索条件は、歩数が5000歩であり、かつ日付が2011/7/1から2011/8/31である。次に、検索装置101は、検索要求121の検索条件に合致したレコードを検索する。図1の例では、検索要求121の検索条件に合致したレコードは、レコード112−1と、レコード112−4となる。   First, the search device 101 receives a search request 121. The search condition of the search request 121 is that the number of steps is 5000 and the date is 2011/7/1 to 2011/8/31. Next, the search device 101 searches for a record that matches the search condition of the search request 121. In the example of FIG. 1, the records that match the search condition of the search request 121 are a record 112-1 and a record 112-4.

続けて、検索条件に合致したレコード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 search apparatus 101 determines an identifier used for accessing the data store # 2 among the data store dependent identifier and the data store independent identifier. Since the search frequency of the record 112-1 is high, the search apparatus 101 accesses the storage area controlled by the data store # 2 using the data store dependent identifier “/ data / file # 99”, and the image file file # 99. To get.

また、レコード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 search apparatus 101 uses the identifier “88” and “/ data / file # {identifier}” in the identifier generation rule table 111 to indicate the storage location. “/ Data / file # 88” is generated. Subsequently, using the identifier “/ data / file # 88”, the search device 101 accesses the storage area controlled by the data store # 2 and acquires the image file file # 88.

このように、検索装置101は、検索頻度の高い情報にはデータストアでの属性の格納位置を示すデータストア依存識別子を付与し、検索頻度の低い情報には属性の識別子となるデータストア非依存識別子を付与して格納位置を生成する。これにより、検索装置101は、属性の移行処理には、検索頻度の高いレコードのデータストア依存識別子を変更すればよく、移行処理の負荷を低減できる。以下、検索装置101について、図2〜図17を用いて詳細に説明する。   As described above, the search apparatus 101 assigns the data store-dependent identifier indicating the storage position of the attribute in the data store to the information with high search frequency, and the data store independent that becomes the attribute identifier for the information with low search frequency. An identifier is assigned to generate a storage location. As a result, the search apparatus 101 only needs to change the data store-dependent identifier of a record with a high search frequency in the attribute migration process, and can reduce the load of the migration process. Hereinafter, the search device 101 will be described in detail with reference to FIGS.

図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 store integration system 100 includes a client 201, a client 202, a search device 101, and a data store group 203. The client 201, the client 202, and the search device 101 are connected via a network 210.

クライアント201は、携帯電話機として、スマートフォンであってもよいし、PHS(Personal Handyphone System)であってもよいし、タブレット型端末であってもよい。クライアント202は、デスクトップ型PC(Personal Computer)である。検索装置101は、クライアント201またはクライアント202上で動作するアプリケーションソフトウェアからの検索要求に応じて、検索条件に対応する情報を取得して、アプリケーションソフトウェアに返却する。アプリケーションソフトウェアは、以下、“アプリ”と称する。   The client 201 may be a smartphone, a PHS (Personal Handyphone System), or a tablet terminal as a mobile phone. The client 202 is a desktop PC (Personal Computer). In response to a search request from application software running on the client 201 or the client 202, the search apparatus 101 acquires information corresponding to the search condition and returns it to the application software. The application software is hereinafter referred to as “application”.

データストア群203は、データストア#0〜データストア#2を含む。データストアとは、データを決められた形式で記憶領域に記憶するソフトウェアである。図1で示したように、データストア#0の種別は、RDBである。また、データストア#1の種別がKVSである。さらに、データストア#2の種別は、ファイルシステムである。   The data store group 203 includes data store # 0 to data store # 2. A data store is software that stores data in a storage area in a predetermined format. As shown in FIG. 1, the type of the data store # 0 is RDB. The type of data store # 1 is KVS. Furthermore, the type of data store # 2 is a file system.

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 data store # 0 to the data store # 2 may be the search device 101 or an external device. If it is an external device, for example, the external device executes data store # 0 to data store # 2 and controls the storage devices managed by data store # 0 to data store # 2. The apparatuses that execute data store # 0 to data store # 2 may be the same or different.

図2で示すように、データストア統合システム100は、複数のデータストアを組合せて、クライアント201やクライアント202にライフログデータを利用するサービスを提供する。具体的なデータストアの組合せ方としては、RDBであるデータストア#0が制御する記憶領域を検索インデクスとする。また、KVSであるデータストア#1やファイルシステムであるデータストア#2が制御する記憶領域は、ライフログデータの各属性のうち、それぞれのデータストアが最適な属性を記憶する。どのデータストアがどの属性を記憶するかについては、属性によって指定される値のサイズ、属性全体の蓄積量、値に対する更新頻度や検索条件の指定の有無等によって、データストア統合システム100の開発者が決定する。   As shown in FIG. 2, the data store integration system 100 provides a service using life log data to the client 201 and the client 202 by combining a plurality of data stores. As a specific data store combination method, a storage area controlled by data store # 0, which is an RDB, is used as a search index. In addition, the storage areas controlled by the data store # 1 that is the KVS and the data store # 2 that is the file system store the optimum attribute of each data store among the attributes of the life log data. Which data store stores which attribute depends on the size of the value specified by the attribute, the accumulation amount of the entire attribute, the update frequency for the value, whether or not a search condition is specified, and the like. Will be determined.

また、図2には示していないが、データストア統合システム100に、データストア統合システム100の管理者が操作する管理者端末があってもよい。または、管理者が、クライアント201またはクライアント202から管理者用のアカウントを用いてデータストア統合システム100にログインしてもよい。   Although not shown in FIG. 2, the data store integration system 100 may include an administrator terminal operated by the administrator of the data store integration system 100. Alternatively, the administrator may log in to the data store integration system 100 from the client 201 or the client 202 using an administrator account.

(検索装置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 search apparatus 101 includes a CPU (Central Processing Unit) 301, a ROM (Read-Only Memory) 302, a RAM (Random Access Memory) 303, a magnetic disk drive 304, a magnetic disk 305, an IF 306, and the like. ,including. Each unit is connected by a bus 307.

ここで、CPU301は、検索装置101の全体の制御を司る演算処理装置である。ROM302は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。RAM303は、CPU301のワークエリアとして使用される揮発性メモリである。磁気ディスクドライブ304は、CPU301の制御に従って磁気ディスク305に対するデータのリード/ライトを制御する制御装置である。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記憶する不揮発性メモリである。   Here, the CPU 301 is an arithmetic processing unit that controls the entire search apparatus 101. The ROM 302 is a nonvolatile memory that stores programs such as a boot program. A RAM 303 is a volatile memory used as a work area for the CPU 301. The magnetic disk drive 304 is a control device that controls reading / writing of data with respect to the magnetic disk 305 according to the control of the CPU 301. The magnetic disk 305 is a non-volatile memory that stores data written under the control of the magnetic disk drive 304.

IF306は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他の装置に接続される。そして、IF306は、ネットワーク210と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。IF306には、たとえばモデムやLANアダプタなどを採用することができる。なお、検索装置101は、管理者が検索装置101を直接操作する場合、光ディスクドライブと、ディスプレイと、キーボードと、マウスと、を有していてもよい。   The IF 306 is connected to the network 210 through a communication line, and is connected to other devices via the network 210. The IF 306 controls an internal interface with the network 210 and controls data input / output from an external device. For example, a modem or a LAN adapter can be adopted as the IF 306. Note that the search device 101 may include an optical disc drive, a display, a keyboard, and a mouse when an administrator directly operates the search device 101.

また、図3にて図示していないが、クライアント201は、たとえば、CPUと、RAMと、ROMと、フラッシュROMと、ディスプレイと、IFを有する。フラッシュROMは、記憶内容を書き換え可能な不揮発性メモリである。また、クライアント201は、カメラデバイスと、センサを有してもよい。また、クライアント202は、たとえば、CPUと、RAMと、ROMと、磁気ディスクドライブと、磁気ディスクと、IFと、光ディスクドライブと、ディスプレイと、キーボードと、マウスと、を有していてもよい。   Although not shown in FIG. 3, the client 201 includes, for example, a CPU, a RAM, a ROM, a flash ROM, a display, and an IF. The flash ROM is a non-volatile memory in which stored contents can be rewritten. Further, the client 201 may include a camera device and a sensor. The client 202 may include, for example, a CPU, a RAM, a ROM, a magnetic disk drive, a magnetic disk, an IF, an optical disk drive, a display, a keyboard, and a mouse.

(検索装置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 search device 101 will be described. FIG. 4 is a block diagram illustrating an example of functions of the search device. The search apparatus 101 includes a reception unit 401, a search unit 402, a determination unit 403, a generation unit 404, an access unit 405, a deletion unit 406, an update unit 407, a change unit 408, an index adapter 409, A data store adapter 410 is included. The receiving unit 401 to the data store adapter 410 serving as the control unit realize their functions when the CPU 301 executes a program stored in the storage device. Specifically, the storage device is, for example, the ROM 302, the RAM 303, the magnetic disk 305, etc. shown in FIG. Alternatively, the function may be realized by being executed by another CPU via the IF 306.

また、検索装置101は、データストア群203と、格納方式定義ルールテーブル411と、識別子生成ルールテーブル111と、検索状況テーブル412にアクセス可能である。格納方式定義ルールテーブル411と、識別子生成ルールテーブル111と、検索状況テーブル412は、RAM303、磁気ディスク305といった記憶装置に格納されている。   In addition, the search device 101 can access the data store group 203, the storage method definition rule table 411, the identifier generation rule table 111, and the search status table 412. The storage method definition rule table 411, the identifier generation rule table 111, and the search status table 412 are stored in a storage device such as the RAM 303 and the magnetic disk 305.

また、図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 search device 101, and the data store group 203 is outside the search device 101. The storage method definition rule table 411, the identifier generation rule table 111, and the search status table 412 may be outside the search device 101, and the data store group 203 may be inside the search device 101.

受付部401は、特定の属性を有する情報群のうち検索条件に合致する情報の検索要求を受け付ける。たとえば、受付部401は、クライアント201上で動くアプリからの検索要求を受け付ける。   The accepting unit 401 accepts a search request for information that matches a search condition among information groups having specific attributes. For example, the reception unit 401 receives a search request from an application that runs on the client 201.

また、受付部401は、検索条件として属性によって指定される値が移行対象となる検索条件に合致する情報の検索要求を受け付けてもよい。移行対象となる検索条件としては、たとえば、移行対象となるランチ写真属性によって指定される値があるという検索条件であってもよいし、ランチ写真属性によって指定される値があり、かつ、管理者から指定された過去何年かまでの検索条件であってもよい。受付部401の機能により、検索装置101は、検索処理、移行処理の契機を検出することができる。なお、受け付けた検索要求は、RAM303、磁気ディスク305といった記憶領域に記憶される。   The accepting unit 401 may accept a search request for information whose value specified by the attribute as the search condition matches the search condition to be transferred. As a search condition to be transferred, for example, there may be a search condition that there is a value specified by the lunch photo attribute to be transferred, or there is a value specified by the lunch photo attribute, and the administrator The search conditions up to the past several years specified from may be used. With the function of the reception unit 401, the search device 101 can detect the trigger of search processing and migration processing. The accepted search request is stored in a storage area such as the RAM 303 and the magnetic disk 305.

検索部402は、受付部401によって検索要求を受け付けた場合、第1の記憶部を参照して、検索条件に合致する情報を検索する。第1の記憶部とは、たとえば、データストア#0によって制御される記憶領域である。たとえば、検索部402は、アプリから受け付けた検索要求の検索条件に合致する情報を検索する。検索部402の機能により、検索装置101は、検索条件に合致するレコードを取得できる。なお、検索結果は、RAM303、磁気ディスク305といった記憶領域に記憶される。   When the search unit 402 receives a search request by the receiving unit 401, the search unit 402 refers to the first storage unit and searches for information that matches the search condition. The first storage unit is, for example, a storage area controlled by data store # 0. For example, the search unit 402 searches for information that matches the search condition of the search request received from the application. With the function of the search unit 402, the search apparatus 101 can acquire records that match the search conditions. The search result is stored in a storage area such as the RAM 303 and the magnetic disk 305.

第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 update unit 407. . The search condition history is stored in the search status table 412. 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, when the information having the specific attribute is a record within the past one month, the first storage unit stores at least the first identifier. In addition, when the number of times the search condition for acquiring a record within the past month is received is equal to or less than a specified threshold and information having a specific attribute is a record within the past month, the first storage unit Stores at least the second identifier.

決定部403は、検索部402によって検索された検索条件に合致する情報に基づいて、第1の識別子および第2の識別子のうち第1のデータストアとは異なる第2のデータストアの制御によって指定される値を記憶する第2の記憶部へのアクセスに用いる識別子を決定する。第2の記憶部は、たとえば、データストア#1によって制御される記憶領域、またはデータストア#2によって制御される記憶領域である。第1の識別子および第2の識別子のうちどちらの識別子を用いるかについての決定方法については、たとえば、検索条件に合致する情報の第1の記憶部に登録された日付や、検索条件に合致する情報への検索頻度、または第1の識別子の有無に応じて特定する。   The determination unit 403 is designated by control of a second data store different from the first data store among the first identifier and the second identifier based on information that matches the search condition searched by the search unit 402. An identifier used to access the second storage unit that stores the value to be stored is determined. The second storage unit is, for example, a storage area controlled by data store # 1, or a storage area controlled by data store # 2. As for the determination method as to which one of the first identifier and the second identifier is used, for example, the date registered in the first storage unit of the information that matches the search condition or the search condition is matched. It is specified according to the search frequency for information or the presence or absence of the first identifier.

また、決定部403は、検索部402によって検索された検索条件に合致する情報が第1の記憶部に登録された日付および現在の日付の比較結果に基づいて、第1の識別子および第2の識別子のうち第2の記憶部へのアクセスに用いる識別子を決定してもよい。たとえば、検索されたレコードの登録された日付と現在の日付が1か月以内であれば、決定部403は、第2の記憶部へのアクセスに用いる識別子を第1の識別子に決定する。また、たとえば、検索されたレコードの登録された日付と現在の日付が1か月を超えていれば、決定部403は、第2の記憶部へのアクセスに用いる識別子を第2の識別子に決定する。   The determining unit 403 also determines the first identifier and the second based on the comparison result between the date when the information that matches the search condition searched by the search unit 402 is registered in the first storage unit and the current date. Of the identifiers, an identifier used for accessing the second storage unit may be determined. For example, if the registered date and the current date of the retrieved record are within one month, the determination unit 403 determines the identifier used for accessing the second storage unit as the first identifier. Further, for example, if the registered date and the current date of the retrieved record exceed one month, the determination unit 403 determines the identifier used for accessing the second storage unit as the second identifier. To do.

また、決定部403は、検索部402によって検索された検索条件に合致する情報が第1の識別子を有する場合、第2の記憶部へのアクセスに用いる識別子を第1の識別子に決定してもよい。たとえば、検索されたレコードが第1の識別子を有していれば、決定部403は、第2の記憶部へのアクセスに用いる識別子を第1の識別子に決定する。   In addition, when the information that matches the search condition searched by the search unit 402 has the first identifier, the determination unit 403 may determine the identifier used for accessing the second storage unit as the first identifier. Good. For example, if the retrieved record has the first identifier, the determination unit 403 determines the identifier used for accessing the second storage unit as the first identifier.

また、決定部403は、検索部402によって検索された検索条件に合致する情報と更新部407によって更新された検索条件の履歴とに基づいて、第1の識別子および第2の識別子のうち第2の記憶部へのアクセスに用いる識別子を決定してもよい。   Further, the determination unit 403 determines the second of the first identifier and the second identifier based on the information that matches the search condition searched by the search unit 402 and the history of the search condition updated by the update unit 407. An identifier for use in accessing the storage unit may be determined.

たとえば、検索条件の履歴として、過去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 determination unit 403 determines the identifier used for accessing the second storage unit as the first identifier. In addition, if the number of times the search condition for acquiring records within the past month is received is equal to or less than the threshold and the searched record is a record within the past month, the determination unit 403 includes the second storage unit The identifier used for access to is determined as the second identifier.

決定部403の機能により、検索装置101は、検索頻度が高いレコードであれば、格納位置を示す識別子を生成せずに済む第1の識別子を用いることができ、検索頻度が低いレコードであれば、移行時に変更せずに済む第2の識別子を用いることができる。また、決定結果は、RAM303、磁気ディスク305といった記憶領域に記憶される。   With the function of the determination unit 403, the search device 101 can use the first identifier that does not need to generate an identifier indicating the storage position if the search frequency is high, and if the search frequency is low, A second identifier that does not need to be changed at the time of migration can be used. The determination result is stored in a storage area such as the RAM 303 and the magnetic disk 305.

生成部404は、決定部403によって決定された識別子が第2の識別子である場合、第2の識別子および指定される値の格納位置の関係を示す情報と第2の識別子とに基づいて、指定される値の格納位置を示す識別子を生成する。第2の識別子および指定される値の格納位置の関係を示す情報は、識別子生成ルールテーブル111で記憶される情報である。   When the identifier determined by the determination unit 403 is the second identifier, the generation unit 404 specifies based on the second identifier and information indicating the relationship between the storage location of the specified value and the specified value. An identifier indicating the storage location of the value to be generated is generated. Information indicating the relationship between the storage location of the second identifier and the specified value is information stored in the identifier generation rule table 111.

たとえば、指定される値の格納位置の関係を示す情報は、特定の文字情報であり、文字情報の一部を第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 generation unit 404 generates an identifier indicating the storage position of the designated value. The information indicating the relationship between the storage positions of the specified values is specified by combining the second identifier with the information indicating the relationship between the storage positions of the specified values, for example, in addition to the replacement. It may be information that can generate an identifier indicating the storage location of a value. In this case, information indicating the relationship between storage positions of designated values is “/ data / file #”.

また、生成部404は、第2のデータストアとは異なる第3のデータストアの制御によって指定される値の第3の記憶部への格納位置を示す識別子を生成してもよい。具体的に、生成部404は、第2の識別子および指定される値の第3の記憶部への格納位置の関係を示す情報と、第2の識別子とから、第3の記憶部への格納位置を示す識別子を生成してもよい。   Further, the generation unit 404 may generate an identifier indicating a storage position in the third storage unit of a value specified by control of a third data store different from the second data store. Specifically, the generation unit 404 stores information in the third storage unit from the second identifier and information indicating the relationship between the storage position of the designated value in the third storage unit and the second identifier. An identifier indicating the position may be generated.

たとえば、第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 generation unit 404 generates an identifier indicating a storage position in the third storage unit, such as “/ data / usr1 / file-99”.

また、検索部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 search unit 402 does not include the second identifier. However, in this case, the information that matches the search condition has the first identifier. Therefore, the generation unit 404 extracts the second identifier from the first identifier, information indicating the relationship between the extracted value and the storage position of the second identifier and the specified value in the third storage unit, From the above, an identifier indicating the storage position in the third storage unit may be generated. With the function of the generation unit 404, the search device 101 can access a specified value.

アクセス部405は、生成部404によって生成された格納位置を示す識別子または第1の識別子を用いて、指定される値にアクセスする。たとえば、生成部404によって、格納位置を示す識別子である“/data/file#88”が生成された場合、アクセス部405は、“/data/file#88”に格納された値にアクセスする。   The access unit 405 accesses the designated value using the identifier indicating the storage position generated by the generation unit 404 or the first identifier. For example, when the generation unit 404 generates “/ data / file # 88”, which is an identifier indicating the storage position, the access unit 405 accesses the value stored in “/ data / file # 88”.

また、アクセス部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 access unit 405 reads a value designated from the second storage unit using the identifier indicating the storage position in the second storage unit generated by the generation unit 404 or the first identifier. Subsequently, the access unit 405 writes the read value to the third storage unit using the identifier indicating the storage position in the third storage unit generated by the generation unit 404. For example, the access unit 405 reads a value designated by using the identifier “/ data / file # 99” from the second storage unit. Subsequently, the access unit 405 writes the value designated by using the identifier “/ data / usr1 / file-99” in the third storage unit. With the function of the access unit 405, the search device 101 can access the values that are the targets of the search process or the migration process.

削除部406は、第1の記憶部に記憶された特定の属性を有する情報に基づいて、特定の属性を有する情報が有する第1の識別子を削除する。削除部406は、たとえば、特定の属性を有する情報の第1の記憶部に登録された日付や、特定の属性を有する情報への検索頻度に応じて、第1の識別子を削除する。具体的には、特定の属性を有する情報の登録された日付と現在の日付が1か月より離れていれば、削除部406は、特定の属性を有する情報の第1の識別子を削除する。   The deletion unit 406 deletes the first identifier included in the information having the specific attribute based on the information having the specific attribute stored in the first storage unit. For example, the deletion unit 406 deletes the first identifier according to the date registered in the first storage unit of information having a specific attribute or the search frequency for information having a specific attribute. Specifically, if the date on which the information having the specific attribute is registered and the current date are separated from one month, the deletion unit 406 deletes the first identifier of the information having the specific attribute.

なお、特定の属性を有する情報に第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 deletion unit 406 extracts the second identifier included in the first identifier, and extracts the extracted value. After writing to the first storage unit, the first identifier is deleted. With the function of the deletion unit 406, the search device 101 can reduce the storage amount of the first storage unit.

更新部407は、受付部401によって検索要求を受け付けた場合、検索条件の履歴を更新する。検索条件の履歴は、第1の識別子を削除する。たとえば、受付部401が過去1か月以内という検索条件を有する検索要求を受け付けた場合、更新部407は、1か月以内の検索条件を受け付けた回数をインクリメントする。更新部407の機能により、検索装置101は、実際に検索された検索状況を用いることができる。   When the receiving unit 401 receives a search request, the updating unit 407 updates the search condition history. In the search condition history, the first identifier is deleted. For example, when the reception unit 401 receives a search request having a search condition of within the past month, the update unit 407 increments the number of times of reception of the search condition within one month. With the function of the update unit 407, the search device 101 can use the search status actually searched.

変更部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 determination unit 403 is the first identifier, the changing unit 408 transmits the first identifier stored in the first storage unit to the third storage unit generated by the generation unit 404. The identifier is changed to indicate the storage location. For example, the changing unit 408 changes the first identifier “/ data / file # 99” stored in the first storage unit to the identifier “/ data / usr1 / file-99” generated by the generating unit 404. . With the function of the changing unit 408, the search device 101 can access the value written in the migration destination data store.

インデクスアダプタ409は、検索インデクスごとのプロトコルやデータ形式の違いを吸収して、同一のAPI(Application Programming Interface)で検索インデクスとなるデータストア#0にアクセスできるようにするソフトウェアである。また、データストアアダプタ410は、データストアごとのプロトコルやデータ形式の違いを吸収して、同一のAPIでデータストア#1やデータストア#2にアクセスできるようにするソフトウェアである。   The index adapter 409 is software that absorbs differences in protocols and data formats for each search index, and enables access to the data store # 0 that is the search index with the same API (Application Programming Interface). The data store adapter 410 is software that absorbs the difference in the protocol and data format for each data store and enables access to the data store # 1 and the data store # 2 with the same API.

図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 system 100 shown in the present embodiment accumulates life log data. The storage area controlled by the data store # 0 shown in FIG. 5 stores records 112-1 to 112-7. Further, the storage area controlled by the data store # 1 shown in FIG. 5 stores records 501-1 to 501-3. Further, the storage area controlled by the data store # 2 shown in FIG. 5 stores the image file file # 99 and the image file file # 98. Furthermore, it is assumed that the records 112-1 to 112-3 are records having a high search frequency. Further, it is assumed that the records 112-4 to 112-7 are records with a low search frequency.

データストア#0が制御する記憶領域は、日付、歩数、識別子、ランチコメント、ランチ写真という5つのフィールドを有する。日付フィールドは、対象となるレコードが、ユーザの操作によるアプリによって登録された日、またはセンサが情報を登録した日を格納する。なお、日付フィールドは、時刻を含んでいてもよい。歩数フィールドは、日付フィールドで指定された日におけるユーザの歩数を格納する。識別子フィールドは、ランチコメントフィールドとランチ写真フィールドによって指定される値を識別するデータストア非依存識別子である。具体的に、識別子フィールドは、ランチコメントフィールドに格納される識別子およびランチ写真フィールドに格納される識別子のシリアル番号である。具体的には、識別子フィールドは、1から採番される数値である。   The storage area controlled by the data store # 0 has five fields: date, number of steps, identifier, lunch comment, and lunch photo. The date field stores the date when the target record was registered by the application by the user's operation or the date when the sensor registered the information. Note that the date field may include a time. The number of steps field stores the number of steps of the user on the date specified in the date field. The identifier field is a data store-independent identifier that identifies the values specified by the lunch comment field and the lunch photo field. Specifically, the identifier field is an identifier stored in the lunch comment field and a serial number of the identifier stored in the lunch photo field. Specifically, the identifier field is a numerical value numbered from 1.

ランチコメントフィールドは、日付フィールドで指定された日におけるランチに対するユーザのコメントとなる文字情報の格納位置を示す識別子である。具体的には、文字情報は、データストア#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 data store # 1. The lunch photo field is an identifier indicating storage information of image information showing a lunch on the date specified in the date field. Specifically, the image information is stored in the data store # 2.

データストア#1が制御する記憶領域は、識別子となるキーと、キーに対応するランチコメントと、いう2つのフィールドを有する。KVSの仕様上、キーフィールドには任意の文字列が設定可能である。本実施の形態の例では、キーフィールドには、データストア#0が制御する記憶領域内の対応するレコード内のランチコメントフィールドと同一の文字列が設定されるとする。ランチコメントフィールドには、ランチに対するユーザのコメントとなる文字情報が設定される。たとえば、レコード501−1は、キーが“key#99”であり、ランチコメントが“美味”であることを示す。   The storage area controlled by the data store # 1 has two fields: a key serving as an identifier and a lunch comment corresponding to the key. In the KVS specification, an arbitrary character string can be set in the key field. In the example of the present embodiment, it is assumed that the same character string as the lunch comment field in the corresponding record in the storage area controlled by the data store # 0 is set in the key field. In the lunch comment field, character information that becomes a user's comment on lunch is set. For example, the record 501-1 indicates that the key is “key # 99” and the lunch comment is “delicious”.

データストア#2が制御する記憶領域は、ディレクトリ構造を有する。図5で示すデータストア#2が制御する記憶領域は、“data”ディレクトリ内にユーザのランチを写した画像情報が格納されている。画像情報は、たとえば、画像ファイルfile#99、画像ファイルfile#98である。画像ファイルfile#99の識別子はファイルパスとなる“/data/file#99”である。画像ファイルfile#98の識別子はファイルパスとなる“/data/file#98”である。   The storage area controlled by the data store # 2 has a directory structure. The storage area controlled by the data store # 2 shown in FIG. 5 stores image information showing the user's lunch in the “data” directory. The image information is, for example, an image file file # 99 and an image file file # 98. The identifier of the image file file # 99 is “/ data / file # 99” which is a file path. The identifier of the image file file # 98 is “/ data / file # 98” which is a file path.

たとえば、レコード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 “key # 99” that is a data store-dependent identifier. Show. The record 112-1 indicates that the image information having a value specified by the lunch photo attribute is an image file file # 99 having a file path indicated by the lunch photo field “/ data / file # 99”.

図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 data store # 0. The record 411-2 indicates that the value specified by the lunch comment attribute among the life log data attributes is stored in the storage area controlled by the data store # 1. Similarly, the record 411-3 indicates that the value specified by the lunch photo attribute is stored in the storage area controlled by the data store # 2.

図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 data store # 1 is “key # {identifier}”. Specifically, if the data store independent identifier is 1, the search device 101 generates a data store dependent identifier such as “key # 1”.

図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 search device 101 using the storage contents shown in FIGS. 5 to 8 are shown in FIGS.

図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 data store group 203 will be described. The life log data 901 is generated by, for example, an application that operates on the client 201 operated by a user or a sensor in the client 201. Specifically, the value stored in the date field of the storage area controlled by the data store # 0 is the operation date of the application by the user. Further, the value stored in the step count field is a value counted by the sensor. The information stored in the lunch comment in the storage area controlled by the data store # 1 is information generated by the user operating the application. The image file in the storage area controlled by the data store # 2 is a file generated by the camera device of the search apparatus 101 by a user operation.

たとえば、図9では、ライフログデータ901は、日付が“2011/8/31”であり、歩数が5000歩であり、ランチコメントが“美味”であり、ランチ写真が画像ファイル902であるとしている。   For example, in FIG. 9, the life log data 901 has the date “2011/8/31”, the number of steps is 5000 steps, the lunch comment is “delicious”, and the lunch photo is the image file 902. .

アプリは、ライフログデータ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 life log data 901 to the search device 101. The search apparatus 101 that has received the life log data 901 adds a record 112-1 that becomes a new record to the storage area controlled by the data store # 0. Next, the search device 101 stores “2011/8/31” in the date field of the record 112-1. In addition, the search apparatus 101 stores “5000” in the step count field of the record 112-1. Further, the search device 101 stores “99” numbered by the search device 101 in the identifier field of the record 112-1.

続けて、検索装置101は、識別子“99”を用いて、データストア依存識別子である“key#99”を生成して、レコード112−1のランチコメントフィールドに、生成したデータストア依存識別子を格納する。同様に、検索装置101は、識別子“99”を用いて、データストア依存識別子である“/data/file#99”を生成して、レコード112−1のランチ写真フィールドに、生成したデータストア依存識別子を格納する。   Subsequently, using the identifier “99”, the search device 101 generates “key # 99”, which is a data store-dependent identifier, and stores the generated data store-dependent identifier in the launch comment field of the record 112-1. To do. Similarly, the search apparatus 101 generates “/ data / file # 99”, which is a data store-dependent identifier, using the identifier “99”, and generates the data store-dependent in the lunch photo field of the record 112-1. Stores an identifier.

さらに、検索装置101は、データストア#1に、キーフィールドが“key#99”であり、ランチコメントフィールドが“美味”であるレコード501−1を追加する。続けて、検索装置101は、データストア#2の、“/data/file#99”となるファイルパスに、画像ファイル902を格納する。格納された画像ファイルは、図5で示した画像ファイルfile#99と同一である。   Further, the search apparatus 101 adds a record 501-1 in which the key field is “key # 99” and the lunch comment field is “delicious” to the data store # 1. Subsequently, the search apparatus 101 stores the image file 902 in the file path “/ data / file # 99” of the data store # 2. The stored image file is the same as the image file file # 99 shown in FIG.

図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 data store group 203 will be described. A graph 1001 indicates the number of searches to the data store group 203. The horizontal axis of the graph 1001 indicates the date. The vertical axis of the graph 1001 indicates the number of searches.

グラフ1001が示すように、データストア群203に格納されているライフログデータのうち、最新のライフログデータから、図10で示す最頻検索期間に含まれるライフログデータが、検索回数が多くなる傾向にある。最頻検索期間とは、現日付から一定期間前の日付とする。一定期間は、たとえば、1週間、1か月等である。このように、検索回数がライフログデータで偏る理由として、クライアント201上のアプリが表示する情報、または検索する情報は、最新のライフログデータから一定期間までのライフログデータとなることが多いためである。なお、最頻検索期間に含まれるライフログデータの数は少なく、最頻検索期間以降のライフログデータの数は多い。   As the graph 1001 shows, among the life log data stored in the data store group 203, the life log data included in the most frequent search period shown in FIG. There is a tendency. The most frequent search period is a date that is a certain period before the current date. The fixed period is, for example, one week, one month, or the like. As described above, the reason why the number of searches is biased by life log data is that information displayed by the application on the client 201 or information to be searched is often life log data from the latest life log data to a certain period. It is. Note that the number of life log data included in the most frequent search period is small, and the number of life log data after the most frequent search period is large.

したがって、データストア#0が制御する記憶領域のレコード群のうち、最頻検索期間に含まれるレコードに関して、検索装置101は、データストア依存識別子とデータストア非依存識別子を保存する。また、最頻検索期間以降のレコードに関して、検索装置101は、データストア非依存識別子を保存して、データストア依存識別子を削除する。   Therefore, the search apparatus 101 stores the data store-dependent identifier and the data store-independent identifier for the records included in the most frequent search period among the record groups in the storage area controlled by the data store # 0. For the records after the most frequent search period, the search apparatus 101 stores the data store independent identifier and deletes the data store dependent identifier.

これにより、検索対象になる可能性の高い、最頻検索期間に含まれるレコードはデータストア依存識別子を有しており、データストア依存識別子を生成しなくてよいため、検索装置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 search apparatus 101 changes the data store dependent identifier of the record included in the most frequent search period. However, since the number of records included in the most frequent search period is small, the migration load is reduced. can do.

また、最頻検索期間以降のレコードはデータストア非依存識別子を有しており、移行時に変更を要するデータストア依存識別子を有していない。最頻検索期間以降のレコードは数が多いため、移行時において、検索装置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 search apparatus 101 can reduce the migration load during migration. Further, at the time of search, the search device 101 generates a data store-dependent identifier for records after the most frequent search period, but since records after the most frequent search period have few opportunities to be searched, the search performance The influence on can be reduced.

図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 data store group 203 will be described. When receiving the search request, the search device 101 notifies the data store # 0 of the search request. Data store # 0 extracts records that match the search conditions of the search request from the record group stored in the storage area controlled by the data store # 0. In FIG. 11, it is assumed that records 112-1 to 112-7 are records that match the search conditions.

レコード112−1〜レコード112−7を取得した検索装置101は、ランチコメントフィールドとランチ写真フィールド、または識別子フィールドのいずれかを用いてランチコメント属性によって指定される値とランチ写真属性によって指定される値を取得する。なお、図11と図12では、説明の簡略化のため、ランチ写真によって指定される値を取得する場合について説明する。ランチコメント属性によって指定される値の取得方法も、ランチ写真属性によって指定される値の取得方法と同一であるため、図11での表記を省略する。   The search apparatus 101 that has acquired the records 112-1 to 112-7 is designated by the value designated by the lunch comment attribute and the lunch photo attribute by using either the lunch comment field and the lunch photo field or the identifier field. Get the value. In FIGS. 11 and 12, a case where a value designated by a lunch photo is acquired will be described for the sake of simplicity. The method for acquiring the value specified by the lunch comment attribute is also the same as the method for acquiring the value specified by the lunch photo attribute, so the notation in FIG. 11 is omitted.

図11では、レコード112−1〜レコード112−3に関して、検索装置101は、検索頻度が高いと判断したとする。また、レコード112−4〜レコード112−7に関して、検索装置101は、検索頻度が低いと判断したとする。ここで、具体的な判断基準としては、たとえば、検索装置101は、日付フィールドが最頻検索期間内に含まれるレコードを、検索頻度が高いレコードであると判断してもよい。図11で示す例は、最頻検索期間を1か月に設定した例となる。または、検索状況テーブル412を参照して、検索回数が特定の閾値以上となる期間に含まれるレコードを、検索頻度が高いレコードであると判断してもよい。   In FIG. 11, it is assumed that the search apparatus 101 determines that the search frequency is high for the records 112-1 to 112-3. Further, regarding the records 112-4 to 112-7, the search device 101 determines that the search frequency is low. Here, as a specific determination criterion, for example, the search apparatus 101 may determine that a record in which the date field is included in the most frequent search period is a record having a high search frequency. The example shown in FIG. 11 is an example in which the most frequent search period is set to one month. Alternatively, with reference to the search status table 412, a record included in a period in which the number of searches is equal to or greater than a specific threshold value may be determined as a record having a high search frequency.

また、検索頻度が高いか否かの他の判断方法として、検索装置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 search apparatus 101 may determine whether there is a value of the data store dependent identifier. When this determination method is used, the search apparatus 101 determines that the records 112-1 to 112-4 have a high search frequency. Also, the search apparatus 101 determines that the search frequency is low for the records 112-5 to 112-7 in which the value “(deleted)” is stored in the lunch comment field and the lunch photo field that are data store-dependent identifiers. To do.

レコード112−1〜レコード112−3に関して、検索頻度が高いため、検索装置101は、ランチコメントフィールドとランチ写真フィールドを用いてランチコメント属性によって指定される値とランチ写真属性によって指定される値を取得する。たとえば、ランチ写真に関して、検索装置101は、ランチ写真フィールドに格納されているファイルパスを用いて、ランチ写真属性によって指定される値となる画像ファイルを取得する。   Since the search frequency for the records 112-1 to 112-3 is high, the search apparatus 101 uses the lunch comment field and the lunch photo field to specify a value specified by the lunch comment attribute and a value specified by the lunch photo attribute. get. For example, for a lunch photo, the search device 101 uses the file path stored in the lunch photo field to acquire an image file that has a value specified by the lunch photo attribute.

レコード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 search apparatus 101 uses the identifier field to acquire the value specified by the lunch comment attribute and the value specified by the lunch photo attribute. For example, for a lunch photo, the search apparatus 101 uses the identifier field and the identifier generation rule of the data store # 2 in which the lunch photo is stored to acquire an image file that has a value specified by the lunch photo attribute. Specifically, for the record 112-4, the search apparatus 101 replaces {identifier} in the identifier generation rule “/ data / file # {identifier}” with “88” to identify the identifier “indicating the storage location of the image file”. / Data / file # 88 "is generated. Next, the search device 101 uses the generated identifier “/ data / file # 88” to acquire an image file having a value specified by the lunch photo attribute.

図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 data store group 203 will be described. In the migration process performed in FIG. 12, it is assumed that the data store that stores the image file having the value specified by the lunch photo attribute is migrated from the data store # 2 to the data store # 3. It is assumed that the data store # 3 is a file system as the data store type.

また、移行処理を行う機会として、たとえば、データストア統合システム100の運用開始時には、ファイルシステムとして、開発コストや運用コストの低いローカルファイルシステムにライフログデータの特定の属性によって指定される値を格納していたとする。しかし、運用を続けていくうちに、指定される値の記憶量が増加したため、スケーラビリティが高い分散ファイルシステムに特定の属性によって指定される値を移行するといった場合である。また、移行処理を行う他の機会としては、データストア統合システム100を利用するユーザが増大したため、ファイルシステムの階層を追加し、ユーザグループ単位でディレクトリを分けるように変更する場合である。   Further, as an opportunity to perform migration processing, for example, when the operation of the data store integrated system 100 is started, a value specified by a specific attribute of life log data is stored as a file system in a local file system with low development cost and operation cost Suppose you were. However, as the storage amount of the specified value increases as the operation continues, the value specified by a specific attribute is transferred to a highly scalable distributed file system. Another opportunity for performing the migration process is when the number of users using the data store integration system 100 has increased, so that the hierarchy of the file system is added and the directory is divided into user groups.

図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 data store # 2 that is the migration source. The record 411-3_D of the storage method definition rule table 411_D indicates that the value specified by the lunch photo attribute is stored in the data store # 3 that is the migration destination. Furthermore, the record 111-2_S of the identifier generation rule table 111_S indicates that the identifier generation rule in the data store # 2 is “/ data / file # {identifier}”. In addition, the record 111-2_D of the identifier generation rule table 111_D indicates that the identifier generation rule in the data store # 3 is “/ data / usr1 / file- {identifier}”.

図12では、レコード112−1〜レコード112−3に関して、検索装置101は、検索頻度が高いと判断したとする。また、レコード112−4〜レコード112−7に関して、検索装置101は、検索頻度が低いと判断したとする。検索頻度の判断基準は、図11で示した判断基準と同一であるため、説明を省略する。   In FIG. 12, it is assumed that the search device 101 determines that the search frequency is high for the records 112-1 to 112-3. Further, regarding the records 112-4 to 112-7, the search device 101 determines that the search frequency is low. The search frequency determination criteria are the same as the determination criteria shown in FIG.

レコード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 search apparatus 101 determines the storage location in the data store # 3 from the value indicating the storage location in the data store # 2. Change to the value shown. Specifically, for the record 112-1, the search device 101 changes the value of the lunch photo field from “/ data / file # 99” to “/ data / usr1 / file-99”. Further, the search apparatus 101 moves the image file having the value specified by the lunch photo attribute from the data store # 2 to the data store # 3. Next, flowcharts for performing the operations shown in FIGS. 10 to 12 will be described with reference to FIGS.

図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 data store # 0. The identifier deletion process may be periodically executed when a timer included in the search apparatus 101 expires. Alternatively, the identifier deletion process may be executed by an instruction from the administrator. Further, the search device 101 records the latest date of the target data when the identifier deletion process is executed.

検索装置101は、検索状況テーブル412から検索状況情報を取得する(ステップS1301)。次に、検索装置101は、前回の識別子削除処理の対象データの最新日付を読み出す(ステップS1302)。なお、前回の識別子削除処理の対象データの最新日付が記憶されていない場合もありうる。この場合、検索装置101は、データストア#0が記憶する記憶領域のレコード群の日付フィールドのうち、最も古い日付を前回の識別子削除処理の対象データの最新日付とする。   The search device 101 acquires search status information from the search status table 412 (step S1301). Next, the search device 101 reads the latest date of the target data for the previous identifier deletion process (step S1302). There may be a case where the latest date of the target data for the previous identifier deletion process is not stored. In this case, the search device 101 sets the oldest date among the date fields of the record group in the storage area stored in the data store # 0 as the latest date of the target data for the previous identifier deletion process.

続けて、検索装置101は、格納方式定義ルールテーブル411から、格納方式定義ルール情報を取得する(ステップS1303)。次に、検索装置101は、データストア#0が制御する記憶領域の日付フィールドが前回の識別子削除処理の対象データの最新日付より新しいレコード群から、最頻検索期間に含まれないレコードを検索する(ステップS1304)。   Subsequently, the search device 101 acquires storage method definition rule information from the storage method definition rule table 411 (step S1303). Next, the search device 101 searches for a record that is not included in the most frequent search period from a record group in which the date field of the storage area controlled by the data store # 0 is newer than the latest date of the target data for the previous identifier deletion process. (Step S1304).

続けて、検索装置101は、検索結果が空か否かを判断する(ステップS1305)。検索結果が空でない場合(ステップS1305:No)、検索装置101は、検索結果の各レコードのデータストア依存識別子を削除する(ステップS1306)。次に、検索装置101は、識別子削除処理の対象データの最新日付を記憶する(ステップS1307)。ステップS1307の実行終了後、または検索結果が空である場合(ステップS1305:Yes)、検索装置101は、識別子削除処理を終了する。このように、図13で示した識別子削除処理は、読み出されることがないデータストア依存識別子を削除することになり、データストア#0が制御する記憶領域の記憶量を減らすことができる。   Subsequently, the search device 101 determines whether the search result is empty (step S1305). When the search result is not empty (step S1305: No), the search device 101 deletes the data store dependent identifier of each record of the search result (step S1306). Next, the search device 101 stores the latest date of the target data for the identifier deletion process (step S1307). After the execution of step S1307 ends, or when the search result is empty (step S1305: Yes), the search device 101 ends the identifier deletion process. As described above, the identifier deletion process shown in FIG. 13 deletes the data store-dependent identifier that is not read out, and can reduce the storage amount of the storage area controlled by the data store # 0.

図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 data store group 203 will be described. The search device 101 receives a search request from the application (step S1401). Next, the search device 101 acquires storage method definition rule information from the storage method definition rule table 411 (step S1402). Subsequently, the search device 101 determines whether the storage method definition rule information has been acquired (step S1403). When acquisition is not possible (step S1403: No), the search device 101 returns an error to the application (step S1404). After completing the process of step S1404, the search device 101 ends the search process.

取得できた場合(ステップS1403:Yes)、検索装置101は、検索条件に応じて、検索状況テーブル412を更新する(ステップS1405)。ステップS1405の処理について、たとえば、検索条件が1か月以内である場合、検索装置101は、レコード412−1の検索回数フィールドの値をインクリメントする。また、検索条件が半年以内である場合、検索装置101は、レコード412−2の検索回数フィールドの値をインクリメントする。   If it can be obtained (step S1403: Yes), the search device 101 updates the search status table 412 according to the search condition (step S1405). Regarding the processing in step S1405, for example, when the search condition is within one month, the search device 101 increments the value of the search count field of the record 412-1. If the search condition is within half a year, the search apparatus 101 increments the value of the search count field of the record 412-2.

続けて、検索装置101は、検索インデクスから検索条件に合致するレコードを検索する(ステップS1406)。次に、検索装置101は、検索結果が空か否かを判断する(ステップS1407)。検索結果が空である場合(ステップS1407:Yes)、検索装置101は、空の検索結果をアプリに返却する(ステップS1408)。ステップS1408の処理を終了後、検索装置101は、検索処理を終了する。   Subsequently, the search device 101 searches the search index for a record that matches the search condition (step S1406). Next, the search device 101 determines whether the search result is empty (step S1407). When the search result is empty (step S1407: Yes), the search device 101 returns the empty search result to the application (step S1408). After completing the process of step S1408, the search device 101 ends the search process.

検索結果が空でない場合(ステップS1407:No)、検索装置101は、検索結果のレコード群のうち、先頭のレコードを選択する(ステップS1409)。ステップS1409の処理を終了後、検索装置101は、図15で示すステップS1501の処理に移行する。   If the search result is not empty (step S1407: No), the search device 101 selects the first record from the record group of the search result (step S1409). After completing the process of step S1409, the search apparatus 101 proceeds to the process of step S1501 shown in FIG.

図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 search device 101 determines whether to use the data store-dependent identifier in the search index for the value specified by the attribute in the selected record (step S1501). Note that the method of determining whether to use the data store-dependent identifier in the search index, which is the processing of step S1501, is, for example, a method of referring to the date field of the selected record shown in FIG.

検索インデクス内のデータストア依存識別子を用いない場合(ステップS1501:No)、検索装置101は、識別子生成ルールテーブル111から、識別子生成ルール情報を取得する(ステップS1502)。次に、検索装置101は、取得した識別子生成ルール情報を用いて、データストア依存識別子を生成する(ステップS1503)。   When the data store dependent identifier in the search index is not used (step S1501: No), the search device 101 acquires identifier generation rule information from the identifier generation rule table 111 (step S1502). Next, the search device 101 generates a data store-dependent identifier using the acquired identifier generation rule information (step S1503).

次に、検索装置101は、ステップS1503の処理で生成したデータストア依存識別子、または検索インデクス内のデータストア依存識別子を用いて(ステップS1501:Yes)、データストア群203から属性によって指定される値を取得する(ステップS1504)。続けて、検索装置101は、検索結果のレコード群全てについて属性によって指定される値を取得したか否かを判断する(ステップS1505)。属性によって指定される値を取得していないレコードがある場合(ステップS1505:No)、検索装置101は、検索結果のレコード群のうち次のレコードを選択する(ステップS1506)。ステップS1506の終了後、検索装置101は、ステップS1501の処理に移行する。   Next, the search device 101 uses the data store dependency identifier generated in the process of step S1503 or the data store dependency identifier in the search index (step S1501: Yes), and the value specified by the attribute from the data store group 203. Is acquired (step S1504). Subsequently, the search device 101 determines whether or not the values designated by the attributes have been acquired for all the record groups of the search results (step S1505). When there is a record that has not acquired the value specified by the attribute (step S1505: No), the search device 101 selects the next record from the record group of the search result (step S1506). After step S1506 ends, the search apparatus 101 proceeds to the process of step S1501.

検索結果のレコード群全てについて属性によって指定される値を取得した場合(ステップ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 search apparatus 101 aggregates the acquired values (step S1507). Next, the search device 101 returns the aggregated value to the application (step S1508). After completing the process of step S1508, the search device 101 ends the search process. As described above, the search processing shown in FIGS. 14 and 15 can return search results corresponding to the search request requested by the application.

図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 data store group 203 will be described with reference to FIGS. The search device 101 receives a migration request from the administrator terminal (step S1601). Next, the search device 101 acquires the storage method definition rule information of the migration source and the migration destination from the storage method definition rule table 411 (step S1602). Subsequently, the search apparatus 101 determines whether or not the migration source and migration destination storage method definition rule information has been acquired (step S1603).

取得できなかった場合(ステップS1603:No)、検索装置101は、エラーを管理者端末に返却する(ステップS1604)。ステップS1604の処理終了後、検索装置101は、移行処理を終了する。取得できた場合(ステップS1603:Yes)、検索装置101は、検索インデクスから検索条件に合致したレコードを検索する(ステップS1605)。なお、ステップS1605の検索条件は、たとえば、検索インデクスのレコード群のうち、移行対象となる属性によって指定される値を有するという検索条件であってもよいし、検索インデクスのレコード群全てという検索条件であってもよい。   When acquisition is not possible (step S1603: No), the search device 101 returns an error to the administrator terminal (step S1604). After the process of step S1604 ends, the search device 101 ends the migration process. If it can be obtained (step S1603: Yes), the search device 101 searches the search index for a record that matches the search condition (step S1605). Note that the search condition in step S1605 may be, for example, a search condition having a value specified by the attribute to be migrated among the search index record group, or a search condition of all the search index record groups. It may be.

次に、検索装置101は、検索結果のレコード群のうち、先頭のレコードを選択する(ステップS1606)。ステップS1606の処理を実行後、検索装置101は、図17に示すステップS1701の処理に移行する。   Next, the search device 101 selects the first record from the record group of search results (step S1606). After executing the process of step S1606, the search device 101 proceeds to the process of step S1701 shown in FIG.

図17は、移行処理手順の一例を示すフローチャート(その2)である。検索装置101は、選択されたレコード内の属性によって指定される値について、検索インデクス内のデータストア依存識別子を用いるか否かを判断する(ステップS1701)。なお、ステップS1701の処理である検索インデクス内のデータストア依存識別子を用いるか否かの判断方法は、たとえば、図10で示した選択されたレコードの日付フィールドを参照する方法である。   FIG. 17 is a flowchart (part 2) illustrating an example of the migration processing procedure. The search apparatus 101 determines whether to use the data store dependent identifier in the search index for the value specified by the attribute in the selected record (step S1701). Note that the method of determining whether to use the data store-dependent identifier in the search index, which is the processing of step S1701, is a method of referring to the date field of the selected record shown in FIG. 10, for example.

検索インデクス内のデータストア依存識別子を用いない場合(ステップ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 search device 101 generates a data store dependency identifier of the migration source (step S1702). Subsequently, the search device 101 generates a migration destination data store dependency identifier (step S1703). Next, the search device 101 uses the migration source and migration destination data store dependent identifiers to migrate the value specified by the attribute from the migration source data store to the migration destination data store (step S1704). As a specific process of step S1704, the search device 101 reads a specified value from the storage area controlled by the migration source data store using the migration source data store dependent identifier. Subsequently, the search device 101 writes the value read into the storage area controlled by the migration destination data store using the migration destination data store dependent identifier.

検索インデクス内のデータストア依存識別子を用いる場合(ステップ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 search device 101 generates a migration destination data store dependent identifier (step S1705). Next, the search device 101 uses the data store dependency identifier and the transfer destination data store dependency identifier in the search index to transfer the value specified by the attribute from the transfer source data store to the transfer destination data store (step S1706). ). As a specific process of step S1706, the search device 101 reads a specified value from the storage area controlled by the migration source data store using the data store dependent identifier in the search index. Subsequently, the search device 101 writes the value read into the storage area controlled by the migration destination data store using the migration destination data store dependent identifier. Subsequently, the search device 101 changes the data store dependency identifier in the search index to the generated data store dependency identifier of the migration destination (step S1707).

ステップS1704、またはステップS1707の処理を実行後、検索装置101は、検索結果のレコード群全てについて属性によって指定される値を移行したか否かを判断する(ステップS1708)。属性によって指定される値を移行していないレコードがある場合(ステップS1708:No)、検索装置101は、次のレコードを選択する(ステップS1709)。ステップS1709の実行終了後、検索装置101は、ステップS1701の処理に移行する。   After executing the processing of step S1704 or step S1707, the search apparatus 101 determines whether or not the values designated by the attributes have been transferred for all the record groups of the search results (step S1708). If there is a record that does not migrate the value specified by the attribute (step S1708: No), the search device 101 selects the next record (step S1709). After completing the execution of step S1709, the search apparatus 101 proceeds to the process of step S1701.

検索結果のレコード群全てについて属性によって指定される値を移行した場合(ステップ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 search device 101 returns the transfer results to the administrator terminal (step S1710). After the process of step S1710 ends, the search device 101 ends the migration process. In this way, the migration process shown in FIGS. 16 and 17 can perform the migration process of the value specified by the attribute corresponding to the migration request requested by the administrator terminal.

以上説明したように、検索装置、検索方法、および検索プログラムによれば、検索頻度の高い情報にはデータストアでの属性によって指定される値の格納位置を付与し、低い情報には属性によって指定される値の識別子を付与して格納位置を求める。   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 Data store 101 Search device 111 Identifier generation rule table 401 Reception unit 402 Search unit 403 Determination unit 404 Generation unit 405 Access unit 406 Delete unit 407 Update unit 408 Change unit 411 Storage method definition rule table 412 Search Status table

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の記憶部は、
前記第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の記憶部は、
前記第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.
前記第1の記憶部に記憶された前記特定の属性を有する情報に基づいて、前記特定の属性を有する情報が有する前記第1の識別子を削除する削除部を有することを特徴とする請求項1〜7のいずれか一つに記載の検索装置。   2. The information processing apparatus according to claim 1, further comprising: a deletion unit that deletes the first identifier included in the information having the specific attribute based on the information having the specific attribute stored in the first storage unit. The search apparatus as described in any one of -7. 前記受付部は、
前記検索条件として前記指定される値が移行対象となる検索条件に合致する情報の検索要求を受け付け、
前記生成部は、
さらに、前記第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.
JP2012053856A 2012-03-09 2012-03-09 SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM Expired - Fee Related JP5810982B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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