JP2006092088A - ファイル管理プログラム、データ構造及びファイル管理装置 - Google Patents

ファイル管理プログラム、データ構造及びファイル管理装置 Download PDF

Info

Publication number
JP2006092088A
JP2006092088A JP2004274616A JP2004274616A JP2006092088A JP 2006092088 A JP2006092088 A JP 2006092088A JP 2004274616 A JP2004274616 A JP 2004274616A JP 2004274616 A JP2004274616 A JP 2004274616A JP 2006092088 A JP2006092088 A JP 2006092088A
Authority
JP
Japan
Prior art keywords
file
file name
long
short
name
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.)
Withdrawn
Application number
JP2004274616A
Other languages
English (en)
Inventor
Masafumi Mori
雅史 森
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2004274616A priority Critical patent/JP2006092088A/ja
Publication of JP2006092088A publication Critical patent/JP2006092088A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】 長いファイル名の管理情報の解析が必要なソフトウェア(ファームウェア)処理の改善を図ること。
【解決手段】 長いファイル名の総文字数を示す情報を短いファイル名のディレクトリエントリの予約フィールドの作成時刻Bに格納するようにした。そのため、利用者が所望するファイルの検索時に、短いファイル名のディレクトリエントリの予約フィールドだけを解析させることで、長いファイル名の総文字数が前記所望されたファイルのファイル名の総文字数と一致するか否かを容易に判定させることができる。そのため、それらが一致するファイルのディレクトリエントリにのみ長いファイル名を解析する解析処理を実行するだけでよくなるため、解析処理の実行回数を少なくすることができ、その結果、前記所望されたファイルの検索に要する処理時間を短縮可能となる。
【選択図】 図2

Description

