(57)【要約】【目的】エイリアス名を短時間で決定できる「ファイル管理システム」を提供することである。【構成】ロングファイル名の先頭ｍ（１≦ｍ≦６）文字と数値テール（８−ｍ）文字により、既存のエイリアス名と重複しないようにエイリアス名を決定する場合、検索部は、ロングファイル名の先頭６文字を有する既存のエイリアス名を検索し、検索された既存のエイリアス名のうち最大数値テールが９であれば、ロングファイル名の先頭５文字を有する既存のエイリアス名を検索し、検索された既存のエイリアス名のうち最大数値テールが９９であれば、ロングファイル名の先頭４文字を有する既存のエイリアス名を検索し、以後、同様に検索し、最大数値テールがオール９でないエイリアス名が検索されたとき、ファイル管理部はオール９でない該最大数値テールに１を加算した数値テールを含むようにエイリアス名を決定する。【選択図】図１
2011048705.tif 000002
【特許請求の範囲】
【請求項１】
ファイルのロングファイル名より該ファイルのエイリアス名を自動決定するファイル管理システムにおいて、
既存のファイルを記憶するファイル記憶部、
新規ファイルのロングファイル名の先頭ｍ（１≦ｍ≦６）文字と数値テール（８−ｍ）文字とにより、既存エイリアス名と重複しないように新規ファイルのエイリアス名を決定する場合、前記数値テールが最大の既存エイリアス名を検索する検索部、
該最大数値テールに１を加算した数値テールを含むようにエイリアス名を決定し、前記ロングファイル名と決定したエイリアス名を含むディレクトリーエントリーを作成し、ファイル記憶部のディレクトリーエントリー領域に記憶すると共に、新規ファイルのデータをファイル記憶部のデータ領域に記憶するファイル管理部、
を備え、前記検索部は、ロングファイル名の先頭６文字を有する既存のエイリアス名を検索し、検索された既存のエイリアス名のうち最大数値テールが９であれば、ロングファイル名の先頭５文字を有する既存のエイリアス名を検索し、検索された既存のエイリアス名のうち最大数値テールが９９であれば、ロングファイル名の先頭４文字を有する既存のエイリアス名を検索し、検索された既存のエイリアス名のうち最大数値テールが９９９であれば、ロングファイル名の先頭３文字を有する既存のエイリアス名を検索し、以後、同様に検索し、最大数値テールがオール９でないエイリアス名が検索されたとき、前記ファイル管理部はオール９でない該最大数値テールに１を加算した数値テールを含むようにエイリアス名を決定する、
ことを特徴とするファイル管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はファイル管理システムに係り、特に、ファイルのロングファイル名より該ファイルのエイリアス名を自動的に決定するファイル管理システムに関する。
【背景技術】
【０００２】
MS-DOSやWindows 3.1（ Windows は登録商標 ）などのFATファイル管理システムでは、ファイル名にABCDEFGH.TXTのように、ピリオド（．）の前が８文字以内、後が３文字以内の、いわゆる8.3形式で命名する必要があった。これに対して、Windows 95以降のWindowsシリーズのVFATやNTFSファイル管理システムでは、8.3形式の文字数に限定されない長いファイル名(ロングファイル名)を付与することが可能となった。しかし、FATファイル管理システムとの互換性を維持するために、ファイルにロングファイル名と共に8.3形式に短縮したファイル名(エイリアス名)を別名として付与する必要がある。
【０００３】
エイリアス名は、ロングファイル名の先頭６文字に数値テール(〜１)の２文字つけて生成される。例えば、ロングファイル名が
N15a1ce6b4cea63567cfc1f131d2d0000000.poix
であれば、エイリアス名は
N15a1c〜1
となる（なお、〜は全角表示されているが実際は半角である。以下同じ)。エイリアス名は重複しないように付与する必要があり、既に重複するエイリアス名が存在する場合には、数値テールを1ずつ加算して重複しない名前を生成する必要がある。〜９に達してもまだ重複するエイリアス名が存在する場合には、数値テールは〜１０のように３文字になり、ロングファイル名の先頭５文字に該３文字の数値テール(〜１０)をつけて生成される。上記の例では、エイリアス名は
N15a1〜10
となる。〜９９に達してもまだ重複するエイリアス名が存在する場合には、数値テールは〜１００のように４文字になり、ロングファイル名の先頭４文字に該４文字の数値テール(〜１００)をつけて生成される。上記の例では、エイリアス名は
N15a〜100
となる。以後、同様であり、重複するエイリアス名がなくなるまで、最終的にはロングファイル名の先頭１文字に７文字の数値テール(〜１０００００)をつけて生成される。
エイリアス名は上記のルールにしたがって生成する必要がある。図８は従来のエイリアス名を決定する処理の説明図であり、ロングファイル名は(A)に示すように
N15a1ce6b4cea63567cfc1f131d2d0000000.poix
であるとしている。エイリアス名の候補は(B)に示すように
N15a1c〜1, N15a1c〜2,・・・・，N〜999999
の999,999個存在する。そこで、従来は、第1候補N15a1c〜1が既存エイリアス名と重複しているか調べ、重複していれば、第2候補N15a1c~2が既存エイリアス名と重複しているか調べ、以下、同様に重複しなくなるまで処理を繰り返す。そして、重複しなくなれば、該候補を正式にファイルのエイリアス名として決定する。図９は従来のエイリアス名決定処理フローであり、数値テールの数値が昇順となるように順番に候補エイリアス名を仮決めし(ステップ１０１)、該候補エイリアス名と重複するエイリアス名が存在するか全ディレクトリーエントリーを検索して調べ(ステップ１０２，１０３)、重複するエイリアス名が存在すれば、次の候補エイリアス名についてステップ１０１以降の処理を繰り返し、ステップ１０３において重複するエイリアス名が存在しなければ、該候補エイリアス名を正式にファイルのエイリアス名として決定して処理を終了する(ステップ１０４)。
【０００４】
しかし、従来のエイリアス名決定処理では、候補エイリアス名毎に重複するか既存の全ファイルのエイリアス名と照合する必要があり、ファイル数が多くなるほど処理時間が増大する。例えば、ナビゲーション装置に地点を登録しておき、該登録された地点を目的地、通過点を設定する際に利用する機能があり、地点毎に地点名称等が１つのファイルとしてSDメモリに保存される。この際、ファイルのロングファイル名は地点の経緯度を用いて自動的に生成され、また、上記処理にしたがってエイリアス名が自動決定されている。このSDメモリへの地点名称の保存に要する時間は、
１００件のファイルが収められたSDメモリの場合、約600ms、
２００件のファイルが収められたSDメモリの場合、約2.2秒、
３００件のファイルが収められたSDメモリの場合、約5秒、
４００件のファイルが収められたSDメモリの場合、約9秒、
であり、ファイル数の増加に伴い指数関数的に増大している。
【０００５】
従来技術として、ファイルを作成する毎に、ファイル名として最新に使用した番号を特定のファイル番号管理ファイルに記述しておき、新規ファイルを作成する際、ファイル番号管理ファイルに記述されている番号に1を加えた番号をファイル名として採用するものがある(特許文献１)。しかし、この従来技術は、番号だけでファイル名が構成されている場合に有用であって、エイリアス名のように先頭所定数の文字と数値テールでファイル名が構成されている場合には採用できない。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−１３９６７６号公報(段落０００９)
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以上から、本発明の目的は、エイリアス名決定処理に要する時間を短縮することである。
本発明の別の目的は、ファイル作成処理に要する時間を短縮することである。
【課題を解決するための手段】
【０００８】
本発明は、ファイルのロングファイル名より該ファイルのエイリアス名を自動決定するファイル管理システムである。このファイル管理システムは、(1) 既存のファイルを記憶するファイル記憶部、(2) 新規ファイルのロングファイル名の先頭ｍ（1≦m≦6）文字と数値テール(8−m）文字とにより、既存エイリアス名と重複しないように新規ファイルのエイリアス名を決定する場合、前記数値テールが最大の既存エイリアス名を検索する検索部、(3) 該最大数値テールに１を加算した数値テールを含むようにエイリアス名を決定し、前記ロングファイル名と決定したエイリアス名を含むディレクトリーエントリーを作成し、ファイル記憶部のディレクトリーエントリー領域に記憶すると共に、新規ファイルのデータをファイル記憶部のデータ領域に記憶するファイル管理部を備えている。
前記検索に際して、検索部は、ロングファイル名の先頭6文字を有する既存のエイリアス名を検索し、検索された既存のエイリアス名のうち最大数値テールが9であれば、ロングファイル名の先頭5文字を有する既存のエイリアス名を検索し、検索された既存のエイリアス名のうち最大数値テールが99であれば、ロングファイル名の先頭4文字を有する既存のエイリアス名を検索し、検索された既存のエイリアス名のうち最大数値テールが999であれば、ロングファイル名の先頭３文字を有する既存のエイリアス名を検索し、以後、同様に検索し、最大数値テールがオール9でないエイリアス名が検索されたとき、前記ファイル管理部はオール9でない該最大数値テールに１を加算した数値テールを含むようにエイリアス名を決定する。
【発明の効果】
【０００９】
本発明によれば、ロングファイル名の先頭6文字を有する既存のエイリアス名を検索し、検索された既存のエイリアス名のうち最大数値テールが9であれば、ロングファイル名の先頭5文字を有する既存のエイリアス名を検索し、検索された既存のエイリアス名のうち最大数値テールが99であれば、ロングファイル名の先頭4文字を有する既存のエイリアス名を検索し、検索された既存のエイリアス名のうち最大数値テールが999であれば、ロングファイル名の先頭3文字を有する既存のエイリアス名を検索し、以後、同様に検索し、最大数値テールがオール9でないエイリアス名が検索されたとき、前記ファイル管理部はオール9でない該最大数値テールに１を加算した数値テールを含むようにエイリアス名を決定するようにしたから、検索ファイル名は最大6個でよく、従来のように最大999,999個でなくなり検索時間を大幅に短縮できる。
例えば、最大数値テールが124の場合、従来は125個の候補エイリアス名について一致する既存エイリアス名が存在するか調べる必要があった。しかし、本願発明によれば、まず、ロングファイル名の先頭6文字を有する既存のエイリアス名を検索する。最大数値テールは124であるから、検索された既存のエイリアス名のうち最大数値テールは9である。そこで、次に、ロングファイル名の先頭5文字を有する既存のエイリアス名を検索する。最大数値テールは124であるから、検索された既存のエイリアス名のうち最大数値テールは99である。最後に、ロングファイル名の先頭4文字を有する既存のエイリアス名を検索すれば、検索された既存のエイリアス名のうち最大数値テールは124となり、ロングファイル名の先頭4文字と数値テール125によりエイリアス名を決定でき、従来に比べて検索時間を大幅に短縮することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明のFATファイルシステムの構成図である。
【図２】ファイル名”FILE・・・・”のファイル格納場所を示すディレクトリーエントリーとFATエントリー部の説明図である。
【図３】本発明のファイル作成処理フローである。
【図４】本発明のエイリアス名決定処理の説明図である。
【図５】本発明のエイリアス名決定処理フローである。
【図６】ナビゲーション装置の構成図である。
【図７】ナビゲーション装置において登録地点ファイルをSDメモリに格納する場合の処理フローである。
【図８】従来のエイリアス名を決定する処理の説明図である。
【図９】従来のエイリアス名決定処理フローである。
【発明を実施するための形態】
【００１１】
(A) FATファイルシステム
図１は本発明のFATファイルシステムの構成図であり、データを入力するデータ入力部1、入力されたデータのファイルを作成して管理するファイル管理部2、作成されたファイルを記憶するハードディスク等のファイル記憶部3、所定のファイルを用いて処理を行う処理部4で構成されている。ファイル管理部2は、最大数値テールを有する既存のエイリアス名を検索する検索手段2a、新規ファイルのエイリアス名を決定してファイル記憶部3に記憶するファイル管理手段2bを備えている。
ファイル記憶部3は、区画化が可能であり、区画毎にファイル管理情報を記憶するファイル管理領域3aとファイルを格納するファイル領域3bが設けられている。ファイル管理領域３aには、BPB (BIOS Parameter Block)領域 3a-1、二重化された第１、第２のファイルアロケーションテーブル（FAT,FAT1）を記憶するFAT領域3a-2、3a-3、各ファイルの先頭クラスタ番号を指示するディレクトリーエントリー(目次情報)を記憶するディレクトリーエントリー領域3a-4が設けられている。
【００１２】
BPB 3a-1はデイスクのボリュ−ム構造パラメータを記述するもので、区画サイズ（セクタ数）、FATの個数（＝２）、FAT開始セクタ、FATサイズ(1FAT当りのセクタ数）、ルートディレクトリーの開始セクタ、ルートディレクトリーのエントリー数、１クラスタ当りのセクタ数等を記述する。各FAT 3a-2,3a-3はフォーマット識別子(Format Identifier）とFATエントリー部（FAT entries)で構成され、FATエントリー部は、区画のクラスタ数に等しい数のFATエントリーを有し、それぞれ0000，0002〜MAX，FFF7，FFFFの値を取るようになっている。0000はクラスタが未使用であることを意味し、0002〜MAXはクラスタが使用中であることを意味し、その値によりファイルの次の格納場所が指示される。また、FFF7はクラスタを構成するセクタに欠陥があることを意味し、FFFFはファイルの終わりを意味する。
【００１３】
ディレクトリーエントリー領域3a-4に記憶される各ディレクトリーエントリーは、図示するようにロングファイル名5a、エイリアス名5b、属性(アトリビュート)5c、ファイルの先頭クラスタ番号5d、ファイルサイズ5e、ファイル書き込み日時5f等の情報で構成されている。図２はファイル名”FILE・・・・”のファイル格納場所を示すディレクトリーエントリーとFATエントリーの説明図であり、ファイルはクラスタ番号0004H→0005H→0006H→000AHに格納されているものとしている。ファイルの先頭クラスタ番号”0004”がファイル名”FILE・・・・”に対応させてディレクトリーエントリーに記憶されている。クラスタ番号0004のFATエントリーにはファイルの次の格納場所を示すクラスタ番号”0005”が格納され、クラスタ番号0005のFATエントリーにはファイルの次の格納場所を示すクラスタ番号”0006”が格納され、クラスタ番号0006のFATエントリーにはファイルの最後の格納場所を示すクラスタ番号”000A”が格納され、クラスタ番号000AのFATエントリー部にはファイルの終わりを示す”FFFF”が格納されている。
【００１４】
(B) ファイル作成処理
図３は本発明のファイル作成処理フローである。
ファイルのデータが入力され(ステップ２０１)、ついで、ファイル名が決定されると(ステップ２０２)、ファイル管理部２はファイル名がロングファイル名であるかチェックする(ステップ２０３）。ロングファイル名でなく、8.3形式のショートファイル名であれば、ディレクトリーエントリー(エイリアス名を含まない)を作成し(ステップ２０４)、ファイルをファイル記憶部3のデータ領域3bに格納すると共に、該ファイルのディレクトリーエントリーをディレクトリーエントリー領域3a-4に格納する(ステップ２０７)。
一方、ステップ２０３において、ファイル名がロングファイル名であれば、ファイル管理部２は後述するエイリアス名決定処理によりエイリアス名を決定する(ステップ２０５)。ついで、ディレクトリーエントリー(エイリアス名を含む)を作成し(ステップ２０６)、ファイルをファイル記憶部3のデータ領域3bに格納すると共に、該ファイルのディレクトリーエントリーをディレクトリーエントリー領域3a-4に格納する(ステップ２０７)。
【００１５】
（C）エイリアス名決定処理
エイリアス名は、背景技術の欄で説明したように、以下のルールを満たすように決定されている。すなわち、
エイリアス名は、ロングファイル名の先頭６文字に数値テール(〜１)の２文字つけて生成され、既存のエイリアス名と重複しないように付与され、重複するエイリアス名が存在する場合には、数値テールを1ずつ加算して重複しない名前が付与される。〜９に達してもまだ重複するエイリアス名が存在する場合には、数値テールは〜１０のように３文字になり、ロングファイル名の先頭５文字に該３文字の数値テール(〜１０)をつけて生成される。〜９９に達してもまだ重複するエイリアス名が存在する場合には、数値テールは〜１００のように４文字になり、ロングファイル名の先頭４文字に該４文字の数値テール(〜１００)をつけて生成される。以後、同様であり、重複するエイリアス名がなくなるまで、最終的にはロングファイル名の先頭１文字に７文字の数値テール(〜１０００００)をつけて生成される。
【００１６】
上記ルールに従って、既存エイリアス名が決定されているものとすると、数値テールは昇順で、かつ連番となる。したがって、ファイルのエイリアス名は、数値テールが最大の既存のエイリアス名を検索し、該最大数値テールに１を加算した数値テールを含むように決定すればよい。より正確に言えば、新規ファイルのエイリアス名を決定するには、ロングファイル名の先頭ｍ（１≦ｍ≦６）文字と数値テール（８−ｍ）文字よりなる既存のエイリアス名のうち、数値テールが最大の既存エイリアス名を検索し、該最大数値テールに１を加算した数値テールを含むように決定すればよい。
【００１７】
図４は本発明のエイリアス名決定処理の説明図であり、ロングファイル名は(A)に示すように、
N15a1ce6b4cea63567cfc1f131d2d0000000.poix
であるとし、最大数値テールは124であるとしている。
まず、(B）に示すように、ロングファイル名の先頭6文字“N15a1c”を検索ファイル名とし、該6文字の検索ファイル名を有する既存のエイリアス名をディレクトリーエントリー領域に記録されている全ディレクトリーエントリーを対象に検索する。最大数値テールは124であるから、検索された既存のエイリアス名のうち最大数値テールは9である。
そこで、ロングファイル名の先頭5文字“N15a1” を検索ファイル名とし、該5文字の検索ファイル名を有する既存のエイリアス名をディレクトリーエントリー領域に記録されている全ディレクトリーエントリーを対象に検索する。最大数値テールは124であるから、検索された既存のエイリアス名のうち最大数値テールは99である。
【００１８】
ついで、ロングファイル名の先頭4文字“N15a”を検索ファイル名とし、該4文字の検索ファイル名を有する既存のエイリアス名をディレクトリーエントリー領域に記録されている全ディレクトリーエントリーを対象に検索すれば、検索された既存のエイリアス名のうち最大数値テールは124となる。
この最大数値テール124はオール9(＝999)でないから、124が既存のエイリアス名の最大数値と判明する。したがって、(C）に示すように最大数値テール(〜124)に１を加算した数値テール(〜125)を含むようにエイリアス名を決定すればよい。すなわち、
N15a〜125.txt
が新規ファイルのエイリアス名として決定でききる。
【００１９】
以上をまとめると、本発明は、以下のようにエイリアス名を決定する。
まず、(1)ロングファイル名の先頭6文字を検索ファイル名とし、該6文字の検索ファイル名を有する既存のエイリアス名をディレクトリーエントリー領域に記録されている全ディレクトリーエントリーを対象に検索し、(2) 検索された既存のエイリアス名のうち最大数値テールが9であれば、ロングファイル名の先頭5文字を有する既存のエイリアス名を検索し、検索された既存のエイリアス名のうち最大数値テールが99であれば、(3) ロングファイル名の先頭4文字を有する既存のエイリアス名を検索し、検索された既存のエイリアス名のうち最大数値テールが999であれば、(4) ロングファイル名の先頭3文字を有する既存のエイリアス名を検索し、以後、同様に検索し、(5) 最大数値テールがオール9でないエイリアス名が検索されたとき、オール9でない該最大数値テールに１を加算した数値テールを含むようにエイリアス名を決定する。
【００２０】
図５は本発明のエイリアス名決定処理フローである。
まず、ファイル管理部の検索手段2aは、i＝１とし(ステップ３０１)、数値テールの文字数をi+1とする(ステップ３０２)。ついで、ロングファイル名の先頭の[8−(i＋1)]文字を検索ファイル名として決定し(ステップ３０３)、最大数値テールMAXを０とする(ステップ３０４)。
かかる状態で、ディレクトリーエントリー領域から既存のエイリアス名を取得し(ステップ３０５)、該既存のエイリアス名の先頭が検索ファイル名と一致するかチェックし(ステップ３０６)、一致すれば、数値テールはオール9よりなる数値(9, 99, 999, 9999…)であるかチェックする(ステップ３０７)。数値テールがオール9よりなる数値(9, 99, 999, 9999…)でなければ、数値テールがMAXより大きいかチェックし(ステップ３０８)、大きければ該数値テールをMAXとする(ステップ３０９)。なお、数値テール≦MAXであればMAXの更新は行なわない。
【００２１】
しかる後、全ての既存エイリアス名について上記処理が終了したか調べ(ステップ３１０)、処理が終了してなければ次の既存のエイリアス名をディレクトリーエントリー領域から取得し(ステップ３０５)、以降の処理を繰り返す。
なお、ステップ３０６において、既存のエイリアス名の先頭が検索ファイル名と一致しない場合には、ステップ３１０において全ての既存エイリアス名について上記処理が終了したか調べ、処理が終了してなければステップ３０５において次の既存のエイリアス名をディレクトリーエントリー領域から取得し、以降の処理を繰り返す。
ステップ３０７において、数値テールがオール9よりなる数値(9, 99, 999, 9999…)であれば、最大数値テールの数値はi桁でないから、iを歩進し（i+1=i、ステップ３１１）、ステップ３０２に戻り、検索ファイル名の文字数を１つ少なくして（数値テールの文字数を１個多くして）、以降の処理を繰り返す。
以上の処理により、最終的に、数値テールがオール9の数値になることなく、全ての既存エイリアス名について処理が終了すれば、そのときのMAXが既存のエイリアス名の最大数値と判明する。
したがって、ファイル管理手段２bは、該最大数値テールに１を加算した数値テールを含むようにエイリアス名を決定する(ステップ３１２)。すなわち、ステップ３１０がYESとなったときの[8−（i＋1）]個の文字よりなる検索ファイル名と最大数値テールに１を加算した数値テールによりエイリアス名を決定する。以後、ファイル管理手段2bは、図３のステップ２０６、２０７の処理を行ってファイルをファイル記憶部３に格納する。
【００２２】
図６はナビゲーション装置の構成図、図７はナビゲーション装置において登録地点ファイルをSDメモリに格納する場合の処理フローである。
図６において１１は処理プロセッサを内蔵するナビゲーション制御装置、１２は地図データ記憶部、１３は車両位置を計算する車両位置計算部、１４は操作部、１５はモニター、１６はタッチパネル、１７は登録地点ファイルを保存する記録媒体でSDメモリである。
操作部１４あるいはタッチパネル１６より地点登録操作があると(ステップ４０１)、ナビゲーション装置１１は登録地点の名称を地図データより取得すると共に(ステップ４０２)、車両位置(経緯度)を用いてロングファイル名、例えば
N15a1ce6b4cea63567cfc1f131d2d0000000.poix
を決定する(ステップ４０３)。ついで、図５のエイリアス名決定処理によりエイリアス名を決定し(ステップ４０５)、該エイリアス名を含むディレクトリーエントリーを作成し(ステップ４０６)、最後に、地点名称をSDメモリ１７のデータ領域に格納すると共に、ディレクトリーエントリーをディレクトリーエントリー領域に格納する(ステップ４０７)。
【符号の説明】
【００２３】
１  データ入力部
２  ファイル管理部、
２a  検索手段
２b  ファイル管理手段
３  ファイル記憶部
３a  ファイル管理領域
３a-4  ディレクトリーエントリー
３b  ファイル領域
４  処理部
【図１】
2011048705.tif 000003
【図２】
2011048705.tif 000004
【図３】
2011048705.tif 000005
【図４】
2011048705.tif 000006
【図５】
2011048705.tif 000007
【図６】
2011048705.tif 000008
【図７】
2011048705.tif 000009
【図８】
2011048705.tif 000010
【図９】
2011048705.tif 000011