JP6061647B2 - ファイル管理装置、その制御方法及びプログラム - Google Patents

ファイル管理装置、その制御方法及びプログラム Download PDF

Info

Publication number
JP6061647B2
JP6061647B2 JP2012258961A JP2012258961A JP6061647B2 JP 6061647 B2 JP6061647 B2 JP 6061647B2 JP 2012258961 A JP2012258961 A JP 2012258961A JP 2012258961 A JP2012258961 A JP 2012258961A JP 6061647 B2 JP6061647 B2 JP 6061647B2
Authority
JP
Japan
Prior art keywords
directory
file
search
storage device
file information
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.)
Active
Application number
JP2012258961A
Other languages
English (en)
Other versions
JP2014106726A (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 JP2012258961A priority Critical patent/JP6061647B2/ja
Publication of JP2014106726A publication Critical patent/JP2014106726A/ja
Application granted granted Critical
Publication of JP6061647B2 publication Critical patent/JP6061647B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、コンピュータでファイルを扱うシステムのファイルシステムに利用して好適なファイル管理装置、その制御方法及びプログラムに関する。
コンピュータでファイルを扱うファイルシステムでは、個々のファイルにファイル名が付され、それぞれのファイルはいずれかのディレクトリに属し、ディレクトリもまたいずれかのディレクトリに属することができるというツリー構造を採ることが一般的である。
有名なファイルシステムであるFATファイルシステムでは、二次記憶装置にアクセスできる最小のデータ長であるセクタを一つ又は複数まとめてクラスタと呼び、クラスタを二次記憶装置の領域管理の単位としている。
ディレクトリには、そのディレクトリに属する複数のファイルやディレクトリに関する情報が格納されており、ファイルやディレクトリ一つ分の情報はディレクトリエントリと呼ばれている。ディレクトリエントリには、ファイル名、ファイルサイズ、タイムスタンプ、開始クラスタ番号等が記録されている。
ファイルやディレクトリのデータは、クラスタ単位に分割して記録されており、最初のクラスタはディレクトリエントリに記録された開始クラスタであり、それ以降のクラスタはFATを参照して得ることができる。
図5〜図7は、101DSCAMという名のディレクトリにIMG0001.JPG〜IMG0048.JPGというファイルがある場合を例示するものである。図5は、101DSCAMというディレクトリのディレクトリエントリを示す図である。図6は、101DSCAMに関連するFATを示す図である。図7は、101DSCAMのディレクトリ本体を示す図である。101DSCAMのディレクトリの内容は0004クラスタから始まっており、0004クラスタにはIMG0001JPGからIMG0016.JPGまでの16個のディレクトリエントリが記録されている。FATの0004番目の値を見ると0028であり、FATの0028番目の値を見ると0056であるので、ディレクトリは0028クラスタと0056クラスタに続いていることが判る。FATの0056番目の値FFFFは終端を示す値である。
このようにFATファイルシステムでは、一つのディレクトリに多数のディレクトリエントリを記録することができる。
ディレクトリに属する特定のファイルにアクセスするとき、ファイル名が一致するディレクトリエントリを検索するが、従来はディレクトリの先頭から検索しており、多数のファイルがあるときには膨大な時間がかかることがあった。
図8(B)は、デジタルカメラの画像再生のためのファイル一覧表示画面の例である。このようにデジタルカメラやデジタルフォトフレーム、プリンタ等では、扱うファイルを選択するためにファイルの特定枚数ごとの一覧表示を行うことが多い。この場合、IMG0037.JPGからIMG0045.JPGのファイルに順にアクセスして、サムネイル画像を取り出して表示するという処理が行われる。
ディレクトリに存在する特定のファイルにアクセスするとき、通常はディレクトリの先頭からファイル名が一致するディレクトリエントリを検索する。ところが、ディレクトリに多数のファイルがある場合は、検索に膨大な時間がかかることになる。図8の例でいえば、IMG0037.JPGを検索するのに、101DSCAMの開始クラスタである0004から順に0028と0056と検索を繰り返してIMG0037.JPGが見つかり、次にIMG0038.JPGを検索する場合も0004、0028、0056と3つのクラスタを探して見つかるという具合である。101DSCAMに数千個のファイルが存在する場合、より多くの時間がかかることになる。
特許文献1では、あらかじめディレクトリ中の全ファイル分の順番を調べており、ファイル検索時にはその調べた結果を参照してファイルにアクセスしている
特開2009−217588号公報
しかしながら、特許文献1の技術では、ディレクトリ中の全ファイル分についてあらかじめ調べなければならず、調べた結果を記録しておくメモリ領域が必要になる。
本発明は上記のような点に鑑みてなされたものであり、多大なメモリ領域を必要とせずに、目的のファイルを高速に検索する可能性を高めることを目的とする。
本発明のファイル管理装置は、複数のブロックから構成され、前記各ブロックにファイル情報を格納するディレクトリからファイルを検索するファイル管理装置であって、ディレクトリごとに、検索に成功したファイル情報の位置を記憶装置に記録する記録手段と、ディレクトリからファイルを検索するときに、前記記憶装置に記録されているファイル情報の位置の近傍から検索を開始する検索手段とを備え、前記記録手段は、ディレクトリごとに、検索に成功したファイル情報が属するブロック番号の前のブロック番号を前記記憶装置に記録し、前記検索手段は、前記記憶装置に記録されているブロック番号のブロックから検索を開始することを特徴とする。
本発明によれば、多大なメモリ領域を必要とせずに、目的のファイルを高速に検索する可能性を高めることができる。
第1の実施形態に係るファイル管理装置の構成を示す図である。 第1の実施形態における検索結果データベースを示す概略図である。 第1の実施形態に係るファイル管理装置による処理手順を示すフローチャートである。 第2の実施形態に係るファイル管理装置による処理手順を示すフローチャートである。 ディレクトリのディレクトリエントリの例を示す図である。 FATの例を示す図である。 ディレクトリの例を示す図である。 ファイル一覧表示画面の例を示す図である。
以下、添付図面を参照して、本発明の好適な実施形態について説明する。
(第1の実施形態)
本発明を適用した第1の実施形態に係るファイル管理装置を、FATファイルシステムを例に用いて説明する。なお、FATファイルシステムをFATとして呼称されることも多いが、本実施形態の説明では、FATはファイルアロケーションテーブルそのものとして説明する。
図1に、本実施形態に係るファイル管理装置の構成を示す。ファイル管理装置として機能する組み込みコンピュータ301は、バス302、CPU303、ROM304、RAM305、記憶装置306を有する。記憶装置306は、組み込みコンピュータ301に対して着脱可能であってもよい。CPU303は、バス302によって相互に接続されたROM304、RAM305、記憶装置306の制御を行う。CPU303は、ROM304等に格納されたアプリケーションプログラム、ファイルシステムプログラムを実行することにより、記憶装置306に記録された論理ファイルの操作を行う。その際、RAM305は作業領域として利用される。
図2は、本実施形態における検索結果データベースを示す概略図である。検索結果データベースには、ディレクトリごとに、そのディレクトリの開始クラスタ番号と、そのディレクトリで最後に発見した(最後に検索に成功した)ファイル情報であるディレクトリエントリが属するクラスタ番号とが記録される。検索結果データベースは、例えば記憶装置306において構築される。
図7に示したように、ディレクトリは、本発明でいう複数のブロックに相当する複数のクラスタから構成され、各クラスタに本発明でいうファイル情報に相当するディレクトリエントリを格納する。
図3は、本実施形態に係るファイル管理装置による処理手順を示すフローチャートである。ディレクトリからファイル名を検索するとき、ステップS101から処理が始まる。ステップS102で、対象ディレクトリの開始クラスタ番号を変数sに代入する。ステップS103で、検索結果データベースを検索して開始クラスタ番号sを開始ディレクトリとするエントリが存在するか否かを判断し、存在する場合はステップS110に移り、存在しない場合はステップS104に移る。
ステップS103において開始クラスタ番号sを開始ディレクトリとするエントリが存在しない場合、ステップS104で、対象ディレクトリの開始クラスタ番号sから最終クラスタまで目的のファイル名を検索する。ステップS105で、目的のファイル名が発見できたか否かを判断し、発見できた場合はステップS106に移り、発見できなかった場合はステップS115に移る。ステップS106で、発見したファイル名のディレクトリエントリが存在するクラスタ番号を変数hに入れ、ステップS107で、開始クラスタ番号sと検索結果のクラスタ番号hとの組を検索結果データベースに登録する。既に検索結果データベースに開始クラスタsのエントリがある場合は、そのエントリを上書きする。その後、ステップS108で、ディレクトリのファイル名検索は成功として終了する。
一方、ステップS103において開始クラスタ番号sを開始ディレクトリとするエントリが存在する場合、ステップS110で、検索結果のクラスタ番号を変数hに、hの直前のクラスタ番号を変数bに代入する。ステップS111で、ディレクトリをクラスタ番号hから最終クラスタまで検索する。ステップS112で、ステップS111の検索において目的ファイル名が発見できたか否かを判断し、発見できた場合はステップS106に移り、発見できなかった場合はステップS113に移る。ステップS113で、ディレクトリの開始クラスタ番号sからクラスタ番号bまでのディレクトリエントリを検索する。ステップS114で、ステップS113の検索において目的ファイル名が発見できたか否かを判断し、発見できた場合はステップS106に移り、発見できなかった場合はステップS115に移る。
ステップS105及びステップS114において発見できなかった場合、ステップ115で、ディレクトリのファイル名検索は失敗として終了する。
以上のように、ファイルへのアクセスは前回アクセスしたファイルのディレクトリエントリの位置の近傍にあるファイルにアクセスすることが多いことに鑑みて、ディレクトリ内の目的のファイル名を検索する処理において、前回の検索で発見したディレクトリエントリを含むクラスタから検索を開始することで、目的のファイルを高速に検索する可能性を高めることができる。
また、特許文献1のように、ディレクトリ中の全ファイル分についてあらかじめ調べた結果を記録しておくメモリ領域は不要で、クラスタ番号を記録するメモリ領域があればよく、多大なメモリ領域は必要とならない。
(第2の実施形態)
次に、図3を参照して、第2の実施形態を説明する。なお、ファイル管理装置の構成は第1の実施形態と同様であり、ここではその説明を省略する。
ディレクトリ内のファイル名を検索するとき、前回検索したファイルのディレクトリエントリよりも手前にあるファイルを検索することも多い。例えばデジタルカメラの画像一覧表示画面において、図8(B)を表示している場合は、IMG0037.JPGからIMG0045.JPGまでを順に検索したはずである。ここで、利用者がページを戻る処理を選択した場合、図8(A)を表示するためにIMG0028.JPGを検索することになる。
この場合、前回検索したファイルのディレクトリエントリが存在するクラスタの手前のクラスタに、次に検索するファイルのディレクトリエントリが存在する場合、第1の実施形態ではファイル名が見つかるのが遅くなる。本実施形態では、このような場合にも高速に検索ができるように工夫したものである。
図4は、本実施形態に係るファイル管理装置による処理手順を示すフローチャートである。ディレクトリからファイル名を検索するとき、ステップS201から処理が始まる。ステップS202で、対象ディレクトリの開始クラスタ番号を変数sに代入する。ステップS203で、検索結果データベースを検索して開始クラスタ番号sを開始ディレクトリとするエントリが存在するか否かを判断し、存在する場合はステップS204に移り、存在しない場合はステップS209に移る。
ステップS203において開始クラスタ番号sを開始ディレクトリとするエントリが存在しない場合、ステップS209で、対象ディレクトリの開始クラスタ番号sから最終クラスタまで目的のファイル名を検索する。ステップS210で、目的のファイル名が発見できたか否かを判断し、発見できた場合はステップS211に移り、発見できなかった場合はステップS216に移る。ステップS211で、発見したファイル名のディレクトリエントリが存在するクラスタ番号を変数hに入れる。ステップS212で、クラスタ番号hが開始クラスタ番号sと等しいか否かを判断し、等しい場合はステップS214に移り、等しくない場合は、hの一つ手前のクラスタが存在するはずなので、そのクラスタ番号をhに上書きし、ステップS214に移る。ステップS214で、開始クラスタ番号sと検索結果のクラスタ番号hとの組を検索結果データベースに登録する。
一方、ステップS203において開始クラスタ番号sを開始ディレクトリとするエントリが存在する場合、ステップS204で、検索結果のクラスタ番号を変数hに、hの直前のクラスタ番号を変数bに代入する。ステップS205で、ディレクトリをクラスタ番号hから最終クラスタまで検索する。ステップS206で、ステップS205の検索において目的ファイル名が発見できたか否かを判断し、発見できた場合はステップS211に移り、発見できなかった場合はステップS207に移る。ステップS207で、ディレクトリの開始クラスタ番号sからクラスタ番号bまでのディレクトリエントリを検索する。ステップS208で、ステップS207の検索において目的ファイル名が発見できたか否かを判断し、発見できた場合はステップS211に移り、発見できなかった場合はステップS216に移る。
ステップS210及びステップS208において発見できなかった場合、ステップS216で、ディレクトリのファイル名検索は失敗として終了する。
以上の手順により、ディレクトリ内の目的のファイル名を検索する処理において、前回の検索で発見したディレクトリエントリを含むクラスタの一つ前のクラスタから検索を開始することで、目的のファイルを高速に検索する可能性を高めることができる。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
301:組み込みコンピュータ、302:バス、303:CPU、304:ROM、305:RAM、306:記憶装置

Claims (3)

  1. 複数のブロックから構成され、前記各ブロックにファイル情報を格納するディレクトリからファイルを検索するファイル管理装置であって、
    ディレクトリごとに、検索に成功したファイル情報の位置を記憶装置に記録する記録手段と、
    ディレクトリからファイルを検索するときに、前記記憶装置に記録されているファイル情報の位置の近傍から検索を開始する検索手段とを備え
    前記記録手段は、ディレクトリごとに、検索に成功したファイル情報が属するブロック番号の前のブロック番号を前記記憶装置に記録し、
    前記検索手段は、前記記憶装置に記録されているブロック番号のブロックから検索を開始することを特徴とするファイル管理装置。
  2. 複数のブロックから構成され、前記各ブロックにファイル情報を格納するディレクトリからファイルを検索するファイル管理装置の制御方法であって、
    ディレクトリごとに、検索に成功したファイル情報の位置を記憶装置に記録する手順と、
    ディレクトリからファイルを検索するときに、前記記憶装置に記録されているファイル情報の位置の近傍から検索を開始する手順とを有し、
    前記記録する手順では、ディレクトリごとに、検索に成功したファイル情報が属するブロック番号の前のブロック番号を前記記憶装置に記録し、
    前記検索を開始する手順では、前記記憶装置に記録されているブロック番号のブロックから検索を開始することを特徴とするファイル管理装置の制御方法。
  3. 複数のブロックから構成され、前記各ブロックにファイル情報を格納するディレクトリからファイルを検索するためのプログラムであって、
    ディレクトリごとに、検索に成功したファイル情報の位置を記憶装置に記録する記録手段と、
    ディレクトリからファイルを検索するときに、前記記憶装置に記録されているファイル情報の位置の近傍から検索を開始する検索手段としてコンピュータを機能させ
    前記記録手段は、ディレクトリごとに、検索に成功したファイル情報が属するブロック番号の前のブロック番号を前記記憶装置に記録し、
    前記検索手段は、前記記憶装置に記録されているブロック番号のブロックから検索を開始することを特徴とするプログラム。
JP2012258961A 2012-11-27 2012-11-27 ファイル管理装置、その制御方法及びプログラム Active JP6061647B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012258961A JP6061647B2 (ja) 2012-11-27 2012-11-27 ファイル管理装置、その制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012258961A JP6061647B2 (ja) 2012-11-27 2012-11-27 ファイル管理装置、その制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2014106726A JP2014106726A (ja) 2014-06-09
JP6061647B2 true JP6061647B2 (ja) 2017-01-18

Family

ID=51028159

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012258961A Active JP6061647B2 (ja) 2012-11-27 2012-11-27 ファイル管理装置、その制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6061647B2 (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS635443A (ja) * 1986-06-26 1988-01-11 Matsushita Electric Ind Co Ltd フアイル管理装置
JP2540821B2 (ja) * 1986-10-21 1996-10-09 日本電気株式会社 デ―タベ―ス検索システム
JPH01112446A (ja) * 1987-10-27 1989-05-01 Fanuc Ltd 内部データ管理方式
JP4380193B2 (ja) * 2003-03-25 2009-12-09 ブラザー工業株式会社 ファイルアクセス管理装置
JP2007013574A (ja) * 2005-06-30 2007-01-18 Toshiba Corp ファイルアクセス手法および特定の画像ファイルを再生する方法およびその画像ファイルの再生が可能なカメラ装置
JP4953612B2 (ja) * 2005-10-17 2012-06-13 キヤノン株式会社 データ処理装置及びその制御方法、コンピュータプログラム、及び記憶媒体
JP2009288924A (ja) * 2008-05-28 2009-12-10 Nec Electronics Corp ファイルアクセスシステム
JP5395508B2 (ja) * 2009-05-22 2014-01-22 富士通テン株式会社 コンテンツ再生装置、及び制御プログラム

Also Published As

Publication number Publication date
JP2014106726A (ja) 2014-06-09

Similar Documents

Publication Publication Date Title
CN103077199B (zh) 一种文件资源查找定位方法及装置
CN109739815B (zh) 文件处理方法、系统、装置、设备及存储介质
KR101403305B1 (ko) 백업부트레코드 정보를 이용한 파티션 복구 장치 및 방법
US9881015B2 (en) Method and system for previewing file information
JP5886447B2 (ja) ロケーション非依存のファイル
CN106537380B (zh) 对用户产生的媒体文件自动归档
KR20060050872A (ko) 화상파일 관리장치 및 방법과, 기억매체
JP4457988B2 (ja) 画像管理装置、画像管理方法およびコンピュータプログラム
JP6870466B2 (ja) 制御プログラム、制御方法、制御装置、及びデータベースサーバ
CN1472665A (zh) 帐票处理装置、帐票处理方法以及程序
KR20090039405A (ko) 태그 정보의 처리방법 및 이를 구현하는 클라이언트-서버시스템
CN109241003B (zh) 文件管理方法和装置
JP4233564B2 (ja) データ処理装置、データ処理用のプログラムおよび記録媒体
CN111159130A (zh) 一种小文件合并方法及电子设备
US20120041946A1 (en) Data search apparatus, control method thereof and computer readable storage medium
JP2010102593A (ja) 情報処理装置およびその方法、プログラム、記録媒体
US10909169B2 (en) Information processing apparatus, information processing method, and program
JP6061647B2 (ja) ファイル管理装置、その制御方法及びプログラム
KR20140031269A (ko) 글꼴을 판별하는 방법 및 장치
US8719218B2 (en) Server apparatus and method of aquiring contents
CN106446080B (zh) 数据查询的方法、查询服务设备、客户端设备和数据系统
CN115129789A (zh) 一种分布式对象存储系统的桶索引存储方法、装置及介质
JP5523122B2 (ja) 画像管理装置、方法及びプログラム
CN112835858A (zh) 非连续存储文件的恢复方法、装置、设备及存储介质
JP2006004157A5 (ja)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160802

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160913

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: 20161115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161213

R151 Written notification of patent or utility model registration

Ref document number: 6061647

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151