JP5697404B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

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
Application number
JP2010246624A
Other languages
English (en)
Other versions
JP2012098949A (ja
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2010246624A priority Critical patent/JP5697404B2/ja
Publication of JP2012098949A publication Critical patent/JP2012098949A/ja
Application granted granted Critical
Publication of JP5697404B2 publication Critical patent/JP5697404B2/ja
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

本発明は、情報処理装置、情報処理方法及びプログラムに関する。
ファイルシステムとは、記憶装置に記録されているデータを管理する方式、管理を行うソフトウェアや、記憶媒体に設けられた管理領域や管理情報のことである。
ファイルシステムがファイル名情報を含むファイル操作処理要求を受けとると、ディレクトリ全体を線形探索してファイルを探し出す処理を行う。一方、記録装置の大容量化に伴うファイル数の増加は近年著しく、このように膨大なファイルがある状況下ではファイル操作処理に大きなコストが発生してしまう。
この課題に対して、主記憶上にキャッシュしたファイル名とそれに付随するファイル情報を利用することで、ディレクトリの全探索を行わずにファイル操作処理を実現する手法がある。
従来、このようなキャッシュを用いた効率的なファイル操作処理を実現するものとしてはB木やハッシュテーブル等を使用する技術が一般的であった。
特開2006−58965号公報
従来の手法ではキャッシュを利用した効率的なファイル操作処理が可能になる。しかしながら、一方で、ファイルの情報がキャッシュに存在しない場合には、ディレクトリ全体を探索してファイル情報を取得しなければならず膨大な処理コストが発生してしまうという問題があった。
本発明はこのような問題点に鑑みなされたもので、ファイル情報がキャッシュに存在しない場合であっても、効率的にファイル情報を取得することによって、効率的なファイル操作処理を実現することを目的とする。
そこで、本発明の情報処理装置は、記録装置のファイル情報をキャッシュし、前記記録装置のどの範囲がキャッシュされているかを示すキャッシュ範囲データをディレクトリ情報に関連付けて記憶する管理手段と、前記ディレクトリ情報に基づき、前記管理手段のキャッシュ範囲データを参照して処理対象のファイル情報がキャッシュされているかを判定する判定手段と、前記ファイル情報がキャッシュされている場合は、キャッシュされているファイル情報を取得し、前記ファイル情報がキャッシュされていない場合は、前記キャッシュ範囲データに基づいて、前記ファイル情報のファイルのディレクトリ内において記録装置のキャッシュ済み領域以外の領域を探索してファイル情報を取得する取得手段と、を有する。
本発明によれば、ファイル情報がキャッシュに存在しない場合であっても、効率的にファイル情報を取得することによって、効率的なファイル操作処理を実現することができる。
情報処理装置(コンピュータ)1のハードウェア構成の一例を示す図である。 情報処理装置の機能構成の一例を示す図である。 抽出したデータを登録するネームキャッシュテーブルの一例を示す図である。 キャッシュ範囲テーブルの一例を示す図である。 ネームキャッシュへのファイル情報登録処理のフローチャートである。 ファイル情報取得処理の一例を示すフローチャートである。
以下、本発明の実施形態について図面に基づいて説明する。
<実施形態1>
図1は、情報処理装置(コンピュータ)1のハードウェア構成の一例を示す図である。図1に示されるように情報処理装置1は、ハードウェア構成として、CPU11を含む。CPU11が、記憶装置13に記憶されているプログラムに基づき処理を行うことによって、ファイルシステムの機能、又は後述するフローチャートに係る処理が実現される。
CPU11には、バス10を介して、入力装置12、記憶装置13及び表示装置14が接続されている。記憶装置13は、例えば、ROM及びRAM及びハードディスク装置等からなり、上述した各プログラム以外に、プログラムに基づく処理で用いられるデータを記憶する。なお、後述する記録装置107は、ハードディスク装置等に対応する。表示装置14は、情報を表示する例えばディスプレイ等である。入力装置12は、情報を入力する例えば操作キー等である。
なお、入力装置12及び表示装置14は、情報処理装置1の必須の構成要素ではない。
なお、本実施形態では、情報処理装置は、主に組込み機器等として説明を行う。
図2は、情報処理装置の機能構成の一例を示す図である。
アプリケーション101からのファイル操作処理要求をファイルシステム102が受け取る。すると、ファイルシステム内のファイル操作処理部103は、デバイスドライバ106を介して記録装置107からデータを取得し、そのデータへ書き込み等を行い、ファイルを操作する。このとき、バッファキャッシュ管理部104に対象のデータが存在する場合には、ファイル操作処理部103は、記録装置107にアクセスせずバッファキャッシュ管理部104からデータを取得する。
ファイル操作処理部103は、取得したデータがディレクトリエントリのデータだった場合、その中から必要なデータを抽出してネームキャッシュ管理部105に登録する。
図3は、抽出したデータを登録するネームキャッシュテーブル108の一例を示す図である。ディレクトリテーブル201は、可変個のネームキャッシュテーブルを持ち、テーブルは、ファイル名202とファイル情報203とから構成される、ファイル情報は、ファイル操作処理を効率化する上で必要なディレクトリエントリに関連するデータを表す。なお、これらネームキャッシュテーブル108は、LRU等のキャッシュアルゴリズムで管理され、優先度の低いものから順にキャッシュの入れ替えが発生していく。
ネームキャッシュテーブル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を探索する。このようにして十分にキャッシュできていない場合にもディレクトリの全探索をすることなく効率的なファイル操作処理を実施する。
図5は、ネームキャッシュへのファイル情報登録処理のフローチャートである。ディレクトリにはじめてアクセスした際、ディレクトリ先頭からディレクトリエントリを順次キャッシュしていく。
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を経て、再び一連のキャッシュ登録処理を繰り返していく。
ネームキャッシュ登録されているディレクトリに対しては、次のファイル情報取得処理ではキャッシュを利用し効率的な処理が可能となる。
図6は、ファイル情報取得処理の一例を示すフローチャートである。
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に示す処理は、終了する。
以上により、参照したファイル情報がキャッシュに存在しない場合の効率的なファイル操作処理が可能となる。
<実施形態2>
実施形態1では、ファイル情報登録処理フローにおいてセクタ単位でキャッシュの登録が行われているが、もちろんディレクトリエントリ単位で読み込みキャッシュするという実施形態も採用することができる。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
以上、上述した各実施形態によれば、ファイル情報がキャッシュに存在しない場合であっても、効率的にファイル情報を取得することによって、効率的なファイル操作処理を実現することができる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
102 ファイルシステム
105 ネームキャッシュ管理部
108 ネームキャッシュテーブル
109 キャッシュ範囲テーブル

Claims (4)

  1. 記録装置のファイル情報をキャッシュし、前記記録装置のどの範囲がキャッシュされているかを示すキャッシュ範囲データをディレクトリ情報に関連付けて記憶する管理手段と、
    前記ディレクトリ情報に基づき、前記管理手段のキャッシュ範囲データを参照して処理対象のファイル情報がキャッシュされているかを判定する判定手段と、
    前記ファイル情報がキャッシュされている場合は、キャッシュされているファイル情報を取得し、前記ファイル情報がキャッシュされていない場合は、前記キャッシュ範囲データに基づいて、前記ファイル情報のファイルのディレクトリ内において記録装置のキャッシュ済み領域以外の領域を探索してファイル情報を取得する取得手段と、
    を有する情報処理装置。
  2. 前記管理手段は、前記記録装置の論理的に連続したブロック範囲をキャッシュ管理単位としてキャッシュを管理し、キャッシュの入れ替えが発生した際には、入れ替えられたブロック範囲を基に前記キャッシュ範囲データを更新する請求項1記載の情報処理装置。
  3. 情報処理装置が実行する情報処理方法であって、
    記録装置のファイル情報をキャッシュし、前記記録装置のどの範囲がキャッシュされているかを示すキャッシュ範囲データをディレクトリ情報に関連付けて記憶する管理ステップと、
    前記ディレクトリ情報に基づき、前記管理ステップのキャッシュ範囲データを参照して処理対象のファイル情報がキャッシュされているかを判定する判定ステップと、
    前記ファイル情報がキャッシュされている場合は、キャッシュされているファイル情報を取得し、前記ファイル情報がキャッシュされていない場合は、前記キャッシュ範囲データに基づいて、前記ファイル情報のファイルのディレクトリ内において記録装置のキャッシュ済み領域以外の領域を探索してファイル情報を取得する取得ステップと、
    を含む情報処理方法。
  4. コンピュータに、
    記録装置のファイル情報をキャッシュし、前記記録装置のどの範囲がキャッシュされているかを示すキャッシュ範囲データをディレクトリ情報に関連付けて記憶する管理ステップと、
    前記ディレクトリ情報に基づき、前記管理ステップのキャッシュ範囲データを参照して処理対象のファイル情報がキャッシュされているかを判定する判定ステップと、
    前記ファイル情報がキャッシュされている場合は、キャッシュされているファイル情報を取得し、前記ファイル情報がキャッシュされていない場合は、前記キャッシュ範囲データに基づいて、前記ファイル情報のファイルのディレクトリ内において記録装置のキャッシュ済み領域以外の領域を探索してファイル情報を取得する取得ステップと、
    を実行させるプログラム。
JP2010246624A 2010-11-02 2010-11-02 情報処理装置、情報処理方法及びプログラム Expired - Fee Related JP5697404B2 (ja)

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)

* Cited by examiner, † Cited by third party
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ファイルシステム

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