本発明は、各ファイル或いはディレクトリに長いファイル名と短いファイル名とを設定し、そのファイル名で、当該ファイルを管理するファイル管理プログラム、データ構造及びファイル管理装置に関する。
従来、この種のファイル管理プログラムとしては、例えば、マイクロソフト社のオペレーティングシステム(Windows(登録商標)やMS-DOS(登録商標))に搭載されたファイルシステム、つまり、VFAT(Virtual File Allocation Table)ファイルシステムが知られている(例えば、特許文献1参照)。この特許文献1に記載されているファイル管理プログラムにあっては、各ファイルに長いファイル名と短いファイル名とを設定し、その設定された長いファイル名を所定文字数ずつ格納可能な複数のディレクトリエントリに分割して格納し、前記設定された短いファイル名を1つのディレクトリエントリにまとめて格納することで、当該ファイルを管理するようになっている。
そして、特許文献1に記載されているようなファイル管理プログラムにあっては、一般に、所望のファイルの検索を行う場合には、利用者により指定されたファイルパスに相当するディレクトリエントリの記録位置の先頭から順番に、短いファイル名及び長いファイル名のディレクトリエントリを順次読み出し、その読み出されたディレクトリエントリから前記長いファイル名を取得し、その取得された前記長いファイル名がさらに続くと判定されると、上記フローをディレクトリエントリの読み出しから繰り返し実行する。そして、このファイル管理プログラムにあっては、上記フローが繰り返し実行されることで、前記ディレクトリエントリの長いファイル名の全文字が取得されると、その取得された長いファイル名と所望のファイルのファイル名とを比較することで、所望のファイルを探し出すようになっている。
特開平6−309207号公報
しかしながら、上記従来のファイル管理プログラムにあっては、所望ファイルの検索時のように、長いファイル名の解析が必要なときには、長いファイル名のディレクトリエントリの読み出しと解析とを繰り返すようになっているため、例えば、低消費電力化や小型化といった要求のために、ハードウエア性能に厳しい制約がある組み込み機器に適用した場合、処理に多くの時間が掛かってしまい、処理時間が増大してしまう恐れがあった。
本発明は、上記従来技術の未解決の問題点を解決することを目的とするものであって、長いファイル名の管理情報の解析が必要なソフトウェア(ファームウェア)処理の改善を図ることが可能なファイル管理プログラム、データ構造及びファイル管理装置を提供することを課題とする。
上記課題を解決するために、第1の発明であるファイル管理プログラムは、ロングファイルネームに対応するファイルシステムの長いファイル名と、ショートファイルネームに対応するファイルシステムの短いファイル名とによってファイル或いはディレクトリを管理するファイル管理プログラムであって、前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報の少なくとも一部を前記短いファイル名のディレクトリエントリの空きフィールドに格納する管理情報格納機能をコンピュータに実行させることを特徴とする。
また、第2の発明であるファイル管理プログラムにあっては、ロングファイルネームに対応するファイルシステムの長いファイル名と、ショートファイルネームに対応するファイルシステムの短いファイル名とによってファイル或いはディレクトリを管理するファイル管理プログラムであって、前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報が前記空きフィールドに格納されている場合には、前記空きフィールドを解析することで、前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報を解析する解析機能をコンピュータに実行させることを特徴とする。
さらに、第3の発明であるデータ構造にあっては、ロングファイルネームに対応するファイルシステムの長いファイル名と、ショートファイルネームに対応するファイルシステムの短いファイル名とによってファイル或いはディレクトリを管理するファイル管理プログラムで用いられるデータ構造であって、前記短いファイル名のディレクトリエントリの空きフィールドに、前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報の少なくとも一部を格納することを特徴とする。
また、第4の発明であるファイル管理装置にあっては、ロングファイルネームに対応するファイルシステムの長いファイル名と、ショートファイルネームに対応するファイルシステムの短いファイル名とによってファイル或いはディレクトリを管理するファイル管理装置であって、前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報の少なくとも一部を前記短いファイル名のディレクトリエントリの空きフィールドに格納する管理情報格納手段を備えたことを特徴とする。
さらに、第5の発明であるファイル管理装置にあっては、ロングファイルネームに対応するファイルシステムの長いファイル名と、ショートファイルネームに対応するファイルシステムの短いファイル名とによってファイル或いはディレクトリを管理するファイル管理プログラムであって、前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報が前記空きフィールドに格納されている場合には、前記空きフィールドを解析することで、前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報を解析する解析手段を備えたことを特徴とする。
この第1〜第5の発明によれば、例えば、ファイルの検索処理のように、長いファイル名のファイル管理情報の解析が必要なソフトウェア(ファームウェア)処理が実行される場合に、短いファイル名のディレクトリエントリの空きフィールドに当該処理で必要とされる情報を格納しておくことができる。そのため、長いファイル名のディレクトリエントリを読み出して解析する前に、長いファイル名の管理情報が格納されている短いファイル名のディレクトリエントリの空きフィールドを解析することで、前記長いファイル名の管理情報の解析が必要なソフトウェア(ファームウェア)処理の改善(例えば、検索処理等の高速化)を図ることが可能である。
また、第6の発明であるファイル管理プログラムにあっては、前記ファイル管理情報は、前記長いファイル名の総文字数を示す情報、及び前記ロングファイルネームに対応するファイルシステムにおいて使用可能な残りのファイルパス文字列数のいずれかであることを特徴とする。
この第6の発明によれば、例えば、所望ファイルの検索時に、各ファイルの短いファイル名のディレクトリエントリの空きフィールドを順次解析させることで、当該ファイルの長いファイル名の総文字数が所望ファイルのファイル名の総文字数と一致するか否かを容易に判定させることができる。そのため、それらの総文字数が一致するファイルのディレクトリエントリにのみ長いファイル名を解析する処理(解析処理)を実行するだけでよくなるため、例えば、全てのファイルのディレクトリエントリに対して前記解析処理を行う方法に比べ、前記解析処理の実行回数を少なくすることができ、ファイルの検索に要する処理時間を短くすることができる。
また、例えば、利用者によるファイルパスに関するコマンド指定時に、そのファイルパスが表すファイルの短いファイル名のディレクトリエントリの空きフィールドを解析させることで、自装置で使用可能な残りのファイルパスの文字数の情報を当該空きフィールドから容易に取得させることができる。そのため、その残りのファイルパスの文字数に基づいて内部処理であるエラー判断処理を行うことができ、例えば、長いファイル名のディレクトリエントリの読み出しと解析とを繰り返し、前記長いファイル名に含まれる全文字を解析することで、自装置で使用可能な残りのファイルパスの文字数の情報を取得する方法に比べ、ファームウェア内部のエラー判断処理を、より効率的に実行することができる。
また、第7の発明であるファイル管理プログラムにあっては、前記長いファイル名を所定文字数ずつ格納可能な複数のディレクトリエントリに分割して格納する格納機能をコンピュータにさらに実行させることができ、また、前記管理情報格納機能は、前記長いファイル名の全文字を格納するために必要な前記ディレクトリエントリの個数を示す情報を前記空きフィールドに格納することを特徴とする。
この第7の発明によれば、例えば、所定ファイルの長いファイル名の読み出し時に、前記所定ファイルの短いファイル名のディレクトリエントリの空きフィールドを解析させることで、前記所定ファイルの長いファイル名が格納されているディレクトリエントリの個数の情報を取得させることができる。そのため、それらが格納されているディレクトリエントリを一度に読み出させることができ、例えば、長いファイル名のディレクトリエントリの読み出しと解析とを、当該ディレクトリエントリの個数と同じ回数を繰り返し実行することによって、長いファイル名に含まれる全ての文字を読み出す方法に比べ、長いファイル名の読み出しに要する時間を短くすることができる。
以下、本発明のファイル管理プログラムの実施形態として、画像データを生成可能なCCDカメラ等の撮像ユニットを備えた携帯端末に適用した例を図面に基づいて説明する。
即ち、この携帯端末1にあっては、撮像ユニットで画像データが生成されると、その生成された画像データのファイルに対して、長いファイル名の検索に役立つ情報が予約フィールドに設定され且つその他のフィールドにFATファイルシステムの規格に従ったフィールド値(情報)が設定された短いファイル名のディレクトリエントリと、VFATファイルシステムの規格に従った長いファイル名のディレクトリエントリとを設定してメモリーカードに記録する。そして、この携帯端末1にあっては、そのメモリーカードに記録されたファイルを、VFATファイルシステムや、VFAT機能がない、FAT16ファイルシステム、FAT12ファイルシステムを搭載したパソコン(つまり、FAT32ファイルシステムを搭載していないパソコン)で利用者にそのまま扱わせることができ、また、そのようなファイルに対して自装置による長いファイル名の検索要求があるときに、短いファイル名のディレクトリエントリの空きフィールドを解析することで、任意のファイルをメモリーカードから効率的に検索することができるようにした。
<携帯端末の構成>
図1は、本実施形態の携帯端末の内部構成を示すブロック図である。この図1に示すように、携帯端末1は、撮像ユニット2、文字入力ユニット3、メモリーカードユニット4、表示ユニット5、I/F(InterFace)6、CPU(Central Processing Unit)7、RAM(Random Access Memory)8及びROM(Read Only Memory)9を含んで構成される。そして、携帯端末1は、撮像ユニット2、文字入力ユニット3、メモリーカードユニット4及び表示ユニット5を除く各部が、バス10で互いに接続される。
撮像ユニット2は、背面側の平面視上部に配され、CCDカメラ(不図示)を含んで構成される。そして、撮像ユニット2は、所定の操作がされると、被写体の画像データをCCDカメラ(不図示)で生成し、その画像データをI/F6経由でCPU7に出力する。
また、文字入力ユニット3は、前面側の平面視下部に配され、任意の文字列を入力可能なキーボード(不図示)を含んで構成される。そして、文字入力ユニット3は、そのキーボード(不図示)から入力される文字列の情報をI/F6経由でCPU7に出力する。
さらに、メモリーカードユニット4は、平面視左端部に配され、電力供給を停止してもデータを保持可能な不揮発性のメモリーカード(不図示)を着脱可能に構成される。そして、メモリーカードユニット4は、CPU7からファイル格納指令(後述)が出力されると、CPU7で生成されたファイル(後述)をメモリーカード(不図示)に格納する。
また、メモリーカードユニット4は、CPU7からショートディレクトリエントリ格納指令(後述)が出力されると、後述するようにCPU7で生成された短いファイル名のディレクトリエントリに格納する全ての情報を当該ディレクトリエントリ(メモリーカード(不図示))に格納する。さらに、メモリーカードユニット4は、CPU7からロングディレクトリエントリ格納指令(後述)が出力されると、後述するようにCPU7で生成された長いファイル名のディレクトリエントリに格納する全ての情報を長いファイル名のディレクトリエントリ(メモリーカード(不図示))に格納する。
さらに、メモリーカードユニット4は、CPU7からショートディレクトリエントリ読出指令(後述)が出力されると、そのショートディレクトリエントリ読出指令(後述)で指定されたファイルの短いファイル名のディレクトリエントリを、メモリーカード(不図示)から読み出してI/F6経由でCPU7に出力する。さらに、メモリーカードユニット4は、CPU7からロングディレクトリエントリ読出指令(後述)が出力されると、前記ショートディレクトリエントリ読出指令(後述)によって読み出されたディレクトリエントリに対応する長いファイル名のディレクトリエントリを、一度にVFATフラグA’(後述)個メモリーカード(不図示)から読み出してI/F6経由でCPU7に出力する。
また、メモリーカードユニット4は、CPU7からI/F6経由でファイル読出指令(後述)が出力されると、前記ショートディレクトリエントリ読出指令(後述)によって読み出されたディレクトリエントリに対応するファイルをメモリーカード(不図示)から読み出し、その読み出されたファイルをI/F6経由で表示ユニット5に出力する。
さらに、表示ユニット5は、前面側の平面視中央部に配され、任意の画像を表示可能な表示装置(不図示)を含んで構成される。そして、表示ユニット5は、メモリーカードユニット4からI/F6経由でファイルが出力されると、その出力されたファイルに含まれるデータ(例えば、画像データや文書データ)を表示装置(不図示)に表示させる。
また、I/F6は、携帯端末1が備える各ユニット2〜5間や、各ユニット2〜5とCPU7との間で授受されるデータを受信側2〜5、7が読込可能な形式に変換する。
さらに、CPU7は、ROM9に格納されている基本制御プログラム(OS:Operating System)や、アプリケーションプログラム等の各種プログラムを読み出し、それら読み出された各種プログラムを実行して、携帯端末1が備える各部2〜9を制御する。
また、CPU7は、撮像ユニット2から画像データが出力されると、その出力された画像データのファイルを生成し、また、その生成されたファイル(以下、「新生成ファイル」とも呼ぶ。)のファイルパスとして文字入力ユニット3から文字列の情報が入力されると、その新生成ファイルをメモリカード(不図示)の前記ファイルパスで指定された記録位置のディレクトリエントリに格納させる指令(以下、「ファイル格納指令」とも呼ぶ。)をI/F6経由でメモリーカードユニット4に出力する。また、CPU7は、その格納させる新生成ファイルのファイル名として文字入力ユニット3から文字列の情報が入力されると、ディレクトリエントリ生成処理(後述)を実行する。そして、CPU7は、ディレクトリエントリ生成処理(後述)が実行されると、その入力された文字列の情報に基づいて、長いファイル名の検索に役立つ情報と、VFATファイルシステムの規格やFATファイルシステムの規格に従ったその他の情報とを生成する。また、CPU7は、その生成された前記検索に役立つ情報を新生成ファイルの短いファイル名のディレクトリエントリの予約フィールドに格納させると共に、前記その他の情報を短いファイル名のディレクトリエントリのその他のフィールドや、長いファイル名のディレクトリエントリ(メモリーカード)に格納させる指令(ショートディレクトリエントリ格納指令(後述)、ロングディレクトリエントリ格納指令(後述))をI/F6経由でメモリーカードユニット4に出力してから、このディレクトリエントリ生成処理(後述)を終了する。
具体的には、短いファイル名のディレクトリエントリは、FATファイルシステムの規格に従って、図2(a)に示すように、短いファイル名のフィールド、拡張子フィールド、属性フィールド、予約フィールド(空きフィールド)、更新時刻フィールド、更新日付フィールド、先頭クラスタフィールド、ファイルサイズフィールドを含んで構成する。また、予約フィールドは、図2(b)に示すように、大小文字フラグA(1バイト)、作成時刻B(1バイト)、作成時刻C(2バイト)、作成日付D(2バイト)、ファイルアクセス日付E(2バイト)、先頭クラスタ番号の上位2バイトF(2バイト)で構成する。そして、大小文字フラグAには、長いファイル名を13文字(VFATファイルシステムの規格で長いファイル名の各ディレクトリエントリに格納可能な最大文字列数として採用されている数)で除算したときの商に「1」を加算した結果、つまり、長いファイル名のディレクトリエントリの必要個数(存在個数)を表すVFATフラグA’として、新たに設定する。
さらに、作成時刻Bには、長いファイル名の総文字数の16進数表記を表す、ファイル名総文字数B’として、新たに設定する。
また、作成時刻Cには、VFATファイルシステムの規格で使用可能な残りのファイルパスの文字数の16進数表記を表す、ファイルパス残文字数C’として、新たに設定する。具体的には、新生成ファイルがルートディレクトリに格納された場合には、255(VFATファイルシステムの規格で使用可能な最大のファイルパスの文字数)から、ドライブレター表記の文字数(例えば、「A:¥」の場合「3」)と、ファイル名総文字数B’と、を減じた数値の16進数表記が設定される。また、新生成ファイルがルートディレクトリより下位のディレクトリに格納された場合には、前記格納されたディレクトリのファイルパス残文字数C’の数値からファイル名総文字数Bを減じた数値を設定する。
作成日付D、ファイルアクセス日付E及び先頭クラスタ番号の上位2バイトFは、FATファイルシステムの規格に従って設定する。
また、CPU7は、メモリカード(不図示)に記録されている複数のファイルから所望のファイルを検索するために、その所望のファイルのファイル名として文字入力ユニット3から文字列の情報が入力されるとファイル検索処理(後述)を実行する。そして、CPU7は、ファイル検索処理(後述)が実行されると、ショートディレクトリエントリ読出指令指令(後述)をI/F6経由でメモリーカードユニット4に出力して、当該ファイルの短いファイル名のディレクトリエントリをメモリーカード(不図示)から読み出す。また、CPU7は、その読み出されたディレクトリエントリに記録されている短いファイル名の前記VFATフラグA’や前記ファイル名総文字数B’に基づいて前記入力された文字列と一致する可能性が高いか否かを判定し、一致する可能性が高い場合には、ロングディレクトリエントリ読出指令指令(後述)をメモリーカードユニット4に出力して、前記読み出された長いファイル名のディレクトリエントリに記録されている長いファイル名と拡張子とをメモリーカード(不図示)から一度に読み出す。さらに、CPU7は、その読み出された長いファイル名と拡張子と前記文字列の情報とが完全に一致しているか否かを判定し、完全に一致している場合には、ファイル読出指令(後述)をメモリーカードユニット4に出力して、前記ファイルを表示ユニット5に表示させてから、このファイル検索処理(後述)を終了する。
さらに、RAM8は、CPU7で実行される各種プログラムを展開するためのワークエリアと、それら各種プログラムの実行時に用いられるデータを格納するためのメモリ領域とを形成する。そして、RAM8は、CPU7から読み出し要求が出力されると、RAM3に格納されているデータから当該読み出し要求に応じたデータをCPU7に出力する。
また、ROM9は、CPU7で実行される各種プログラムとデータとを格納する。そして、ROM9は、CPU7から読み出し要求が出力されると、ROM9に格納されているプログラムやデータから当該読み出し要求に応じたプログラム等をCPU7に出力する。
<携帯端末の動作>
次に、CPU7で実行されるディレクトリエントリ生成処理を、図3のフローチャートに従って説明する。このディレクトリエントリ生成処理は、新生成ファイルのファイル名として文字入力ユニット3から文字列の情報が入力されると実行される処理であって、まず、そのステップS101で、その入力された文字列、つまり、ファイル名(以下、「ディレクトリエントリ生成用ファイル名」とも呼ぶ。)の文字数が8文字より多いか、あるいは拡張子の文字数が3文字より多いか否かを判定する。そして、ディレクトリエントリ生成用ファイル名が8文字より多い場合あるいはその拡張子が3文字より多い場合には(Yes)ステップS102に移行し、ディレクトリエントリ生成用ファイル名が8文字以下であり且つその拡張子が3文字以下である場合には(No)ステップS107に移行する。
前記ステップS102では、ディレクトリエントリ生成用ファイル名を長いファイル名に設定するものとし、前述の方法に従って、短いファイル名のディレクトリエントリの予約フィールドのフィールド値(情報)A’〜C’及びD〜Fを生成する。
次にステップS103に移行して、FATファイルシステムの規格に従い、新生成ファイルの短いファイル名のディレクトリエントリに格納するその他のフィールド値(情報(予約フィールドのフィールド値A’〜C’及びD〜Fを除いたフィールド値))を生成する。
次にステップS104に移行して、前記ステップS102で生成された短いファイル名のディレクトリエントリの予約フィールドのフィールド値(情報)A’〜C’及びD〜Fと、前記ステップS103で生成されたその他のフィールド値(情報)とを、つまり、短いファイル名のディレクトリエントリに格納する全ての情報を、新生成ファイルの短いファイル名のディレクトリエントリに格納させる指令(以下、「ショートディレクトリエントリ格納指令」とも呼ぶ。)をI/F6経由でメモリーカードユニット4に出力する。
次にステップS105に移行して、VFATファイルシステムの規格に従い、新生成ファイルの長いファイル名のディレクトリエントリに格納する全ての情報を生成する。なお、長いファイル名としては、ディレクトリエントリ生成用ファイル名の全ての文字列をそのまま格納する。
次にステップS106に移行して、前記ステップS105で生成された情報を、新生成ファイルの長いファイル名のディレクトリエントリに格納させる指令(以下、「ロングディレクトリエントリ格納指令」とも呼ぶ。)をI/F6経由でメモリーカードユニット4に出力してから、この演算処理を終了する。
一方、前記ステップS107では、FATファイルシステムの規格に従い、新生成ファイルの短いファイル名のディレクトリエントリに格納する全ての情報を生成する。
次にステップS108に移行して、前記ステップS107で生成された全ての情報を、新生成ファイルの短いファイル名のディレクトリエントリに格納させるショートディレクトリエントリ格納指令をI/F6経由でメモリーカードユニット4に出力してから、この演算処理を終了する。
次に、CPU7で実行されるファイル検索処理を、図4のフローチャートに従って説明する。このファイル検索処理は、メモリカード(不図示)の任意のディレクトリに記録されている複数のファイルから所望のファイルを検索するために、その所望のファイルのファイル名、すなわち、当該検索の対象となるファイルが格納されているディレクトリのファイルパスとして文字入力ユニット3から文字列の情報が入力されると実行される処理であって、まず、そのステップS201で、利用者によって指定されたファイルパスに対応するディレクトリエントリ群の記録位置の先頭から順番に、短いファイル名のディレクトリエントリを読み出してCPU7に出力させる指令(以下、「ショートディレクトリエントリ読出指令」とも呼ぶ。)をI/F6経由でメモリーカードユニット4に出力する。
次にステップS202に移行して、前記ステップS201で読み出されたディレクトリエントリに含まれている予約フィールドのフィールド値A〜Fが本発明の規則に従って設定されているか否かを判定する。具体的には、前記フィールド値A〜Fが全て本発明の規則による有効範囲内のパラメータ値であるか否かを判定し、全て有効な数値として判定できる場合には(Yes)ステップS203に移行し、一つでも有効でない数値として判定される場合には(No)ステップS207に移行する。
前記ステップS203では、前記ステップS201で読み出されたディレクトリエントリに含まれる予約フィールドのファイル名総文字数B’が、前記利用者によって入力されたファイル名(以下「検索用ファイル名」とも呼ぶ。)の総文字数を16進数表記したものと一致するか否かを判定する。そして、それらが一致する場合には(Yes)ステップS204に移行し、一致しない場合には(No)次の記録位置の(短いファイル名の)ディレクトリエントリを読み出して解析するために、前記ステップS201に移行する。
前記ステップS204では、前記ステップS201で読み出されたディレクトリエントリから予約フィールドのVFATフラグA’を取得し、その取得されたVFATフラグA’個分の長いファイル名のディレクトリエントリをメモリーカード(不図示)から一度に読み出してCPU2に出力させる指令(以下、「ロングディレクトリエントリ読出指令」とも呼ぶ。)をI/F6経由でメモリーカードユニット4に出力する。
次にステップS205に移行して、前記ステップS204で読み出されたディレクトリエントリから長いファイル名と拡張子とを取得する。
次にステップS206に移行して、前記ステップS205で取得された長いファイル名と検索用ファイル名とが一致するか否かを判定する。そして、それらが一致する場合には(Yes)、前記ステップS201で読み出されたディレクトリエントリに対応するファイルをメモリカード(不図示)から読み出して表示ユニット5に出力させる指令(以下、「ファイル読出指令」とも呼ぶ。)をI/F6経由でメモリーカードユニット4に出力してから、この演算処理を終了し、一致しない場合には(No)前記ステップS201に移行し、前記ステップS201からディレクトリエントリの解析処理が繰り返される。
一方、前記ステップS207では、VFATファイルシステムの規格やFATファイルシステムの規格に従って、長いファイル名及び短いファイル名のいずれか一方と検索用ファイル名とが一致するファイルを検索する従来のファイル検索処理を実行し、所望するファイルが検索できた時点で、この演算処理が終了される。
<携帯端末の具体的動作>
次に、本実施形態の携帯端末1の動作を具体的状況に基づいて詳細に説明する。
<ファイルの生成>
まず、利用者が撮像のための所定の操作をし、被写体の画像データが撮像ユニット2のCCDカメラ(不図示)で生成されたとする。すると、図3に示すように、撮像ユニット2によって、その生成された画像データがI/F6経由でCPU7に出力される。そして、CPU7によって、そのCPU7から出力された画像データのファイルが生成される。
次いで、その生成されたファイル(新生成ファイル)のファイル名(ディレクトリエントリ生成用ファイル名)と拡張子との組み合わせとして、利用者が文字入力ユニット3のキーボード(不図示)から文字列 「A:¥ABCDEFGHIJ.BMP」を入力したとする。すると、文字入力ユニット3によって、その入力された文字列の情報がI/F6経由でCPU7に出力される。また、CPU7によって、ファイル格納指令がI/F6経由でメモリーカードユニット4に出力される。これを受けて、メモリーカードユニット4は、前記生成されたファイルを、前記入力されたファイルパス(前記例の場合、「A:¥」)に対応する、データ記憶領域に記録する。また同時に、CPU7によって、ディレクトリエントリ生成処理が実行され、図3に示すように、まず、そのステップS101の判定が「Yes」となり、ステップS102で、その入力されたディレクトリエントリ生成用ファイル名に基づいて、新生成ファイルの短いファイル名のディレクトリエントリの予約フィールドのフィールド値A’〜C’及びD〜Fが生成される。ここで、VFATフラグA’は「1」、ファイル名総文字数B’は「0E(14)」、ファイルパス残文字数C’は「EE(255−3−14=238)」に設定される。さらに、ステップS103で、FATファイルシステムの規格に従い、新生成ファイルの短いファイル名のディレクトリエントリに格納するその他のフィールド値が生成される。また、ステップS104で、ショートディレクトリエントリ格納指令がI/F6経由でメモリーカードユニット4に出力される。そして、メモリーカードユニット4によって、図5に示すように、CPU7で生成された予約フィールドのフィールド値A’〜C’及びD〜Fとその他のフィールド値とが、メモリーカード(不図示)の短いファイル名のディレクトリエントリに格納される。
また、図3に示すように、ステップS105で、VFATファイルシステムの規格に従い、新生成ファイルの長いファイル名のディレクトリエントリに格納する全ての情報が生成され、長いファイル名としてディレクトリエントリ生成用ファイル名の全文字列「ABCDEFGHIJ.BMP」がそのまま設定される。また、ステップS106で、ロングディレクトリエントリ格納指令がI/F6経由でメモリーカードユニット4に出力される。そして、メモリーカードユニット4によって、図5に示すように、CPU7で生成された情報(長いファイル名「ABCDEFGHIJ.BMP」等)が、メモリーカード(不図示)の長いファイル名のディレクトリエントリに格納されてから、この演算処理を終了する。
<ファイルの検索>
また、上記フローが繰り返し実行され、複数のファイルがメモリーカード(不図示)に記録された後に、それら複数のファイルの中から所望のファイルを検索するために、その所望のファイルのファイル名(検索用ファイル名)と拡張子との組み合わせ、すなわち、当該検索の対象となるファイルが格納されているディレクトリのファイルパスとして文字入力ユニット3から文字列の情報を入力したとする。すると、CPU7によって、ファイル検索処理が実行され、図4に示すように、まず、そのステップS201で、ショートディレクトリエントリ読出指令がI/F6経由でメモリーカードユニット4に出力され、メモリーカードユニット4によって、図5に示すように、利用者によって指定されたファイルパスに対応するディレクトリエントリ群の記録位置の先頭にある短いファイル名のディレクトリエントリがメモリカード(不図示)から読み出されてCPU7に出力され、また、図4に示すように、ステップS202の判定が「Yes」となる。また、そのディレクトリエントリに含まれるファイル名総文字数B’が、検索用ファイル名の総文字数を16進数表記したものと一致しなかったとする。すると、ステップS203の判定が「No」となり、前記ステップS201から上記フローが繰り返し実行され、前記先頭にある短いファイル名のディレクトリエントリに続く短いファイル名のディレクトリエントリが順次読み出される。
そして、上記フローが繰り返し実行されるうちに、前記ファイル名総文字数B’が検索用ファイル名の総文字数を16進数表記したものと一致したとする。すると、検索対象ファイル名と長いファイル名とが一致する可能性が高いものと判定し、前記ステップS203の判定が「Yes」となり、ステップS204で、ロングディレクトリエントリ読出指令がI/F6経由でメモリーカードユニット4に出力される。そして、図5に示すように、メモリーカードユニット4によって、前記読み出されたディレクトリエントリの予約フィールドの VFATフラグA’で示される個数分(前記例の場合、1個分)の長いファイル名のディレクトリエントリがメモリーカード(不図示)から一度に読み出されてCPU2に出力される。
また、ステップS205で、その読み出されたディレクトリエントリから長いファイル名と拡張子とが取得され、また、その長いファイル名と検索用ファイル名とが一致したとすると、ステップS206の判定が「Yes」となり、ファイル読出指令がI/F6経由でメモリーカードユニット4に出力された後、この演算処理を終了する。そして、メモリーカードユニット4によって、前記読み出されたディレクトリエントリに対応するファイルがメモリカード(不図示)から読み出されて表示ユニット5に出力され、表示ユニット5によって、その出力されたファイルに含まれる画像データが表示装置(不図示)に表示される。
このように、本実施形態の携帯端末1によれば、長いファイル名の総文字数を示す情報を短いファイル名のディレクトリエントリの予約フィールドの作成時刻Bに格納し、新たにファイル名総文字数B’として設定する様にした。そのため、利用者が所望するファイルの検索時に、短いファイル名のディレクトリエントリの予約フィールドだけを解析させることで、長いファイル名の総文字数が前記所望されたファイルのファイル名の総文字数と一致するか否かを容易に判定させることができる。そのため、それらが一致するファイルのディレクトリエントリにのみ長いファイル名を解析する解析処理を実行するだけでよくなるため、例えば、全てのファイルの全てのディレクトリエントリに対して解析処理を行わせる方法に比べ、解析処理の実行回数を少なくすることができ、その結果、前記所望されたファイルの検索に要する処理時間を短くすることができる。また、前記短いファイル名のディレクトリエントリの予約フィールドを解析させることで、前記短いファイル名のディレクトリエントリに付随する長いファイル名のディレクトリエントリの記録個数を容易に判定することができる。
また、長いファイル名のディレクトリエントリの記録個数を示す情報を短いファイル名のディレクトリエントリの予約フィールドのVFATフラグA’に格納するようにした。そのため、長いファイル名を読み出すときに、短いファイル名のディレクトリエントリの予約フィールドを解析させることで、前記長いファイル名が格納されているディレクトリエントリの個数の情報を取得することができる。そのため、長いファイル名のディレクトリエントリを一度に読み出させることができ、例えば、長いファイル名のディレクトリエントリの読み出しと解析とを繰り返しながら、長いファイル名に含まれる全文字を読み出す方法に比べ、長いファイル名の読み出しに要する時間を短くすることができる。
ちなみに、従来の方法にあっては、図6に示すように、まず、利用者により指定されたファイルパスに対応するディレクトリエントリ群の記録位置の先頭から順番に、短いファイル名のディレクトリエントリを読み出し(S301)、その読み出されたディレクトリエントリから前記長いファイル名等を取得し(S304)、その取得された前記長いファイル名がさらに続くことが判定されると(S305「Yes」)、上記フローをディレクトリエントリの読み出しから繰り返し実行していた(S301〜S305)。そして、上記フローが繰り返し実行されることで、前記長いファイル名の全文字が取得されると(S305「No」)、その長いファイル名と所望のファイルのファイル名とを比較することで(S306)、その所望のファイルを探し出すようになっているため、ハードウエア性能に厳しい制約がある組み込み機器に適用した場合、所望ファイルの検索処理に多くの時間が掛かってしまい、処理に要する時間が増大してしまう。
また、短いファイル名のディレクトリエントリでは予約フィールド以外のフィールドに格納されているフィールド値は、FATファイルシステムの規格に従って設定するようにした。そのため、携帯端末1で生成されたファイルは、VFATファイルシステムやVFAT機能がない、FAT16ファイルシステム、FAT12ファイルシステムを搭載したパソコンでも適切に認識させることができ、その結果、それらのパソコンでファイルをそのまま扱わせることができる。なお、VFATファイルシステム等を搭載したパソコンでファイル操作が行われたことで、予約フィールドのフィールド値A’〜C’がVFATファイルシステムの規定にA〜Cとして帰属したディレクトリエントリについては、再度携帯端末1によって、フィールド値A’〜C’の再記録等の処理を行うようにしてもよい。
以上、上記実施形態では、図3のステップS102及びS104が特許請求の範囲に記載の管理情報格納機能を構成し、以下同様に、図3のステップS106が格納機能を構成し、図4のステップS202及びS203が解析機能を構成し、図1のCPU7、図3のステップS102及びS104が管理情報格納手段を構成し、図1のCPU7、図4のステップS202及びS203が解析機能を構成する。
なお、本発明のファイル管理プログラム、データ構造及びファイル管理装置は、上記実施の形態の内容に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
上記実施形態では、長いファイル名の全文字を格納するために必要なディレクトリエントリの個数を示すVFATフラグA’と、長いファイル名の総文字数を示すファイル名総文字数B’と、VFATファイルシステムの規格で使用可能な残りのファイルパスの文字数の16進数表記を示すファイルパス残文字数C’と、を短いファイル名のディレクトリエントリの予約フィールド(空きフィールド)に格納させる例を示したが、これに限られるものではない。例えば、ファイル管理プログラムを実現する組み込み機器に用いられるファームウェアの内部処理や、実装コードに少しでも有益となるようなその他の情報を格納させるようにしてもよい。
また、短いファイル名のディレクトリエントリの予約フィールドのうち、大小文字フラグA、作成時刻B、作成時刻Cにのみ情報を格納させる例を示したが、これに限られるものではない。その他の領域、つまり、作成日付D、ファイルアクセス日付E、先頭クラスタ番号の上位2バイトFの領域に対しても、VFATファイルシステムを搭載したパソコンとの互換性を維持できる範囲内で、種々の情報を格納させるようにしてもよい。
さらに、所望ファイルを検索するときに、VFATフラグA’とファイル名総文字数B’とを用いる例を示したが、これに限られるものではない。例えば、利用者によってファイルパスに関するコマンドが指定されたときに、前記ファイルパスに対応するファイルの短いファイル名の予約フィールドを解析させることで、自装置で使用可能な残りのファイルパスの文字数の情報を取得させることができる。そのため、その残りのファイルパスの文字数に基づいて内部処理のエラー判断処理を行うことができ、例えば、長いファイル名のディレクトリエントリの読み出しと解析とを繰り返し、長いファイル名に含まれる全文字を解析することで、自装置で使用可能な残りのファイルパスの文字数の情報を取得する方法に比べ、ファイルパスに関するコマンド指定に要する時間を短くすることができる。
実施形態における携帯端末の内部構成を示すブロック図である。 予約フィールドを説明するための説明図である。 ディレクトリエントリ生成処理のフローチャートである。 ファイル検索処理のフローチャートである。 携帯端末の動作を説明するための説明図である。 従来のファイル検索処理のフローチャートである。
符号の説明
1は携帯端末、2は撮像ユニット、3は文字入力ユニット、4はメモリーカードユニット、5は表示ユニット、6はI/F、7はCPU、8はRAM、9はROM、10はバス

