JP2014067323A - 分散検索システムにおけるストレージ容量平準化方法 - Google Patents
分散検索システムにおけるストレージ容量平準化方法 Download PDFInfo
- Publication number
- JP2014067323A JP2014067323A JP2012213420A JP2012213420A JP2014067323A JP 2014067323 A JP2014067323 A JP 2014067323A JP 2012213420 A JP2012213420 A JP 2012213420A JP 2012213420 A JP2012213420 A JP 2012213420A JP 2014067323 A JP2014067323 A JP 2014067323A
- Authority
- JP
- Japan
- Prior art keywords
- index
- search
- file
- server
- content
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】検索用のインデクスの生成に際し、ファイルデータからメタ情報とコンテンツを分離し、コンテンツは1つ又は複数のコンテンツサーバに格納し、メタ情報は分割インデクスに配置する。この際、メタ情報の割り当て先は、各ファイルのリンク情報のハッシュ値をコンシステントハッシュ法に基づいて決定する。
【選択図】図8
Description
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の機能を有する部材には同一または関連する符号を付し、その繰り返しの説明は省略する。また、以下の実施の形態では、特に必要なとき以外は同一または同様な部分の説明を原則として繰り返さない。
図1に、本実施例に係る検索システムの構成例を示す。本実施例に係る検索システムは、検索クライアント100、検索サーバ101、ファイルサーバ102、分散処理サーバ103、コンテンツサーバ104、管理サーバ105から構成され、それらがネットワーク106を通じて互いに接続されている。ネットワーク106は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)等として一般に知られるネットワークを用いて実現することができる。なお、ネットワーク106は、有線ネットワークでも無線ネットワークでも構わない。また、検索システムは、1つの領域・国内に構築される必要は無く、複数の地域・国間を跨いで構築されてもよい。
検索クライアント100は、Webブラウザを動作させることができる環境がインストールされたコンピュータであり、据え置き型に限らず、携帯型のコンピュータ、携帯情報端末、携帯電話機の端末を含む。検索クライアント100は、HTTP(Hypertext Transfer Protocol)等を使用して検索サーバ101に対して検索クエリを送信する機能と、検索サーバ101から検索結果を取得する機能と、取得した検索結果を利用者に表示する機能とを有している。検索クライアント100は、検索システム上に複数存在する。
図2に、検索サーバ101の内部構成例を示す。検索サーバ101は、検索クライアント100から検索クエリを受信して検索処理を実行し、検索結果を返信するサーバコンピュータである。検索サーバ101は、検索システム内に複数台存在し、それぞれがローカルストレージ201を保持している。ローカルストレージ201内には、ファイルサーバ102に保存されるファイル群に基づいて生成された検索用の分割インデクス202が保存されている。検索サーバ101には、インデクス管理モジュール203と検索モジュール204がインストールされている。インデクス管理モジュール203は、分割インデクス202の管理・更新用のプログラムである。検索モジュール204は、検索用の分割インデクスを用いて検索処理を実行するプログラムである。因みに、インデクス管理モジュール203と検索モジュール204は、検索サーバ101のそれぞれにインストールされている。また、検索サーバ101にはコンテンツ監視モジュール205がインストールされており、ローカルストレージ201の容量をチェック・取得する機能と、その取得したディスク情報を基に、後述するコンテンツ管理モジュール507(図5)と連携して分割インデクス内のコンテンツデータの管理を行う機能とを備えている。
ファイルサーバ102は、企業内等において作成された大量のドキュメントデータを保存するサーバである。ファイルサーバ102は、検索システム内に複数台存在する。各ファイルサーバ102は、分散処理サーバ103及び管理サーバ105と、NFS(Network File System)やCIFS(Common Internet File System)等のプロトコルを通じて接続されている。これにより、分散処理サーバ103及び管理サーバ105上の各モジュールは、ファイルサーバ102上に存在するファイルへのアクセス及びファイル情報の取得が可能である。
図3に、分散処理サーバ103の内部構成例を示す。分散処理サーバ103は、検索システム内に複数台存在する。これら複数の分散処理サーバ103は、一つの処理命令を他のサーバとの連携により分散的に処理する機能を有するサーバ群である。
図4にコンテンツサーバ104の内部構成例を示す。コンテンツサーバ104には、ローカルストレージ401が設けられている。ローカルストレージ401には、分散データベース402がインストールされている。分散データベース402上には、コンテンツ管理テーブル403がある。コンテンツ管理テーブル403は、コンテンツデータから生成したハッシュ値をキーとして、そのファイルのコンテンツデータを格納しておくテーブルである。コンテンツサーバ104は、検索サーバ101からの要求に応じて、コンテンツ情報の取得・送信を行う。また、後述する管理サーバ105上のコンテンツ管理モジュール507(図5)からの要求で、コンテンツ情報を取得して、検索サーバ101上の分割インデクス202へコンテンツデータを移動させる機能も備えている。また、分散データベース402にコンテンツデータを格納する際、コンテンツデータのハッシュ値をキーとして管理することで、ファイルサーバ上で異なるファイルパスで保存されている、同じコンテンツ情報を持つファイルの重複を検出・排除し、ストレージ要領を削減することが可能になっている。なお、コンテンツサーバ104上に配置される分散データベース402は、一般的にスケーラブルなソフトウェアであり、複数のコンテンツサーバに対して一つのデータベースを構築することが可能である。その場合、分散データベースプログラムは、各コンテンツサーバのストレージ容量を均等に利用するため、分散データベースを利用する外部プログラムは、ストレージ分散を考慮することなくデータを格納することが可能である。
図5に、管理サーバ105の内部構成例を示す。管理サーバ105は、検索システムを構成する検索サーバ101、ファイルサーバ102、分散処理サーバ103、コンテンツサーバ104等のサーバ管理機能を有するサーバである。管理サーバ105のローカルストレージ501には、分割インデクスの生成を制御するためのインデクス生成管理モジュール502、システム管理モジュール503、インデクスIDテーブル504、検索サーバ管理テーブル505、ファイル管理テーブル506、コンテンツ管理モジュール507がインストールされている。これらのモジュールは、管理サーバ105以外に存在してもよい。例えばこれらのモジュールの全部又は一部は、分散処理サーバ103上で直接動作可能であってもよい。
図6に、インデクスIDテーブル504の例を示す。インデクスIDテーブル504は、仮想インデクスID601とインデクスID602を格納するテーブルであり、ファイルパスからインデクスIDを取得するために用いられる。インデクスIDテーブル504は、コンシステントハッシュ法の実現手段として利用される。
図12に、検索サーバ管理テーブル505の初期化フローを示す。ここでは、検索サーバ101が2台存在し、各検索サーバ101上に2つ分割インデクス202を配置する場合を想定する。すなわち、検索システム全体におけるインデクスの分割数は4(=2×2)である場合を想定する。また、2台の検索サーバ名は、”Search1”と”Search2”であるものとする。
図13に、インデクスIDテーブル504の初期化フローを示す。インデクスIDテーブル504の初期化も検索サーバ管理テーブル505の初期化と同様のタイミングで実行される。
図15に、スキャナモジュール304によるインデクスリストの生成フローを示す。まず、インデクス生成管理モジュール502は、スキャナモジュール304に対し、インデクスリスト生成開始を指示する(S1501)。
一方、ファイルパス801がファイル管理テーブル506に存在する場合(S1505で肯定結果)、当該ファイルパスに対応するファイルは、既にファイル管理テーブル506に登録されていることを意味する。この場合、スキャナモジュール304は、ファイルメタ情報ハッシュ値803をチェックする(S1507)。
図16に、インデクス生成モジュール305による分割インデクス202の生成フローを示す。インデクス生成モジュール305は、スキャナモジュール304から転送されてくるインデクスリスト306に基づいて分割インデクス202を生成する。インデクス生成モジュール305の処理は、インデクスリスト306に対して、タスクと呼ばれる複数の処理単位に分割され、複数の分散処理サーバ103上で分散的に処理される。以下、タスク生成及び分散処理サーバ上での処理を示す。
図17に、インデクス生成モジュール305により生成された分割インデクスをインデクス管理モジュール203が、検索サーバ101に配置するフローである。
図18に、検索時に各検索サーバ内で実行される処理フローを示す。図18に示すフローは、利用者が検索クライアント100から検索サーバ101へ検索クエリが送信されることにより開始される(S1801)。
図19に、コンテンツ配置の変更フローを示す。図19に示すフローは、主に検索サーバ101にディスクを追加した後に自動で行われる。ただし、当該変更フローは、システム管理者が任意のタイミングで実行しても良く、スケジューリングにより定期的に実行しても良い。
本実施例に係る検索システムの場合、基本的に、分割インデクスはファイルのメタ情報のみを含む。この場合、ファイルパスのハッシュ値をコンシステントハッシュ法に基づいて各インデクスIDに割り当てた分割インデクスのサイズは、ファイルの実サイズによらず、分割インデクスで管理するドキュメント数に応じて一定となる。このため、全ての分割インデクスは、概ね同じサイズとなる。よって、本実施例に係る検索システムでは、検索サーバにおけるディスク容量の見積もりが容易になり、かつ、ディスク容量に無駄が生じる可能性を低減することができる。
101…検索サーバ
102…ファイルサーバ
103…分散処理サーバ
104…コンテンツサーバ
105…管理サーバ
106…ネットワーク
201…ローカルストレージ
202…分割インデクス
203…インデクス管理モジュール
204…検索モジュール
205…コンテンツ監視モジュール
301…ローカルストレージ
302…分散ファイルシステム
303…分散処理モジュール
304…スキャナモジュール
305…インデクス生成モジュール
306…インデクスリスト
401…ローカルストレージ
402…分散データベース
403…コンテンツ管理テーブル
501…ローカルストレージ
502…インデクス生成管理モジュール
503…システム管理モジュール
504…インデクスIDテーブル
505…検索サーバ管理テーブル
506…ファイル管理テーブル
507…コンテンツ管理モジュール
Claims (3)
- 大規模ファイルシステムを検索対象とする分散検索システムにおけるストレージ容量平準化方法において、
検索用のインデクスの生成に際し、
ファイルデータからメタ情報とコンテンツを分離する処理と、
分離された前記コンテンツを1つ又は複数のコンテンツサーバに格納する処理と、
前記メタ情報を検索サーバに対応付けられた分割インデクスに割り当てる処理であって、前記メタ情報の割り当て先をコンシステントハッシュ法に基づいて決定する処理と
を有することを特徴とするストレージ容量平準化方法。 - 請求項1に記載のストレージ容量標準化方法において、
前記メタ情報を分割インデクスに割り当てる処理は、
前記コンテンツの格納先を示すファイルパスから一意に算出されるハッシュ値をマッピングするコンシステントハッシュ空間上に設定された仮想インデクスIDのハッシュ値とインデクスIDとの対応関係を定めたテーブルとに基づいてメタ情報に対応付けるインデクスIDを決定するサブ処理と、当該インデクスIDに対応付けられた分割インデクスを前記メタ情報の割り当て先に決定するサブ処理とを有する
ことを特徴とするストレージ容量標準化方法。 - 請求項1に記載のストレージ容量標準化方法において、
前記分割インデクスが格納される前記検索サーバにおけるストレージ容量の空きサイズに応じ、コンテンツデータを前記コンテンツサーバから前記検索サーバにアップロード又は前記検索サーバから前記コンテンツサーバにダウンロードする
ことを特徴とするストレージ容量標準化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012213420A JP5898026B2 (ja) | 2012-09-27 | 2012-09-27 | 分散検索システムにおけるストレージ容量平準化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012213420A JP5898026B2 (ja) | 2012-09-27 | 2012-09-27 | 分散検索システムにおけるストレージ容量平準化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014067323A true JP2014067323A (ja) | 2014-04-17 |
JP5898026B2 JP5898026B2 (ja) | 2016-04-06 |
Family
ID=50743628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012213420A Expired - Fee Related JP5898026B2 (ja) | 2012-09-27 | 2012-09-27 | 分散検索システムにおけるストレージ容量平準化方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5898026B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108121807A (zh) * | 2017-12-26 | 2018-06-05 | 云南大学 | Hadoop环境下多维索引结构OBF-Index的实现方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007280303A (ja) * | 2006-04-11 | 2007-10-25 | Brother Ind Ltd | 情報通信システム、コンテンツカタログ情報配信方法、及びノード装置等 |
JP2009259008A (ja) * | 2008-04-17 | 2009-11-05 | Sony Corp | ノード、コンテンツ格納方法およびコンテンツ取得方法 |
-
2012
- 2012-09-27 JP JP2012213420A patent/JP5898026B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007280303A (ja) * | 2006-04-11 | 2007-10-25 | Brother Ind Ltd | 情報通信システム、コンテンツカタログ情報配信方法、及びノード装置等 |
JP2009259008A (ja) * | 2008-04-17 | 2009-11-05 | Sony Corp | ノード、コンテンツ格納方法およびコンテンツ取得方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108121807A (zh) * | 2017-12-26 | 2018-06-05 | 云南大学 | Hadoop环境下多维索引结构OBF-Index的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
JP5898026B2 (ja) | 2016-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11816126B2 (en) | Large scale unstructured database systems | |
US10853242B2 (en) | Deduplication and garbage collection across logical databases | |
US8190573B2 (en) | File storage service system, file management device, file management method, ID denotative NAS server and file reading method | |
US8560569B2 (en) | Method and apparatus for performing bulk file system attribute retrieval | |
RU2619195C2 (ru) | Способ и устройство для нахождения файла в устройстве хранения и маршрутизатор | |
US10019452B2 (en) | Topology aware distributed storage system | |
EP2176783B1 (en) | Efficient updates for distributed file systems | |
JP4671332B2 (ja) | ユーザ識別情報を変換するファイルサーバ | |
US8682874B2 (en) | Information processing system | |
JP5759915B2 (ja) | ファイルリスト生成方法及びシステム並びにプログラム、ファイルリスト生成装置 | |
US10860604B1 (en) | Scalable tracking for database udpates according to a secondary index | |
JP2015530629A (ja) | 移行先ファイルサーバ及びファイルシステム移行方法 | |
US11468053B2 (en) | Servicing queries of a hybrid event index | |
JP5375972B2 (ja) | 分散ファイルシステム、そのデータ選択方法およびプログラム | |
US10423662B1 (en) | Efficient and scalable time-series data storage and retrieval over a network | |
US11151081B1 (en) | Data tiering service with cold tier indexing | |
CN111209259B (zh) | Nas分布式文件系统及数据处理方法 | |
US20210240663A1 (en) | High density time-series data indexing and compression | |
JP5557824B2 (ja) | 階層ファイルストレージに対する差分インデクシング方法 | |
CN116069778A (zh) | 一种元数据的管理方法、相关装置、设备以及存储介质 | |
JP2013210698A (ja) | ファイル検索システム及びプログラム | |
US10951465B1 (en) | Distributed file system analytics | |
CN113127526A (zh) | 一种基于Kubernetes的分布式数据存储和检索系统 | |
JP5657498B2 (ja) | ファイル検索システム | |
US10635699B2 (en) | Fuzzy matching for computing resources |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150126 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151106 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151208 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160203 |
|
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: 20160223 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160303 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5898026 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |