JP5697404B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents
情報処理装置、情報処理方法及びプログラム Download PDFInfo
- Publication number
- JP5697404B2 JP5697404B2 JP2010246624A JP2010246624A JP5697404B2 JP 5697404 B2 JP5697404 B2 JP 5697404B2 JP 2010246624 A JP2010246624 A JP 2010246624A JP 2010246624 A JP2010246624 A JP 2010246624A JP 5697404 B2 JP5697404 B2 JP 5697404B2
- Authority
- JP
- Japan
- Prior art keywords
- cached
- information
- file information
- file
- cache
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
ファイルシステムがファイル名情報を含むファイル操作処理要求を受けとると、ディレクトリ全体を線形探索してファイルを探し出す処理を行う。一方、記録装置の大容量化に伴うファイル数の増加は近年著しく、このように膨大なファイルがある状況下ではファイル操作処理に大きなコストが発生してしまう。
この課題に対して、主記憶上にキャッシュしたファイル名とそれに付随するファイル情報を利用することで、ディレクトリの全探索を行わずにファイル操作処理を実現する手法がある。
従来、このようなキャッシュを用いた効率的なファイル操作処理を実現するものとしてはB木やハッシュテーブル等を使用する技術が一般的であった。
<実施形態1>
図1は、情報処理装置(コンピュータ)1のハードウェア構成の一例を示す図である。図1に示されるように情報処理装置1は、ハードウェア構成として、CPU11を含む。CPU11が、記憶装置13に記憶されているプログラムに基づき処理を行うことによって、ファイルシステムの機能、又は後述するフローチャートに係る処理が実現される。
CPU11には、バス10を介して、入力装置12、記憶装置13及び表示装置14が接続されている。記憶装置13は、例えば、ROM及びRAM及びハードディスク装置等からなり、上述した各プログラム以外に、プログラムに基づく処理で用いられるデータを記憶する。なお、後述する記録装置107は、ハードディスク装置等に対応する。表示装置14は、情報を表示する例えばディスプレイ等である。入力装置12は、情報を入力する例えば操作キー等である。
なお、入力装置12及び表示装置14は、情報処理装置1の必須の構成要素ではない。
なお、本実施形態では、情報処理装置は、主に組込み機器等として説明を行う。
アプリケーション101からのファイル操作処理要求をファイルシステム102が受け取る。すると、ファイルシステム内のファイル操作処理部103は、デバイスドライバ106を介して記録装置107からデータを取得し、そのデータへ書き込み等を行い、ファイルを操作する。このとき、バッファキャッシュ管理部104に対象のデータが存在する場合には、ファイル操作処理部103は、記録装置107にアクセスせずバッファキャッシュ管理部104からデータを取得する。
ファイル操作処理部103は、取得したデータがディレクトリエントリのデータだった場合、その中から必要なデータを抽出してネームキャッシュ管理部105に登録する。
ネームキャッシュテーブル108へのデータ登録後、ファイル操作処理部103は、ネームキャッシュ管理部105を介してデータを取得し、効率的なファイル操作処理を実行する。
また、ネームキャッシュ管理部105は、ディレクトリのキャッシュ済み領域を表す図4のキャッシュ範囲テーブル109を主記憶上に保持する。キャッシュ範囲テーブルは、キャッシュ範囲データの一例である。
図4において、301は、キャッシュ対象のディレクトリ名を、302は、そのディレクトリのキャッシュ済み領域の開始セクタ番号を、303は、終了セクタ番号のデータをそれぞれ表している。302〜303のセクタ範囲(ブロック範囲)が記録装置107内の論理的に連続したブロック範囲キャッシュ管理単位となる。テーブル行304は、ネームキャッシュテーブル108と一対一の関係にあり、即ちテーブル総行数は、ネームキャッシュテーブル108の総数と等しくなる。
ネームキャッシュテーブル108に対象のデータがなかった場合、ファイル操作処理部103は、キャッシュ範囲テーブルから未キャッシュ領域を算出し、その領域を探索してファイル情報を取得する。
例えば、ディレクトリ名"DIR1"のディレクトリが100〜120番セクタと140〜150番セクタとをキャッシュしているとする。
ファイル操作処理部103は、キャッシュ済み領域305を探索対象から除外し、下位アドレスの未キャッシュ領域306を探索し、次に未キャッシュ領域307を探索する。このようにして十分にキャッシュできていない場合にもディレクトリの全探索をすることなく効率的なファイル操作処理を実施する。
S401で、ファイルシステム102は、ディレクトリの先頭セクタ番号をS0に設定する。次にS402で、ファイルシステム102は、利用可能なネームキャッシュテーブル108を獲得する。ここでは、LRUアルゴリズム等を用いて再利用可能性の低いテーブルから獲得していく。
S403で、ファイルシステム102は、獲得したネームキャッシュテーブル108に対応するキャッシュ範囲テーブル109の開始セクタ番号をS0に設定する。以上により初期化処理が終わり、次のステップからディレクトリデータをキャッシュしていく。
S405で、ファイルシステム102は、デバイスドライバ106を介してディレクトリを構成するS0番セクタのデータを記録装置107から読み込む。そして、S406で、ファイルシステム102は、読み込んだディレクトリエントリデータからキャッシュデータを抽出し登録する。S407で、ファイルシステム102は、キャッシュ範囲テーブル109の終了セクタ番号をS0に更新する。
S0番セクタのキャッシュ処理が終了すると、S408で、ファイルシステム102は、現在の位置がディレクトリ終端かどうかを判定する。ディレクトリ終端でなかった場合、ファイルシステム102は、次のセクタ番号を特定してS0に設定する処理であるS409を経て、再び一連のキャッシュ登録処理を繰り返していく。
ネームキャッシュ登録されているディレクトリに対しては、次のファイル情報取得処理ではキャッシュを利用し効率的な処理が可能となる。
S501で、ファイルシステム102は、まず処理対象のディレクトリがキャッシュされているかどうかを判定する。キャッシュされていない場合には、S502で、ファイルシステム102は、ディレクトリ全体を線形探索してファイル情報を取得する通常の処理に移る。
キャッシュされている場合には、S503で、ファイルシステム102は、対象ディレクトリが保持するネームキャッシュテーブル108を参照してファイルを検索する。ネームキャッシュテーブル108からファイルを発見した場合、ファイルシステム102は、そこからファイル情報を取得して、処理を終了する。
ファイルが発見できなかった場合、即ちネームキャッシュに対象のファイルがキャッシュされていない場合、ファイルシステム102は、ディレクトリの未キャッシュ領域、つまり、キャッシュ済み領域以外の領域、を探索する処理に移る。
S505で、ファイルシステム102は、探索開始セクタ番号S0にディレクトリの先頭セクタ番号を設定する。次に、S506で、ファイルシステム102は、キャッシュ範囲テーブル109からS0番セクタ以降の未キャッシュセクタ範囲(S1〜S2)を算出する。そして、S507で、ファイルシステム102は、この未キャッシュセクタ範囲のディレクトリを探索する処理を行う。
S1〜S2の未キャッシュセクタに対象のファイルが存在しなかった場合、S509で、ファイルシステム102は、探索開始セクタ番号S0をS2に設定する。そして、ファイルシステム102等は、再びS506〜S508の処理をファイルが発見されるまで繰り返す。ファイルが発見されるとS510のファイル情報取得処理に移り、図6に示す処理は、終了する。
以上により、参照したファイル情報がキャッシュに存在しない場合の効率的なファイル操作処理が可能となる。
実施形態1では、ファイル情報登録処理フローにおいてセクタ単位でキャッシュの登録が行われているが、もちろんディレクトリエントリ単位で読み込みキャッシュするという実施形態も採用することができる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
105 ネームキャッシュ管理部
108 ネームキャッシュテーブル
109 キャッシュ範囲テーブル
Claims (4)
- 記録装置のファイル情報をキャッシュし、前記記録装置のどの範囲がキャッシュされているかを示すキャッシュ範囲データをディレクトリ情報に関連付けて記憶する管理手段と、
前記ディレクトリ情報に基づき、前記管理手段のキャッシュ範囲データを参照して処理対象のファイル情報がキャッシュされているかを判定する判定手段と、
前記ファイル情報がキャッシュされている場合は、キャッシュされているファイル情報を取得し、前記ファイル情報がキャッシュされていない場合は、前記キャッシュ範囲データに基づいて、前記ファイル情報のファイルのディレクトリ内において記録装置のキャッシュ済み領域以外の領域を探索してファイル情報を取得する取得手段と、
を有する情報処理装置。 - 前記管理手段は、前記記録装置の論理的に連続したブロック範囲をキャッシュ管理単位としてキャッシュを管理し、キャッシュの入れ替えが発生した際には、入れ替えられたブロック範囲を基に前記キャッシュ範囲データを更新する請求項1記載の情報処理装置。
- 情報処理装置が実行する情報処理方法であって、
記録装置のファイル情報をキャッシュし、前記記録装置のどの範囲がキャッシュされているかを示すキャッシュ範囲データをディレクトリ情報に関連付けて記憶する管理ステップと、
前記ディレクトリ情報に基づき、前記管理ステップのキャッシュ範囲データを参照して処理対象のファイル情報がキャッシュされているかを判定する判定ステップと、
前記ファイル情報がキャッシュされている場合は、キャッシュされているファイル情報を取得し、前記ファイル情報がキャッシュされていない場合は、前記キャッシュ範囲データに基づいて、前記ファイル情報のファイルのディレクトリ内において記録装置のキャッシュ済み領域以外の領域を探索してファイル情報を取得する取得ステップと、
を含む情報処理方法。 - コンピュータに、
記録装置のファイル情報をキャッシュし、前記記録装置のどの範囲がキャッシュされているかを示すキャッシュ範囲データをディレクトリ情報に関連付けて記憶する管理ステップと、
前記ディレクトリ情報に基づき、前記管理ステップのキャッシュ範囲データを参照して処理対象のファイル情報がキャッシュされているかを判定する判定ステップと、
前記ファイル情報がキャッシュされている場合は、キャッシュされているファイル情報を取得し、前記ファイル情報がキャッシュされていない場合は、前記キャッシュ範囲データに基づいて、前記ファイル情報のファイルのディレクトリ内において記録装置のキャッシュ済み領域以外の領域を探索してファイル情報を取得する取得ステップと、
を実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010246624A JP5697404B2 (ja) | 2010-11-02 | 2010-11-02 | 情報処理装置、情報処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010246624A JP5697404B2 (ja) | 2010-11-02 | 2010-11-02 | 情報処理装置、情報処理方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012098949A JP2012098949A (ja) | 2012-05-24 |
JP5697404B2 true JP5697404B2 (ja) | 2015-04-08 |
Family
ID=46390779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010246624A Expired - Fee Related JP5697404B2 (ja) | 2010-11-02 | 2010-11-02 | 情報処理装置、情報処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5697404B2 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0298779A (ja) * | 1988-10-05 | 1990-04-11 | Nippon Telegr & Teleph Corp <Ntt> | データベース管理方法 |
JPH04252342A (ja) * | 1991-01-29 | 1992-09-08 | Fujitsu Ltd | 情報処理システムにおけるデータ保存管理装置 |
JP4259036B2 (ja) * | 2002-05-14 | 2009-04-30 | 株式会社日立製作所 | ネットワークデータのキャッシュ方法およびシステム |
TW200504577A (en) * | 2003-07-16 | 2005-02-01 | Matsushita Electric Ind Co Ltd | Management method for data storage in data recording medium, and information processing device using the same |
JP2006127377A (ja) * | 2004-11-01 | 2006-05-18 | Canon Inc | Fatファイルシステム |
-
2010
- 2010-11-02 JP JP2010246624A patent/JP5697404B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012098949A (ja) | 2012-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7908276B2 (en) | Filesystem having a filename cache | |
US10191856B2 (en) | Method of managing web browser cache size using logical relationships and clustering | |
US11537584B2 (en) | Pre-caching of relational database management system based on data retrieval patterns | |
US20180329712A1 (en) | File access predication using counter based eviction policies at the file and page level | |
US20060174074A1 (en) | Point-in-time copy operation | |
US20170300424A1 (en) | Efficient metadata in a storage system | |
CN107025243A (zh) | 一种资源数据的查询方法、查询客户端和查询系统 | |
CN103530387A (zh) | 一种hdfs针对小文件的改进方法 | |
JP6870466B2 (ja) | 制御プログラム、制御方法、制御装置、及びデータベースサーバ | |
JP5999351B2 (ja) | データベース処理装置、方法、プログラム及びデータ構造 | |
JP2009064120A (ja) | 検索システム | |
CN107402889A (zh) | 检索数据方法、存储数据方法和重复数据删除模块 | |
KR20160067289A (ko) | 분산 파일 시스템에서 소형 파일에 대한 접근성 향상을 위한 캐시 관리 시스템 | |
CN105095113B (zh) | 一种缓存管理方法和系统 | |
JP2015510174A (ja) | ロケーション非依存のファイル | |
EP2621143A1 (en) | Information processing apparatus, distributed processing system, and distributed processing method | |
Guo et al. | HP-mapper: A high performance storage driver for docker containers | |
JP6394231B2 (ja) | データ配置制御プログラム、データ配置制御装置およびデータ配置制御方法 | |
JP2017027301A (ja) | ストレージ制御装置、階層化ストレージ制御プログラム、階層化ストレージ制御方法 | |
US10185660B2 (en) | System and method for automated data organization in a storage system | |
JP5697404B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
US20070067576A1 (en) | Balanced prefetching exploiting structured data | |
Guo et al. | Re-enabling high-speed caching for LSM-trees | |
JP6390196B2 (ja) | ストレージシステム、ストレージ方法、および、プログラム | |
CN108614782B (zh) | 一种用于数据处理系统的高速缓存访问方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20131105 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140425 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140610 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140807 |
|
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: 20150113 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150210 |
|
LAPS | Cancellation because of no payment of annual fees |