Claims (7)

  1. ロングファイルネームに対応するファイルシステムの長いファイル名と、ショートファイルネームに対応するファイルシステムの短いファイル名とによってファイル或いはディレクトリを管理するファイル管理プログラムであって、
    前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報の少なくとも一部を前記短いファイル名のディレクトリエントリの空きフィールドに格納する管理情報格納機能をコンピュータに実行させることを特徴とするファイル管理プログラム。
  2. 前記ファイル管理情報は、前記長いファイル名の総文字数を示す情報、及び前記ロングファイルネームに対応するファイルシステムにおいて使用可能な残りのファイルパス文字列数のいずれかであることを特徴とする請求項1に記載のファイル管理プログラム。
  3. 前記長いファイル名を所定文字数ずつ格納可能な複数のディレクトリエントリに分割して格納する格納機能をコンピュータにさらに実行させることができ、また、前記管理情報格納機能は、前記長いファイル名の全文字を格納するために必要な前記ディレクトリエントリの個数を示す情報を前記空きフィールドに格納することを特徴とする請求項1又は2に記載のファイル管理プログラム。
  4. ロングファイルネームに対応するファイルシステムの長いファイル名と、ショートファイルネームに対応するファイルシステムの短いファイル名とによってファイル或いはディレクトリを管理するファイル管理プログラムであって、
    前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報が前記空きフィールドに格納されている場合には、前記空きフィールドを解析することで、前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報を解析する解析機能をコンピュータに実行させることを特徴とするファイル管理プログラム。
  5. ロングファイルネームに対応するファイルシステムの長いファイル名と、ショートファイルネームに対応するファイルシステムの短いファイル名とによってファイル或いはディレクトリを管理するファイル管理プログラムで用いられるデータ構造であって、
    前記短いファイル名のディレクトリエントリの空きフィールドに、前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報の少なくとも一部を格納することを特徴とするデータ構造。
  6. ロングファイルネームに対応するファイルシステムの長いファイル名と、ショートファイルネームに対応するファイルシステムの短いファイル名とによってファイル或いはディレクトリを管理するファイル管理装置であって、
    前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報の少なくとも一部を前記短いファイル名のディレクトリエントリの空きフィールドに格納する管理情報格納手段を備えたことを特徴とするファイル管理装置。
  7. ロングファイルネームに対応するファイルシステムの長いファイル名と、ショートファイルネームに対応するファイルシステムの短いファイル名とによってファイル或いはディレクトリを管理するファイル管理装置であって、
    前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報が前記空きフィールドに格納されている場合には、前記空きフィールドを解析することで、前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報を解析する解析手段を備えたことを特徴とするファイル管理装置。
JP2004274616A 2004-09-22 2004-09-22 ファイル管理プログラム、データ構造及びファイル管理装置 Withdrawn JP2006092088A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004274616A JP2006092088A (ja) 2004-09-22 2004-09-22 ファイル管理プログラム、データ構造及びファイル管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004274616A JP2006092088A (ja) 2004-09-22 2004-09-22 ファイル管理プログラム、データ構造及びファイル管理装置

Publications (1)

Publication Number Publication Date
JP2006092088A true JP2006092088A (ja) 2006-04-06

Family

ID=36233017

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004274616A Withdrawn JP2006092088A (ja) 2004-09-22 2004-09-22 ファイル管理プログラム、データ構造及びファイル管理装置

Country Status (1)

Country Link
JP (1) JP2006092088A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008053969A (ja) * 2006-08-23 2008-03-06 Canon Inc 情報表示装置及びその方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008053969A (ja) * 2006-08-23 2008-03-06 Canon Inc 情報表示装置及びその方法

Similar Documents

Publication Publication Date Title
JP4239940B2 (ja) ファイル管理プログラム、及びファイル管理装置
US8150809B2 (en) File delete method, file open method, storage medium storing file delete program, and storage medium storing file open program
WO2020015190A1 (zh) 业务规则的生成方法、电子装置及可读存储介质
JP2000305839A (ja) 記憶装置、記憶システム、メモリ管理方法及び記録媒体
JP2014149564A (ja) 情報処理装置、情報処理方法及びプログラム
CN112464625B (zh) 单据生成方法、装置、计算机设备和存储介质
US9805043B2 (en) Information processing device, program, and recording medium
JPWO2020008991A1 (ja) 検証自動化装置、検証自動化方法、およびプログラム
JPWO2007026484A1 (ja) 情報処理システム、情報処理方法、実行バイナリイメージ作成装置、実行バイナリイメージ作成方法、実行バイナリイメージ作成プログラム、実行バイナリイメージ作成プログラムを記録したコンピュータ読み取り可能な記録媒体、実行バイナリイメージ実行装置、実行バイナリイメージ実行方法、実行バイナリイメージ実行プログラム及び実行バイナリイメージ実行プログラムを記録したコンピュータ読み取り可能な記録媒体
JPWO2007026484A6 (ja) 実行バイナリイメージの作成及び実行を行う装置、方法、プログラム、該プログラムを記録したコンピュータ読み取り可能な記録媒体
JP5217155B2 (ja) ファイル圧縮自動判定方式および方法、並びに、プログラム
JPWO2012017529A1 (ja) データベース管理方法、データベース管理装置及びデータベース管理プログラム
WO2022223038A1 (zh) 一种键名称生成方法、装置和计算机可读存储介质
JP2006092088A (ja) ファイル管理プログラム、データ構造及びファイル管理装置
CN109800273A (zh) 一种数据处理的方法、装置、计算机存储介质及终端
JP2006309536A (ja) ファイル管理プログラム、及びファイル管理装置
JP7105718B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2009157441A (ja) 情報処理装置、ファイル再配置方法およびプログラム
JP4373029B2 (ja) 文書管理装置及び文書管理方法並びに記録媒体
JP2006309400A (ja) ファイル管理プログラム、及びファイル管理装置
JP6688433B2 (ja) 計算機システム
JP2006127444A (ja) ファイル管理プログラム、データ構造及びファイル管理装置
JP5629438B2 (ja) ファイル管理装置及びその制御方法
JP7105717B2 (ja) 情報処理装置、抽出方法、およびプログラム
JP2006092248A (ja) ファイル管理プログラム、データ構造及びファイル管理装置

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070403

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070919

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090609