

















本発明は、記憶手段に対するデータの記憶位置を制御するデータ配置装置であって、特に、あるデータによって用いられる複数のデータを近接した記憶位置に記憶するものに関する。 The present invention relates to a data placement device that controls a storage position of data with respect to a storage means, and more particularly to a device that stores a plurality of data used by certain data in close storage positions.
従来のデータ配置装置であるデフラグ装置について説明する。一般的に、あるデータを記録媒体、例えばハードディスクに記憶する際には、当該ハードディスク上の連続した領域に記録される。しかし、データの書き換え、削除、移動、コピー等の操作を繰り返し行うことによって、1つのデータがハードディスク上で離散した複数の領域に記憶される断片化という現象がハードディスクに生ずる。断片化が生じたハードディスクに対してデータの読み込みを行う場合、ハードディスク上の離散して位置する複数の領域に対してアクセスする必要が生ずる。このため、断片化が生じたハードディスクにおいてはデータへのアクセス速度が低下する。 A defragmenter that is a conventional data arrangement device will be described. Generally, when certain data is stored in a recording medium such as a hard disk, it is recorded in a continuous area on the hard disk. However, by repeatedly performing operations such as rewriting, deleting, moving, and copying data, a phenomenon called fragmentation in which one piece of data is stored in a plurality of discrete areas on the hard disk occurs. When data is read from a hard disk that has been fragmented, it is necessary to access a plurality of discretely located areas on the hard disk. For this reason, the data access speed decreases in the hard disk where fragmentation occurs.
このような断片化を防止する方法の一つとしてデフラグ(デフラグメンテーション)処理を行うデフラグ装置がある。デフラグとは、記憶媒体に記憶されているデータの再配置を行い、データの断片化を解消することをいう。具体的には、離散した複数の領域に記憶しているデータを、連続した領域に記憶し直す。デフラグ処理を実行するデフラグ装置については、従来より、多数の技術が開示されている。 As one method for preventing such fragmentation, there is a defragmenter that performs a defragmentation process. Defragmentation means that data stored in a storage medium is rearranged to eliminate data fragmentation. Specifically, data stored in a plurality of discrete areas is stored again in a continuous area. Many techniques have been disclosed for a defragmenter that performs defragmentation processing.
前述のデフラグ装置には、以下のような問題点がある。デフラグ装置で行うデフラグ処理は、データ単位で行われる。つまり、データ単位で断片化が生じていなければ、デフラグ処理を行う意味がない。 The aforementioned defragmentation device has the following problems. Defragmentation processing performed by the defragmenter is performed in units of data. That is, there is no point in performing defragmentation processing unless fragmentation occurs in data units.
一方で、あるアプリケーションの実行ファイルを起動する場合や映像再生アプリケーションを用いてある映像データを再生する場合等、決まったデータへ決まった順番でアクセスする場合がある。実行ファイルの起動では、起動シーケンスにしたがって、デバイスドライバや所定のサービスの実行ファイルを、順次、読み込む処理を行う。また、映像データの再生では、チャプター毎の映像データを、順次、読み込む処理を行う。 On the other hand, there are cases where predetermined data is accessed in a predetermined order, such as when an executable file of a certain application is activated or when certain video data is reproduced using a video reproduction application. In the execution of the execution file, processing for sequentially reading the device driver and the execution file of a predetermined service is performed according to the startup sequence. In the reproduction of video data, a process for sequentially reading video data for each chapter is performed.
このような決まったデータへ決まった順番でアクセスする場合に、各データがハードディスク上の連続した領域に記憶されていれば問題はないが、各データが離散した複数の領域に記憶されている場合には、例え個々のデータ単位では断片化が生じていなくとも、連続して用いられる複数のデータ全体を一つのデータと考えるならば、断片化が生じているのと同じこととなる。 When accessing such fixed data in a fixed order, there is no problem if each data is stored in a continuous area on the hard disk, but each data is stored in a plurality of discrete areas For example, even if no fragmentation occurs in each data unit, if all of a plurality of consecutively used data is considered as one data, it is the same as the occurrence of fragmentation.
しかし、前述のデフラグ処理では、個々のデータ単位では断片化が生じていなければ、データ全体として断片化を解消することはできない、という問題点がある。なぜなら、デフラグ処理は、個々のデータ単位での断片化の解消を目的としているからである。 However, the above-described defragmentation process has a problem that fragmentation cannot be resolved as a whole data unless fragmentation occurs in each data unit. This is because the defragmentation process is aimed at eliminating fragmentation in units of individual data.
そこで、本発明は、あるデータによって用いられる複数のデータを近接した記憶位置に記憶することによってアクセス速度を改善するデータ配置装置の提供を目的とする。 Therefore, an object of the present invention is to provide a data arrangement device that improves the access speed by storing a plurality of data used by certain data in close storage locations.
本発明に関する課題を解決するための手段および発明の効果を以下に示す。 Means for solving the problems relating to the present invention and effects of the present invention will be described below.
本発明に係るデータ配置装置、データ配置プログラム、及びデータ配置方法では、第1のデータが第2のデータにアクセスした際の前記第1のデータと前記第2のデータとが関連付けられたアクセス履歴情報を取得し、前記アクセス履歴情報に基づいて前記第2のデータを記憶手段に配置する際の前記記憶手段における配置位置を決定し、同一の前記第1のデータによってアクセスされた前記第2のデータを近接した配置位置に決定する。 In the data arrangement device, the data arrangement program, and the data arrangement method according to the present invention, an access history in which the first data and the second data are associated with each other when the first data accesses the second data. Information is obtained, an arrangement position in the storage unit when the second data is arranged in the storage unit is determined based on the access history information, and the second data accessed by the same first data The data is determined at a close arrangement position.
これにより、ある第1のデータによって用いられる複数の第2のデータを記憶手段上の近接した配置位置に記憶することができる。よって、第2のデータへのアクセス速度を早くすることができる。 As a result, a plurality of second data used by certain first data can be stored at close arrangement positions on the storage means. Therefore, the access speed to the second data can be increased.
本発明に係るデータ配置装置及びデータ配置プログラムでは、さらに、前記配置位置に基づいて、前記第2のデータを前記記憶手段に配置し、記憶する。 In the data arrangement apparatus and the data arrangement program according to the present invention, the second data is further arranged in the storage unit and stored based on the arrangement position.
これにより、実際に、ある第1のデータによって用いられる複数の第2のデータを記憶手段上の近接した配置位置に記憶することができる。 As a result, a plurality of pieces of second data used by certain first data can be actually stored at close arrangement positions on the storage means.
本発明に係るデータ配置装置及びデータ配置プログラムでは、さらに、第1のデータが第2のデータにアクセスした際に、前記第1のデータと前記第2のデータを関連付けたアクセス履歴情報を生成する。 In the data arrangement device and the data arrangement program according to the present invention, when the first data accesses the second data, the access history information associating the first data with the second data is generated. .
これにより、アクセス履歴情報を、容易に得ることができる。 Thereby, access history information can be obtained easily.
本発明に係るデータ配置装置及びデータ配置プログラムでは、前記アクセス履歴情報は、他のアクセス履歴情報に対して、第1のデータが第2のデータにアクセスした際の時間的前後関係を維持しており、さらに、前記時間的前後関係に基づいて、前記第2のデータを前記記憶手段に記憶する際の前記配置位置を決定する。 In the data arrangement apparatus and the data arrangement program according to the present invention, the access history information maintains a temporal relationship when the first data accesses the second data with respect to other access history information. Further, the arrangement position when the second data is stored in the storage means is determined based on the temporal context.
これにより、第1のデータが第2のデータにアクセスした際の時間的前後関係を維持したまま、第2のデータを記憶手段上に配置し、記憶することができる。よって、第1のデータにおける第2のデータへのアクセス処理が定型化している場合には、当該アクセス処理におけるアクセス速度を早くすることができる。 Thus, the second data can be arranged and stored on the storage means while maintaining the temporal relationship when the first data accesses the second data. Therefore, when the access process to the second data in the first data is standardized, the access speed in the access process can be increased.
本発明に係るデータ配置装置及びデータ配置プログラムでは、さらに、ある前記第1のデータによってアクセスされた前記第2のデータと他の前記第1のデータによってアクセスされた前記第2のデータとで重複が生じている場合には、それぞれの前記第1のデータによってアクセスされた前記第2のデータであって重複が生じている前記第2のデータよりも時間的に前にアクセスされた前記第2のデータを近接した配置位置に決定する。 In the data arrangement apparatus and the data arrangement program according to the present invention, the second data accessed by the first data overlaps the second data accessed by the other first data. The second data accessed by each of the first data, and the second data accessed in time before the second data that is duplicated. Are determined as close arrangement positions.
これにより、各第1のデータがアクセスする第2のデータに重複が生じている場合であっても、各第1のデータにおけるアクセス速度を速くすることができる。 Thereby, even if duplication occurs in the second data accessed by each first data, the access speed of each first data can be increased.
ここで、請求項に記載されている要素と実施例における要素との対応関係を示す。データ配置装置はファイル再配置装置21に、データ配置プログラムはCD−ROM210に記録されているファイル再配置プログラムに、それぞれ対応する。 Here, the correspondence relationship between the elements described in the claims and the elements in the embodiment is shown. The data placement device corresponds to the
アクセス履歴情報取得手段はCPU211及びメモリ212、データ配置位置決定手段はCPU211及びメモリ212、記憶制御手段はCPU211及びメモリ212、アクセス履歴情報生成手段はCPU211及びメモリ212、及び記憶手段はハードディスク213に、それぞれ該当する。 The access history information acquisition means is the
第2のデータはアクセス履歴情報DBの[対象ファイル名]列C303に記述される対象ファイル名を有するファイルに、第1のデータはアクセス履歴情報DBの[プロセスファイル名]列C307に記述されるプロセスファイル名を有するファイルに、アクセス履歴情報はファイルアクセス履歴情報DBに記述される各レコードに、それぞれ対応する。 The second data is described in the file having the target file name described in the [target file name] column C303 of the access history information DB, and the first data is described in the [process file name] column C307 of the access history information DB. In the file having the process file name, the access history information corresponds to each record described in the file access history information DB.
「近接した位置」とは、再配置したデータに対してアクセスしようとする装置が、再配置したデータへのアクセスが効率的に行える位置を意味する。 “Neighboring position” means a position where a device attempting to access the rearranged data can efficiently access the rearranged data.
「第1のデータが第2のデータにアクセスする」とは、第1のデータが第2のデータに直接的にアクセスする場合だけでなく、間接的にアクセスする場合も含む概念である。例えば、第1のデータが第3のデータにアクセスし、当該第3のデータが第2のデータにアクセスするような場合も含まれる。
“The first data accesses the second data” is a concept including not only the case where the first data directly accesses the second data but also the case where the first data is accessed indirectly. For example, the case where the first data accesses the third data and the third data accesses the second data is also included.
本発明におけるデータ配置装置の実施例を以下において説明する。 An embodiment of the data arrangement device according to the present invention will be described below.
1. 概要
本発明に係るデータ配置装置1に係る機能ブロック図を図1に示す。データ配置装置M1は、アクセス履歴情報取得手段M11、データ配置位置決定手段M13、記憶制御手段M15、アクセス履歴情報生成手段M17、及び記憶手段M19を有している。1. Overview FIG. 1 shows a functional block diagram of a
アクセス履歴情報取得手段M11は、第1のデータが第2のデータにアクセスした際の前記第1のデータと前記第2のデータとが関連付けられたアクセス履歴情報を取得する。 The access history information acquisition unit M11 acquires access history information in which the first data and the second data are associated with each other when the first data accesses the second data.
データ配置位置決定手段M13は、前記アクセス履歴情報に基づいて前記第2のデータを記憶手段に配置する際の前記記憶手段における配置位置を決定するデータ配置位置決定手段であって、同一の前記第1のデータによってアクセスされた前記第2のデータを近接した配置位置に決定する。また、データ配置位置決定手段M13は、前記時間的前後関係に基づいて、前記第2のデータを前記記憶手段に記憶する際の前記配置位置を決定する。さらに、データ配置位置決定手段M13は、ある前記第1のデータによってアクセスされた前記第2のデータと他の前記第1のデータによってアクセスされた前記第2のデータとで重複が生じている場合には、それぞれの前記第1のデータによってアクセスされた前記第2のデータであって重複が生じている前記第2のデータよりも時間的に前にアクセスされた前記第2のデータを近接した配置位置に決定する。 The data arrangement position determination means M13 is a data arrangement position determination means for determining an arrangement position in the storage means when the second data is arranged in the storage means based on the access history information. The second data accessed by the first data is determined as an adjacent arrangement position. Further, the data arrangement position determination means M13 determines the arrangement position when storing the second data in the storage means based on the temporal context. Further, the data arrangement position determining means M13 has an overlap between the second data accessed by a certain first data and the second data accessed by another first data. The second data accessed by each of the first data, and the second data accessed in time before the second data that is duplicated are brought close to each other Determine the placement position.
記憶制御手段M15は、前記配置位置に基づいて、前記第2のデータを前記記憶手段に配置し、記憶する。 The storage control means M15 arranges and stores the second data in the storage means based on the arrangement position.
アクセス履歴情報生成手段M17は、第1のデータが第2のデータにアクセスした際に、前記第1のデータと前記第2のデータを関連付けたアクセス履歴情報を生成する。 The access history information generating unit M17 generates access history information in which the first data and the second data are associated when the first data accesses the second data.
記憶手段M19は、第2のデータを記憶保持する。 The storage means M19 stores and holds the second data.
これにより、ある第1のデータによって用いられる複数の第2のデータを記憶手段上の近接した配置位置に記憶することができる。よって、第2のデータへのアクセス速度を早くすることができる。また、実際に、ある第1のデータによって用いられる複数の第2のデータを記憶手段上の近接した配置位置に記憶することができる。さらに、アクセス履歴情報を、容易に得ることができる。さらに、第1のデータが第2のデータにアクセスした際の時間的前後関係を維持したまま、第2のデータを記憶手段上に配置し、記憶することができる。よって、第1のデータにおける第2のデータへのアクセス処理が定型化している場合には、当該アクセス処理におけるアクセス速度を早くすることができる。さらに、各第1のデータがアクセスする第2のデータに重複が生じている場合であっても、各第1のデータにおけるアクセス速度を速くすることができる。 As a result, a plurality of second data used by certain first data can be stored at close arrangement positions on the storage means. Therefore, the access speed to the second data can be increased. Moreover, actually, a plurality of second data used by certain first data can be stored in close arrangement positions on the storage means. Furthermore, access history information can be easily obtained. Further, the second data can be arranged and stored on the storage means while maintaining the temporal relationship when the first data accesses the second data. Therefore, when the access process to the second data in the first data is standardized, the access speed in the access process can be increased. Furthermore, even when there is duplication in the second data accessed by each first data, the access speed of each first data can be increased.
2. ハードウェア構成
ファイル再配置装置21のハードウェア構成を図2を用いて説明する。ファイル再配置装置21は、CPU211、メモリ212、及びハードディスク213を備えている。また、ファイル再配置装置21には、キーボード214、マウス215、ディスプレイ216、およびCD−ROMドライブ217が接続されている。2. Hardware Configuration The hardware configuration of the
CPU211は、ハードディスク213に記録されているオペレーティング・システム(OS)、ファイル再配置プログラム等その他のアプリケーションに基づいた処理を行う。メモリ212は、CPU211に対して作業領域を提供する。ハードディスク213は、オペレーティング・システム(OS)、ファイル再配置プログラム等その他のアプリケーション、及びアクセス履歴情報データベース(以下、アクセス履歴情報DBとする。)を含む各種データを記録保持する。アクセス履歴情報DBについては後述する。 The
CD−ROMドライブ217は、ファイル再配置プログラムが記録されているCD−ROM210からファイル再配置プログラムを、また、他のCD−ROMからその他のアプリケーションのプログラムを読み取る等、CD−ROMからのデータの読み取りを行う。 The CD-
キーボード214、マウス215は、外部からの命令を受け付ける。ディスプレイ216は、ユーザインターフェイス等を表示する。 The
3. データ
ファイル再配置装置21がハードディスク213に記録するアクセス履歴情報DBについて図3Aを用いて説明する。アクセス履歴情報DBは、あるファイルが他のファイルにアクセスした際における、両ファイルの関連付けを記述したデータベースである。3. The access history information DB recorded on the
アクセス履歴情報DBは、[レコード番号]列C301、[対象ファイル名]列C303、[アクセス種別]列C305、及び[プロセスファイル名]列C307を有している。[レコード番号]列C301には、各レコードを特定する番号が記述される。[対象ファイル名]列C303には、あるプロセスを実行しようとするファイル(以下、プロセスファイルとする。)が、当該プロセスにおいて用いるファイル(以下、対象ファイルとする。)のファイル名(以下、対象ファイル名とする。)が記述される。なお、対象ファイル名としては、対象ファイルのフルパス名を用いる。図3Aにおいては、「C:¥app¥app.ini」、「C:¥app¥app.exe」、「C:¥movie¥chapter1.avi」等が用いられている。[アクセス種別]列C305には、プロセスファイルがどのような処理の対象として対象ファイルにアクセスしたのかが記述される。本実施例においては、プロセスファイルが読み込み処理の対象として対象ファイルにアクセスした場合には「ReadFile」が、プロセスファイルが書き込み処理の対象として対象ファイルにアクセスした場合には「WriteFile」が、それぞれ記述される。[プロセスファイル名]列C307には、プロセスファイルのファイル名(以下、プロセスファイル名とする。)が記述される。なお、プロセスファイル名としては、プロセスファイルのフルパス名を用いる。 The access history information DB includes a [record number] column C301, a [target file name] column C303, an [access type] column C305, and a [process file name] column C307. [Record number] column C301 describes a number for identifying each record. In the [Target File Name] column C303, a file to be executed by a process (hereinafter referred to as a process file) is a file name (hereinafter referred to as a target file) used in the process (hereinafter referred to as a target file). File name). Note that the full path name of the target file is used as the target file name. In FIG. 3A, "C: \ app \ app.ini", "C: \ app \ app.exe", "C: \ movie \ chapter1.avi", and the like are used. The [access type] column C305 describes what kind of processing the process file has accessed the target file. In this example, “ReadFile” is described when the process file accesses the target file as the target of the read process, and “WriteFile” is described when the process file accesses the target file as the target of the write process. Is done. [Process file name] column C307 describes the file name of the process file (hereinafter referred to as process file name). Note that the full path name of the process file is used as the process file name.
アクセス履歴情報DBのレコードでは、あるプロセスが発生する毎に、これまでに生成されていたアクセス履歴情報DBに新たなレコードを追加される。つまり、アクセス履歴情報DBにおいては、各レコードに関するプロセスが発生した時間的な前後関係は、アクセス履歴情報DBにおける各レコードの記述位置の位置関係によって維持されることになる。 In the record of the access history information DB, every time a certain process occurs, a new record is added to the access history information DB generated so far. In other words, in the access history information DB, the temporal relationship in which the processes related to each record occur is maintained by the positional relationship of the description positions of each record in the access history information DB.
4. ファイル再配置装置21の動作
ファイル再配置装置21におけるファイル再配置プログラムに基づく動作の概略を図4に示す。ファイル最適配置装置21のCPU211は、ファイル再配置プログラムに含まれるファイルアクセス履歴取得プログラムが起動されたと判断すると(S401)、ファイルアクセス履歴取得処理を開始する(S403)。ファイルアクセス履歴取得処理の詳細については後述する。CPU211は、ファイルアクセス履歴取得処理の終了指示があるまで、ファイルアクセス履歴取得処理を実行する(S405)。4. Operation of
また、CPU211は、ファイル再配置プログラムに含まれるファイル再配置実行プログラムが起動されたと判断すると(S411)、ファイル再配置実行処理を実行する(S413)。ファイル再配置実行処理の詳細については後述する。 If the
以下において、ファイルアクセス履歴取得処理(S403)、及びファイル再配置実行処理(S413)を説明する。 Hereinafter, the file access history acquisition process (S403) and the file relocation execution process (S413) will be described.
4.1. ファイルアクセス履歴取得処理
CPU211が実行するファイルアクセス履歴取得処理を、図5に示すフローチャートを用いて説明する。CPU211は、メモリ212若しくはハードディスク213に所定の領域を確保してファイルアクセス履歴情報DB(図3A参照)を生成し、生成したファイルアクセス履歴情報DBを初期化する(S501)。4.1. File Access History Acquisition Processing The file access history acquisition processing executed by the
CPU211は、OSで提供されているAPI(Application Program Interface)に含まれる命令や関数に対するアクセスがあるか否かを判断する(S503)。CPU211は、APIに含まれる命令や関数へのアクセスがあったと判断すると、アクセスされた命令や関数がファイルの読み込みを表すもの(ReadFile)若しくはファイルへの書き込みを表すもの(WriteFile)か否かを判断する(S505)。 The
CPU211は、アクセスされた命令や関数がReadFile若しくはWriteFileであると判断すると、ReadFile若しくはWriteFileの対象となったファイルのファイル名(対象ファイル名)、及び、ReadFile若しくはWriteFileを実行するファイルのファイル名(プロセスファイル名)を取得する(S507)。なお、ReadFile若しくはWriteFileを判断する方法、対象ファイル名及びプロセスファイル名を取得する方法については、市販されているセキュリティソフトウェア等で一般的に用いられているプログラミング技法を用いればよい。 When the
CPU211は、ステップS503〜ステップS507で取得した、ReadFile若しくはWriteFileの種別、対象ファイル名、及びプロセスファイル名を関連付けて、ファイルアクセス履歴情報DBの対応する領域へ記述する(S509)。具体的には、対象ファイル名をファイルアクセス履歴情報DBの[対象ファイル名]列C303に、ReadFile若しくはWriteFileの種別をファイルアクセス履歴情報DBの[アクセス種別]列C305に、対象ファイル名をファイルアクセス履歴情報DBの[プロセスファイル名]列C307に、それぞれ記述する。 The
4.2. ファイル再配置実行処理
CPU211が実行するファイル再配置実行処理を図6に示すフローチャートを用いて説明する。CPU211は、ファイル再配置プログラムの起動があったと判断すると、時間的に前後して用いられるファイルの組を重複なく抽出することを目的とするファイル連結情報生成処理(S601)、時間的に前後して用いられるファイルの組を連続的につなぎ合わせて、一連のファイル相関関係を判断することを目的とするファイル順位情報生成処理(S603)、各ファイルを再配置する際の相対的なアドレスを決定することを目的とする配置アドレス情報生成処理(S605)、及び実際にファイルの再配置を行うことを目的とするデフラグ処理(S607)を実行する。以下において、各処理について説明する。4.2. File Relocation Execution Processing The file relocation execution processing executed by the
4.2.1 ファイル連結情報生成処理
CPU211が実行するファイル連結情報生成処理を図7に示すフローチャートを用いて説明する。CPU211は、メモリ212若しくはハードディスク213に所定の領域を確保してファイル連結情報テーブルを生成し、生成したファイル連結テーブルを初期化する(S701)。4.2.1 File Linkage Information Generation Process The file link information generation process executed by the
ここで、ファイル連結情報テーブルについて図8Aを用いて説明する。ファイル連結情報テーブルは、時間的に前後して用いられるファイルの組を重複なく抽出するためにメモリ212に一時的に生成されるテーブルである。 Here, the file connection information table will be described with reference to FIG. 8A. The file connection information table is a table temporarily generated in the
ファイル連結情報テーブルは、[レコード番号]列C801、[起点ファイル名]列C803、及び[終点ファイル名]列C805を有している。[レコード番号]列C801には、各レコードを特定する番号が記述される。[起点ファイル名]列C803には、時間的に前後して用いられたファイルのうち、前に用いられたファイルのファイル名が記述される。[終点ファイル名]列C805には、[起点ファイル名]列C803列に記述されたファイルに対して、時間的に前後して用いられたファイルのうち、後に用いられたファイルのファイル名が記述される。 The file connection information table has a [record number] column C801, a [starting file name] column C803, and an [endpoint file name] column C805. [Record number] column C801 describes a number for identifying each record. The “starting file name” column C803 describes the file name of the previously used file among the files used before and after in time. In the [Destination File Name] column C805, the file name of the file used later is described among the files used before and after the file described in the [Starting File Name] column C803. Is done.
図7に戻って、CPU211は、ファイルアクセス履歴DBの[プロセスファイル名]列C307から、全ての種類のプロセスファイル名を抽出プロセスファイル名として取得する(S703)。具体的には、CPU211は、ファイルアクセス履歴DBの[プロセスファイル名]列C307からあるプロセスファイル名を取得すると、これまでに取得したプロセスファイル名と同一であるか否かを判断し、同一でなければ新たな抽出プロセスファイル名として取得し、同一であれば当該プロセスファイル名については抽出プロセスファイル名として取得せず、新たに[プロセスファイル名]列C307から次のプロセスファイル名を取得する。そして、CPU211は、取得した抽出プロセスファイル名から、一の抽出プロセスファイル名を取得する(S704)。 Returning to FIG. 7, the
CPU211は、メモリ212に抽出ファイルアクセス履歴情報テーブルを生成し、初期化する(S705)。ここで、抽出ファイルアクセス履歴情報テーブルについて図9Aを用いて説明する。抽出ファイルアクセス履歴情報テーブルは、ファイルアクセス履歴情報DBから、[プロセスファイル名]列C307に記述されているプロセスファイル名が同じであるレコードを抽出し、記憶保持するためにメモリ212に一時的に生成されるテーブルである。 The
抽出ファイルアクセス履歴情報テーブルは、[レコード番号]列C901、[対象ファイル名]列C903、[アクセス種別]列C905、及び[プロセスファイル名]列C907を有している。[レコード番号]列C901には、各レコードを特定する番号が記述される。[対象ファイル名]列C903には、ファイルアクセス履歴情報DBから抽出したレコードの[対象ファイル名]列C303に記述されている対象ファイル名が記述される。[アクセス種別]列C905には、ファイルアクセス履歴情報DBから抽出したレコードの[アクセス種別]列C305に記述されているアクセス種別の値が記述される。[プロセスファイル名]列C907には、ファイルアクセス履歴情報DBから抽出したレコードの[プロセスファイル名]列C307に記述されているプロセスファイル名が記述される。 The extracted file access history information table has a [record number] column C901, a [target file name] column C903, an [access type] column C905, and a [process file name] column C907. [Record number] column C901 describes a number for identifying each record. In the [Target File Name] column C903, the target file name described in the [Target File Name] column C303 of the record extracted from the file access history information DB is described. In the [access type] column C905, the value of the access type described in the [access type] column C305 of the record extracted from the file access history information DB is described. [Process file name] column C907 describes the process file name described in [Process file name] column C307 of the record extracted from the file access history information DB.
図7に戻って、CPU211は、ファイルアクセス履歴DBから、ステップS705で取得した抽出プロセスファイル名を[プロセスファイル名]列C307に有するレコードを全て抽出し、抽出したレコードに基づいて抽出ファイルアクセス履歴情報テーブルに記述する(S706)。記述に際して、CPU211は、抽出した各レコードについてのファイルアクセス履歴情報DBにおける時間的な前後関係を維持するように、つまりファイルアクセス履歴情報DBにおけるレコードの順番を維持するように、抽出したレコードを抽出ファイルアクセス履歴情報テーブルに記述する。 Returning to FIG. 7, the
CPU211は、抽出ファイルアクセス履歴情報テーブルにおいて[対象ファイル名]列C903に記述された対象ファイル名が重複する重複レコードについては、[レコード番号]列C901に記述されているレコード番号が最も小さいレコード以外のレコードを削除する(S709)。なお、レコードが削除された後の抽出ファイルアクセス履歴情報テーブルにおいては、削除されたレコードより大きなレコード番号を有するレコードのレコード番号は、削除されたレコードの分だけ小さなレコード番号とする。 In the extracted file access history information table, the
CPU211は、重複レコードを削除した後の抽出ファイルアクセス履歴情報テーブルのレコードの数を計数し、変数Nに設定する(S711)。また、CPU211は、変数Xを初期化し、値「1」を設定する(S713)。CPU211は、Xの値が「N」であるか否かを判断する(S715)。 The
CPU211は、Xの値が「N」でないと判断すると、レコード番号「X」及びレコード番号「X+1」に対応するレコードを抽出ファイルアクセス履歴情報テーブルから取得し(S717)、取得したレコードの[対象ファイル名]列C903に記述されている対象ファイル名をそれぞれ抽出し(S719)、ファイル連結情報テーブルに記述する(S721)。抽出した対象ファイル名をファイル連結情報テーブルに記述する際には、レコード番号「X」のレコードから抽出した対象ファイル名をファイル連結情報テーブルの[起点ファイル名]列C803に、レコード番号「X+1」のレコードから抽出した対象ファイル名をファイル連結情報テーブルの[終点ファイル名]列C805に、それぞれ記述し、一のレコードとする。 If the
CPU211は、変数Xの値に「1」を加算し(S723)、ステップS715〜ステップS725の処理を繰り返す。 The
CPU211は、ステップS715においてXの値が「N」であると判断すると、全ての抽出プロセスファイル名についてステップS704、ステップS723の処理を行ったか否かを判断する(S725)。CPU211は、全ての抽出プロセスファイル名についてステップS704〜テップS723の処理を行っていないと判断すると、他の一の抽出プロセスファイル名を取得し(S704)、ステップS705〜ステップS723の処理を繰り返す。 If the
CPU211は、ステップS725において全ての抽出プロセスファイル名についてステップS704〜テップS723の処理を行ったと判断すると、ファイル連結情報テーブルに重複レコードが存在するか否かを判断する(S727)。CPU211は、ファイル連結情報テーブルに重複レコードが存在するか否かを判断すると、重複するレコードを削除する(S729)。なお、重複レコードの削除にあたっては、ファイル連結情報テーブル(図8A参照)における[レコード番号]列C801に記述されているレコード番号が最も小さいレコード以外のレコードを削除する。 If the
4.2.2 ファイル順位情報生成処理
CPU211が実行するファイル順位情報生成処理を図10に示すフローチャートを用いて説明する。CPU211は、メモリ212にファイル順位情報テーブルを生成するための領域を確保し、ファイル順位情報テーブルを生成する(S1001)。4.2.2 File Order Information Generation Process The file order information generation process executed by the
ここで、ファイル順位情報テーブルについて図11Aを用いて説明する。ファイル順位情報テーブルは、時間的に前後して用いられるファイルの組を連続的につなぎ合わせて、一連のファイル相関関係を判断するために、メモリ212に一時的に生成されるテーブルである。ファイル順位情報テーブルは、[レコード番号]列C1101、[対象ファイル名]列C1103、及び[順位]列C1105を有している。 Here, the file order information table will be described with reference to FIG. 11A. The file order information table is a table temporarily generated in the
[レコード番号]列C1101には、各レコードを特定する番号が記述される。[対象ファイル名]列C1103には、ファイルアクセス履歴情報DBの[対象ファイル名]列C303に記述されている対象ファイル名から、重複なく抽出した対象ファイル名を、つまりファイルアクセス履歴情報DBにおける一通りの対象ファイル名が記述される。[順位]列C1105には、対象ファイル名に与える順位が記述される。 [Record number] column C1101 describes a number for identifying each record. In the [Target File Name] column C1103, the target file names extracted without duplication from the target file names described in the [Target File Name] column C303 of the file access history information DB, that is, one in the file access history information DB. The target file name is described. [Order] column C1105 describes the order given to the target file name.
CPU211は、ファイル順位情報テーブルの生成に際して、ファイルアクセス履歴DBの[対象ファイル名]列C303に記述されている対象ファイル名を取得する。そして、重複している対象ファイル名については重複分を削除し、重複がない対象ファイル名をファイル順位情報テーブルの[対象ファイル名]列C1103に記述する。なお、ファイル順位情報テーブルの[対象ファイル名]列C1103以外の他の領域については、この段階では何も記述しない。 When generating the file order information table, the
図10に戻って、CPU211は、ファイル順位情報テーブルの任意の一のレコードの[順位]列に値「0」を記述する(S1003)。CPU211は、[順位]列に「0」を記述したレコードの[対象ファイル名]列C1103に記述されている対象ファイル名を注目対象ファイル名として取得する(S1005)。そして、CPU211は、注目対象ファイル名に対する順位決定処理を実行する(S1007)。 Returning to FIG. 10, the
CPU211が行う順位決定処理について図12を用いて説明する。CPU211は、ファイル連結情報テーブルの[起点ファイル名]列C803若しくは[終点ファイル名]列C805に、注目対象ファイル名が記述されているレコードを注目レコードとして取得する(S1201)。CPU211は、注目レコードから一のレコードを抽出する(S1203)。CPU211は、取得したレコードについて、注目対象ファイル名が[起点ファイル名]列C803に記述されているのか、[終点ファイル名]列C805に記述されているのかを判断する(S1205)。 The order determination process performed by the
CPU211は、注目対象ファイル名が[起点ファイル名]列C803に記述されていると判断すると、抽出したレコードの[終点ファイル名]列C805に記述されているファイル名を取得する(S1207)。CPU211は、ファイル順位情報テーブルの[対象ファイル名]列C1103に、取得した[終点ファイル名]列C805に記述されているファイル名が記述されているレコードを抽出し(S1209)、抽出したレコードの[順位]列C1105に有効な値が記述されているか否か、つまり[終点ファイル名]列C805に記述されているファイル名の順位が決定しているか否かを判断する(S1211)。CPU211は、抽出したレコードの[順位]列C1105に有効な値が記述されていないと判断すると、当該[順位]列C1105に、注目対象ファイル名の[順位]列の値に値「1」を加算した値を記述する(S1213)。 If the
CPU211は、ステップS1207で取得した[終点ファイル名]列C805に記述されているファイル名を注目対象ファイル名に設定する(S1215)。そして、CPU211は、設定した注目対象ファイル名について、順位決定処理(S1007:図10参照)を実行する。 The
CPU211は、ステップS1211において抽出したレコードの[順位]列C1105に有効な値が記述されている、つまり[終点ファイル名]列C805に記述されているファイル名の順位が決定していると判断すると、ステップS1227の処理を実行する。 If the
一方、CPU211は、ステップS1205において注目対象ファイル名が[終点ファイル名]列C805に記述されていると判断すると、抽出したレコードの[起点ファイル名]列C803に記述されているファイル名を取得する(S1217)。CPU211は、ファイル順位情報テーブルの[対象ファイル名]列C1103に取得した[起点ファイル名]列C803に記述されているファイル名が記述されているレコードを抽出し(S1219)、抽出したレコードの[順位]列C1105に有効な値が記述されているか否か、つまり[起点ファイル名]列C803に記述されているファイル名の順位が決定しているか否かを判断する(S1221)。CPU211は、抽出したレコードの[順位]列C1105に有効な値が記述されていないと判断すると、当該[順位]列C1105に注目対象ファイル名の順位から値「1」を減算した値を記述する(S1223)。 On the other hand, if the
CPU211は、ステップS1217で取得した[起点ファイル名]列C803に記述されているファイル名を注目対象ファイル名に設定する(S1225)。そして、CPU211は、設定した注目対象ファイル名について、順位決定処理(S1007:図10参照)を実行する。 The
CPU211は、ステップS1221において抽出したレコードの[順位]列C1105に有効な値が記述されている、つまり[終点ファイル名]列C805に記述されているファイル名の順位が決定していると判断すると、ステップS1227の処理を実行する。 If the
CPU211は、全ての注目レコードについて、ステップS1201〜ステップS1225の処理を実行する(S1227)。 The
4.2.3 配置アドレス情報生成処理
CPU211が行う配置アドレス情報生成処理について図13を用いて説明する。CPU211は、メモリ212に配置アドレス情報テーブルを生成するための領域を確保し、配置アドレス情報テーブルを生成する(S1301)。また、CPU211は、アドレス変数Aに値「0」を設定する(S1303)。4.2.3 Arrangement Address Information Generation Processing Arrangement address information generation processing performed by the
ここで、配置アドレス情報テーブルについて図14を用いて説明する。配置アドレス情報テーブルは、各ファイルを再配置する際の相対的なアドレスを決定するために、メモリ212に一時的に生成されるテーブルである。配置アドレス情報テーブルは、[アドレス]列C1401、及び[ファイル名]列C1403を有している。[アドレス]列C1401には、再配置するファイルの相対的なアドレスが記述される。[ファイル名]列C1403には、再配置するファイルのファイル名が記述される。 Here, the arrangement address information table will be described with reference to FIG. The arrangement address information table is a table temporarily generated in the
図13に戻って、CPU211は、ファイル順位情報テーブルのレコードを、「順位」列C1105の値を対象として、昇べきの順にソートする(S1305)。CPU211は、順位変数Rをファイル順位情報テーブルの[順位]列C1105に記述されている最小の順位の値にセットする(S1307)。 Returning to FIG. 13, the
CPU211は、昇べきの順にソートしたファイル順位情報テーブルから、[順位]列C1105の値が順位変数Rの値と等しいレコードの一つを取得する(S1309)。CPU211は、取得したレコードの[対象ファイル名]列C1103に記述された対象ファイル名を取得する(S1311)。CPU211は、取得した対象ファイル名とアドレス変数Aとの値を関連付けて、配置アドレス情報テーブルに記述する(S1313)。 The
CPU211は、取得した対象ファイル名のファイルサイズを取得する(S1315)。ファイルサイズの取得に際しては、OSが有している各ファイルのファイルサイズ情報等を用いればよい。CPU211は、アドレス変数Aに取得したファイルサイズを加算した値を、アドレス変数Aの新たな値とする(S1317)。 The
CPU211は、[順位]列C1105の値が順位変数Rの値と等しいレコードが他に存在するか否かを判断する(S1319)。CPU211は、[順位]列C1105の値が順位変数Rの値と等しいレコードが他に存在すると判断すると、ステップS1309以下の処理を実行する。CPU211は、[順位]列C1105の値が順位変数Rの値と等しいレコードが他に存在しないと判断すると、順位変数Rの値に「1」を加算する(S1321)。 The
CPU211は、[順位]列C1105の値がステップS1019で設定した順位変数Rの値と等しいレコードが存在するか否かを判断する(S1323)。CPU211は、[順位]列C1105の値がステップS1319で設定した順位変数Rの値と等しいレコードが存在すると判断すると、ステップS1309以下の処理を実行する。 The
4.2.4 デフラグ処理
CPU211が行うデフラグ処理について説明する。CPU211は、生成した配置アドレス情報テーブルに基づいて、各ファイルをハードディスク213の所定の領域に配置し、記憶する。なお、デフラグ処理については、従来から用いられているファイル・ディスク処理技術を用いることができるため、ここでは詳細な記載は省略する。4.2.4 Defragmentation Processing Defragmentation processing performed by the
4.3. 具体例
CPU211が実行するファイル再配置実行処理を具体的な例を用いて説明する。再配置実行処理を実行する前には、図3Bに示すファイルアクセス履歴情報DBが得られているものとする。なお、以下においては、参照する図面も含めて、フルパスを用いた対象ファイル名等の記載を、簡単のために、「A」、「B」・・・のように記載する。4.3. Specific Example The file rearrangement execution process executed by the
CPU211は、ファイル再配置プログラムの起動があったと判断すると、ファイル連結情報生成処理(図6:S601)、ファイル順位情報生成処理(図6:S603)、配置アドレス情報生成処理(図6:S605)、及びデフラグ処理(図6:S607)を実行する。 When the
4.3.1 ファイル連結情報生成処理
CPU211は、メモリ212若しくはハードディスク213に所定の領域を確保してファイル連結情報テーブルを生成し、生成したファイル連結テーブルを初期化する(図7:S701)。CPU211は、ファイルアクセス履歴DBの[プロセスファイル名]列C307から、プロセスファイル名「P1」、「P2」を抽出プロセスファイル名として取得する(図7:S703)。4.3.1 File Linkage Information Generation
CPU211は、ステップS703において取得した抽出プロセスファイル名「P1」、「P2」から、一の抽出プロセスファイル名「P1」を取得する(図7:S704)。CPU211は、メモリ212に抽出ファイルアクセス履歴情報テーブルを生成し、初期化する(図7:S705)。CPU211は、ファイルアクセス履歴DBから、ステップS704で取得した抽出プロセスファイル名「P1」を[プロセスファイル名]列C307に有するレコードを全て抽出し、抽出したレコードに基づいて抽出ファイルアクセス履歴情報テーブルに記述する(図7:S706)。このとき記述された抽出ファイルアクセス履歴情報テーブルを図9Bに示す。図3B及び図9Bから明らかなように、抽出ファイルアクセス履歴情報テーブルの[プロセスファイル名]列C907にプロセスファイル名「P1」を有するレコードでは、ファイルアクセス履歴情報DBにおける時間的な前後関係、つまりファイルアクセス履歴情報DBにおけるレコードの順番を維持している。 The
CPU211は、図9Bに示す抽出ファイルアクセス履歴情報テーブルにおいて[対象ファイル名]列C903に記述された対象ファイル名が重複する重複レコード、つまりレコード番号「2」、「5」のレコード、及びレコード番号「3」、「6」のレコードについては、[レコード番号]列C901に記述されているレコード番号が最も小さいレコード以外のレコード、つまりレコード番号「2」のレコードに対してはレコード番号「5」のレコード、レコード番号「3」のレコードに対してはレコード番号「6」のレコードを削除する(図7:S709)。なお、レコードが削除された後の抽出ファイルアクセス履歴情報テーブルにおいては、削除されたレコードより大きなレコード番号を有するレコードのレコード番号は、削除されたレコードの分だけ小さなレコード番号とする。このようにして生成された抽出ファイルアクセス履歴情報テーブルは図9Aとなる。 In the extracted file access history information table shown in FIG. 9B, the
CPU211は、重複レコードを削除した後の抽出ファイルアクセス履歴情報テーブルのレコードの数を計数し、変数Nに「4」を設定する(図7:S711)。また、CPU211は、変数Xを初期化し、値「1」を設定する(図7:S713)。CPU211は、Xの値が「N(=4)」であるか否かを判断する(図7:S715)。 The
CPU211は、Xの値が「N(=4)」でないと判断すると、レコード番号「X(=1)」及びレコード番号「X+1(=2)」に対応するレコードを抽出ファイルアクセス履歴情報テーブルから取得し(図7:S717)、取得したレコードの[対象ファイル名]列C903に記述されている対象ファイル名「A」、「C」をそれぞれ抽出し(図9:S719)、ファイル連結情報テーブルに記述する(S721)。抽出した対象ファイル名をファイル連結情報テーブルに記述する際には、レコード番号「X(=1)」のレコードから抽出した対象ファイル名「A」をファイル連結情報テーブルの[起点ファイル名]列C803に、レコード番号「X+1(=2)」のレコードから抽出した対象ファイル名「C」をファイル連結情報テーブルの[終点ファイル名]列C805に、それぞれ記述し、一のレコードとする。 If the
CPU211は、変数Xの値に「1」を加算して「X(=2)」とし(S723)、ステップS715〜ステップS725の処理を繰り返す。 The
CPU211は、ステップS715においてXの値が「N(=4)」であると判断すると、全ての抽出プロセスファイル名について図7におけるステップS704、ステップS723の処理を行ったか否かを判断する(図7:S725)。CPU211は、他の抽出プロファイル名「P2」を取得しているので、全ての抽出プロセスファイル名についてステップS704〜テップS723の処理を行っていないと判断し、他の一の抽出プロセスファイル名「P2」を取得する(S704)。そして、CPU211は、抽出プロセスファイル名「P2」について、抽出プロセスファイル名「P1」と同様に、図7におけるステップS704〜テップS723の処理を行う。抽出プロセスファイル名「P2」について図7のステップS706において生成される抽出ファイルアクセス履歴情報テーブルを図9Cに示す。なお、抽出プロセスファイル名「P2」における抽出ファイルアクセス履歴情報テーブルでは、重複レコードは存在しないので、図7におけるステップS709の処理は行わない。 If the
CPU211は、全ての抽出プロセスファイル名についてステップS704〜テップS723の処理を行ったと判断すると、ファイル連結情報テーブルに重複レコードが存在するか否かを判断する(S727)。抽出プロセスファイル名「P1」及び「P2」に対するステップS704〜テップS723の処理が終了した段階での、ファイル連結情報テーブルを図8Bに示す。図8Bに示すファイル連結情報テーブルにおいて重複する重複レコード、つまりレコード番号「3」、「5」のレコードについては、[レコード番号]列C801に記述されているレコード番号が最も小さいレコード以外のレコード、つまりレコード番号「5」のレコードを削除する(図7:S729)。 If the
図8Aに示すファイル連結情報テーブルが、最終的に生成されたファイル連結情報テーブルである。図8Aに示すファイル連結情報テーブルに基づいて、ファイル間の相関関係を示したファイル相関図を図15に示す。 The file connection information table shown in FIG. 8A is the finally generated file connection information table. FIG. 15 shows a file correlation diagram showing the correlation between files based on the file connection information table shown in FIG. 8A.
4.3.2 ファイル順位情報生成処理
CPU211は、メモリ212にファイル順位情報テーブルを生成するための領域を確保し、ファイル順位情報テーブルを生成する(図10:S1001)。CPU211は、ファイル順位情報テーブルの生成に際して、ファイルアクセス履歴DBの[対象ファイル名]列C303に記述されている対象ファイル名について、重複している対象ファイル名については重複分を削除し、重複がない対象ファイル名「A」、「B」、「C」、「D」、「E」、「F」、「G」を取得し、ファイル順位情報テーブルの[対象ファイル名]列C1103に記述する。なお、ファイル順位情報テーブルの[対象ファイル名]列C1103以外の他の領域については、この段階では何も記述しない。このときのファイル順位情報テーブルを、図11Bに示す。4.3.2 File Order Information Generation
CPU211は、ファイル順位情報テーブルの任意の一のレコード、ここではレコード番号「1」のレコードの[順位]列に値「0」を記述する(図10:S1003)。このときのファイル相関図を図16Aに示す。CPU211は、ファイル順位情報テーブルにおいて、[順位]列に「0」を記述したレコード番号「1」のレコードの[対象ファイル名]列C1103に記述されている対象ファイル名「A」を注目対象ファイル名として取得する(図10:S1005)。そして、CPU211は、注目対象ファイル名に対する順位決定処理を実行する(図10:S1007)。 The
CPU211は、ファイル連結情報テーブルの[起点ファイル名]列C803若しくは[終点ファイル名]列C805に、注目対象ファイル名「A」が記述されているレコード番号「1」のレコードを注目レコードとして取得する(図12:S1201)。CPU211は、注目レコードから一のレコードを抽出する(図12:S1203)。ここでは、注目レコードの取得に際して一つのレコードしが取得してないので、レコード番号「1」のレコードがそのまま抽出される。CPU211は、取得したレコード番号「1」のレコードについて、注目対象ファイル名が[起点ファイル名]列C803に記述されているのか、[終点ファイル名]列C805に記述されているのかを判断する(図12:S1205)。 The
CPU211は、注目対象ファイル名「A」が[起点ファイル名]列C803に記述されていると判断し、抽出したレコード番号「1」のレコードの[終点ファイル名]列C805に記述されているファイル名「C」を取得する(図12:S1207)。CPU211は、図8Aのファイル順位情報テーブルの[対象ファイル名]列C1103に、取得した[終点ファイル名]列C805に記述されているファイル名「C」が記述されているレコード番号「2」のレコードを抽出し(図12:S1209)、抽出したレコードの[順位]列C1105に有効な値が記述されているか否か、つまり[終点ファイル名]列C805に記述されているファイル名の順位が決定しているか否かを判断する(図12:S1211)。ここでは、CPU211は、抽出したレコード番号「2」のレコードの[順位]列C1105に有効な値が記述されていないので、当該[順位]列C1105に、注目対象ファイル名の[順位]列の値「0」に値「1」を加算した値「1」を記述する(図12:S1213)。このときのファイル順位情報テーブルを図11Cに、また、ファイル相関図を図16Bに示す。 The
CPU211は、ステップS1207で取得した[終点ファイル名]列C805に記述されているファイル名「C」を注目対象ファイル名に設定する(図12:S1215)。そして、CPU211は、設定した注目対象ファイル名について、順位決定処理(図10:S1007)を実行する。注目対象ファイル名を「C」として、順位決定処理が終了した段階でのファイル相関図を図16Cに示す。 The
次に、注目対象ファイル名を「E」に設定した場合について説明する。この段階では、ファイル名「E」に関する[順位]列C1105には、値「2」が記述されている。つまり、ファイル名「E」の順位は「2」と決定している。 Next, the case where the target file name is set to “E” will be described. At this stage, a value “2” is described in the [rank] column C1105 for the file name “E”. That is, the order of the file name “E” is determined as “2”.
CPU211は、ファイル連結情報テーブルの[起点ファイル名]列C803若しくは[終点ファイル名]列C805に、注目対象ファイル名「E」が記述されているレコード番号「2」、「3」、「4」のレコードを注目レコードとして取得する(図12:S1201)。CPU211は、注目レコードから一のレコード番号「2」のレコードを抽出する(図12:S1203)。CPU211は、取得したレコード番号「2」のレコードについて、注目対象ファイル名「E」が[終点ファイル名]列C805に記述されていると判断し(図12:S1205)、抽出したレコードの[起点ファイル名]列C803に記述されているファイル名「C」を取得する(図12:S1217)。CPU211は、ファイル順位情報テーブルの[対象ファイル名]列C1103に取得した[起点ファイル名]列C803に記述されているファイル名「C」が記述されているレコード番号「3」のレコードを抽出し(図12:S1219)、抽出したレコードの[順位]列C1105に有効な値が記述されているか否か、つまり[起点ファイル名]列C803に記述されているファイル名の順位が決定しているか否かを判断する(図12:S1221)。 The
CPU211は、ステップS1221において抽出したレコードの[順位]列C1105に有効な値「1」が記述されているので、他の注目レコード(レコード番号「3」、「4」のレコード)について、上記処理を繰り返す。 Since the effective value “1” is described in the [order] column C1105 of the record extracted in step S1221, the
CPU211は、注目レコードから一のレコード番号「3」のレコードを抽出する(図12:S1203)。CPU211は、取得したレコード番号「3」のレコードについて、注目対象ファイル名「E」が[終点ファイル名]列C805に記述されていると判断し(図12:S1205)、抽出したレコードの[起点ファイル名]列C803に記述されているファイル名「D」を取得する(図12:S1217)。CPU211は、ファイル順位情報テーブルの[対象ファイル名]列C1103に取得した[起点ファイル名]列C803に記述されているファイル名「D」が記述されているレコード番号「4」のレコードを抽出し(図12:S1219)、抽出したレコードの[順位]列C1105に有効な値が記述されているか否か、つまり[起点ファイル名]列C803に記述されているファイル名の順位が決定しているか否かを判断する(図12:S1221)。ここでは、CPU211は、抽出したレコード番号「4」のレコードの[順位]列C1105に有効な値が記述されていないので、当該[順位]列C1105に、注目対象ファイル名「E」の[順位]列の値「2」から値「1」を減算した値「1」を記述する(図12:S1213)。このときのファイル相関図を図16Bに示す。 The
CPU211は、他の注目レコード(レコード番号のレコード)について、上記処理を繰り返す。CPU211は、注目レコードから一のレコード番号「4」のレコードを抽出する(図12:S1203)。CPU211は、取得したレコード番号「4」のレコードについて、注目対象ファイル名「E」が[起点ファイル名]列C803に記述されていると判断し、抽出したレコード番号「4」のレコードの[終点ファイル名]列C805に記述されているファイル名「B」を取得する(図12:S1207)。CPU211は、図8Aのファイル順位情報テーブルの[対象ファイル名]列C1103に、取得した[終点ファイル名]列C805に記述されているファイル名「B」が記述されているレコード番号「2」のレコードを抽出し(図12:S1209)、抽出したレコードの[順位]列C1105に有効な値が記述されているか否か、つまり[終点ファイル名]列C805に記述されているファイル名の順位が決定しているか否かを判断する(図12:S1211)。ここでは、CPU211は、抽出したレコード番号「2」のレコードの[順位]列C1105に有効な値が記述されていないと判断し、当該[順位]列C1105に、注目対象ファイル名「E」の[順位]列の値「2」に値「1」を加算した値「3」を記述する(図12:S1213)。このときのファイル相関図を図16Dに示す。 The
CPU211は、ステップS1207で取得した[終点ファイル名]列C803に記述されているファイル名「B」を注目対象ファイル名に設定する(S1225)。そして、CPU211は、注目対象ファイル名「B」について、順位決定処理(S1007:図10参照)を実行する。順位決定処理によって、CPU211、対象ファイル名「B」との順位を「3」と決定する。なお、処理の詳細についてはこれまでの順位決定処理と同様ゆえ、記載を省略する。このときのファイル相関図を図17Aに示す。 The
以降、CPU211は、注目対象ファイル名「F」、「G」について、順位決定処理(S1007:図10参照)を実行する。順位決定処理によって、CPU211、対象ファイル名「F」との順位を「4」と、対象ファイル名「G」との順位を「5」と、それぞれ決定する。なお、処理の詳細についてはこれまでの順位決定処理と同様ゆえ、記載を省略する。対象ファイル名「F」との順位を「4」と決定したときのファイル相関図を図17Bに、対象ファイル名「G」との順位を「5」と決定したときのファイル相関図を図17Cに、それぞれ示す。 Thereafter, the
4.3.3 配置アドレス情報生成処理
ファイル順位情報テーブルの生成が終了すると、CPU211は、生成したファイル順位情報テーブルに基づいて、配置アドレス情報生成処理(図13)を実行する。配置アドレス生成処理の詳細についての記述は省略する。CPU211は、配置アドレス生成処理の結果、図14に示す配置アドレス情報テーブルを生成する。なお、ここでは、ファイル名「A」、のファイルサイズは、[アドレス]列の値「0010」から値「0000」を減算した値に対応するファイルサイズである。他のファイル名についても同様である。4.3.3 Arrangement Address Information Generation Processing When the generation of the file order information table is completed, the
図14に基づき各ファイルを配置すると、最終的に、各ファイルは図18Aに示すファイル配置図のように配置される。なお、図18Aにおいて、ファイル名に続く括弧書きは、対応するプロセス名を表している。
When each file is arranged based on FIG. 14, each file is finally arranged as shown in the file arrangement diagram of FIG. 18A. In FIG. 18A, parentheses following the file name represent the corresponding process name.
[その他の実施形態]
(1)記憶手段
前述の実施例1においては、記憶手段として、ハードディスク213を例示したが、データを記憶するものであれば例示のものに限定されない。例えば、光ディスク、半導体メモリ等でもよい。[Other Embodiments]
(1) Storage Unit In the first embodiment, the
(2)ReadFile・WriteFile
前述の実施例1においては、CPU211は、APIに含まれる命令や関数へのアクセスがあったと判断する際に、マイクロソフト社のOSであるwindows(商標)におけるAPIのファイルの読み込みを表すReadFile若しくはファイルへの書き込みを表すWriteFileを判断の対象とした(図5:S505参照)。しかし、CPU211が判断の対象とするのは、マイクロソフト社のOSであるwindows(商標)に関するものに限定されるものではない。例えば、サンマイクロシステムズ社のOSであるsolaris(商標)やThe Open GroupのOSであるUNIX(商標)に関するものであってもよい。(2) ReadFile / WriteFile
In the first embodiment described above, when the
また、第1のデータと前記第2のデータが関連付けるにあたって、APIにおける関数「ReadFile」及び「WriteFile」を示したが、両データを関連付けることができるものであれば、例示のものに限定されない。例えば、Windows XP(商標)、Windows Server 2003(商標)における「openfiles.exe」、Windows XP以前のWindowsにおける「FileMon」、またLinux(商標)、UNIX(商標)における「ls」であってもよい。 In addition, the functions “ReadFile” and “WriteFile” in the API are shown for associating the first data and the second data. However, the functions are not limited to the examples as long as both data can be associated. For example, “openfiles.exe” in Windows XP (trademark), Windows Server 2003 (trademark), “FileMon” in Windows before Windows XP, or “ls” in Linux (trademark) and UNIX (trademark) may be used. .
(3)時間的前後関係
前述の実施例1においては、アクセス履歴情報を各プロセスが発生した順に、既に存在するファイルアクセス履歴情報DBにレコードを追加する形で登録することによって、ファイルアクセス履歴情報DBにおけるレコードの時間的前後関係を維持するものとした。しかし、ファイルアクセス履歴情報をファイルアクセス履歴情報DBに登録する際に、当該ファイルアクセス履歴情報に係るプロセスが発生した時間と、対象ファイル名、プロセスファイル名とを関連付けて登録するようにしてもよい。これにより、アクセス履歴情報を各プロセスが発生した順に、ファイルアクセス履歴情報DBに登録する必要はなくなる。(3) Temporal relationship In the first embodiment, file access history information is registered by registering access history information in the order in which each process occurs in the form of adding records to the existing file access history information DB. It was assumed that the temporal relationship of records in the DB was maintained. However, when registering the file access history information in the file access history information DB, the time when the process related to the file access history information has occurred, the target file name, and the process file name may be registered in association with each other. . This eliminates the need to register access history information in the file access history information DB in the order in which each process occurred.
(4)ファイルアクセス履歴情報DB
前述の実施例1においては、ファイル再配置装置21において生じた各プロセスについて、当該ファイル再配置装置21がファイルアクセス履歴情報DBを生成していた。しかし、アクセス履歴情報を取得できるものであれば、例示のものに限定されない。例えば、サーバーと端末とがネットワークを構成しているシステムにおいて、サーバが、各端末におけるプロセスを監視して、各端末毎のファイルアクセス履歴情報DBを生成するようにしてもよい。(4) File access history information DB
In the first embodiment described above, the
(5)配置アドレス情報
前述の実施例1では、ファイル再配置装置21が、当該ファイル再配置装置21のハードディスク213に存在する各ファイルを再配置するために配置アドレス情報を生成することとした。しかし、ファイル再配置装置21は、他のコンピュータ等について配置アドレス情報を生成するようにしてもよい。この場合、配置アドレス情報をファイル再配置装置21が生成し、実際に行うファイルの再配置は、他のコンピュータ等で行うようにすればよい。(5) Placement Address Information In the first embodiment, the
(6)順位に基づく配置アドレス情報の生成
前述の実施例1においては、ファイル順位情報における同一順位を有するファイルについては、連続した配置位置としたが、各ファイルを近接した位置に配置できるものであれば例示のものに限定されない。例えば、同一プロセスに関するファイルを連続的に配置するようにしてもよい。(6) Generation of arrangement address information based on rank In the above-described first embodiment, the files having the same rank in the file rank information are set as continuous arrangement positions, but each file can be arranged at a close position. If there is, it is not limited to the example. For example, files related to the same process may be continuously arranged.
また、同一順位を有するファイルについては、各ファイル毎にアクセス頻度を算出し、アクセス頻度が高いファイルをより重複ファイルに近い位置に配置するようにしてもよい。例えば、図15におけるファイル相関関係において、同一順位であるファイルC及びファイルDのアクセス頻度を算出すると、ファイルCび方がファイルDよりもアクセス頻度が高い場合、ファイルCをファイルEに近い位置に配置する。この場合、図18Bに示すように配置される。これにより、全体的なファイルアクセスの速度が速くなる。 Further, for files having the same order, the access frequency may be calculated for each file, and a file with a high access frequency may be arranged at a position closer to a duplicate file. For example, in the file correlation in FIG. 15, when the access frequencies of the files C and D that are in the same order are calculated, if the access frequency of the file C is higher than that of the file D, the file C is positioned closer to the file E. Deploy. In this case, they are arranged as shown in FIG. 18B. This increases the overall file access speed.
(7)ファイル再配置装置21における機能の選択
前述の実施例1においては、ファイル再配置装置21は、ファイルアクセス履歴取得処理、ファイル連結情報生成処理、ファイル順位情報生成処理、配置アドレス情報生成処理、及びデフラグ処理を行うこととした。しかし、ファイル連結情報生成処理、ファイル順位情報生成処理、及び配置アドレス情報生成処理をベースとして、他の処理を選択的に組み合わせるようにしてもよい。(7) Function Selection in
(8)フローチャートにおける処理の順番
前述の実施例1においては、図に示した各フローチャートに基づいて、各処理を実現するようにした。しかし、各処理を実現できるものであれば、各フローチャート内における処理の順番は例示のものに限定されない。(8) Order of processing in flowchart In the first embodiment, each processing is realized based on each flowchart shown in the figure. However, as long as each process can be realized, the order of the processes in each flowchart is not limited to the example.
(9)重複レコードの削除
前述の実施例1においては、ファイル連結情報生成処理で重複レコードを削除する際に(S709、S727)、重複レコードのレコード番号が最も小さいレコード以外のレコードを削除することとした。しかし、重複レコードを削除できるものであれば例示のものに限定されない。例えば、重複レコード毎のアクセス頻度を算出し、アクセス頻度が最も高いもの以外のレコードを削除するようにしてもよい。
(9) Deletion of duplicate record In the first embodiment, when deleting a duplicate record in the file connection information generation process (S709, S727), a record other than the record with the smallest record number of the duplicate record is deleted. It was. However, the present invention is not limited to the example as long as duplicate records can be deleted. For example, the access frequency for each duplicate record may be calculated, and records other than those having the highest access frequency may be deleted.
M1・・・・・データ配置装置
M11・・・・・アクセス履歴情報取得手段
M13・・・・・データ配置位置決定手段
M15・・・・・記憶制御手段
M17・・・・・アクセス利例情報生成手段
M19・・・・・記憶手段
21・・・・・ファイル再配置装置M1... Data arrangement device M11... Access history information acquisition means M13... Data arrangement position determination means M15.
M17... Access example information generation means M19... Storage means 21.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006351381AJP2008165315A (en) | 2006-12-27 | 2006-12-27 | Data arranging device |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006351381AJP2008165315A (en) | 2006-12-27 | 2006-12-27 | Data arranging device |
| Publication Number | Publication Date |
|---|---|
| JP2008165315Atrue JP2008165315A (en) | 2008-07-17 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006351381APendingJP2008165315A (en) | 2006-12-27 | 2006-12-27 | Data arranging device |
| Country | Link |
|---|---|
| JP (1) | JP2008165315A (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012185771A (en)* | 2011-03-08 | 2012-09-27 | Nec Corp | Information processor, defragmentation method, and defragmentation program |
| WO2014136183A1 (en)* | 2013-03-04 | 2014-09-12 | 株式会社日立製作所 | Storage device and data management method |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012185771A (en)* | 2011-03-08 | 2012-09-27 | Nec Corp | Information processor, defragmentation method, and defragmentation program |
| WO2014136183A1 (en)* | 2013-03-04 | 2014-09-12 | 株式会社日立製作所 | Storage device and data management method |
| Publication | Publication Date | Title |
|---|---|---|
| JP2009187136A (en) | Electronic file management apparatus and electronic file management method | |
| JP6996629B2 (en) | Verification automation equipment, verification automation methods, and programs | |
| US20070150433A1 (en) | Method for managing file in version control system | |
| JP4755244B2 (en) | Information generation method, information generation program, and information generation apparatus | |
| US10042570B2 (en) | Tape backup and restore in a disk storage environment with intelligent data placement | |
| JP2005148854A (en) | File system and program | |
| JP2008165315A (en) | Data arranging device | |
| CN112800007B (en) | Directory entry expansion method and system suitable for FAT32 file system | |
| JPWO2010044150A1 (en) | Program change management apparatus, program change management program, and program change management method | |
| CN108304144B (en) | Data writing-in and reading method and system, and data reading-writing system | |
| KR102067504B1 (en) | Spreadsheet document editing apparatus for performing an automatic filter function through the creation of a temporary header and operating method thereof | |
| CN112416657A (en) | System cloning method | |
| JP4854973B2 (en) | Storage control program, storage control method, storage control device, and storage control system | |
| JP4390618B2 (en) | Database reorganization program, database reorganization method, and database reorganization apparatus | |
| CN114020541B (en) | Backup data display method, device, equipment and storage medium | |
| JP4992439B2 (en) | CAD system projection method, CAD system projection program, and CAD system | |
| CN102331953A (en) | Method and device for repairing disk partition failure | |
| JP2006040065A (en) | Data storage device and data storage method | |
| US7747635B1 (en) | Automatically generating efficient string matching code | |
| JP6648567B2 (en) | Data update control device, data update control method, and data update control program | |
| JP7356013B2 (en) | Information presentation program, information presentation device, and information presentation method | |
| CN115827323B (en) | Method, apparatus and computer readable medium for restoring files | |
| JPH1069421A (en) | Programmable option for volume mount of computer system | |
| JP4037219B2 (en) | Data read program, data read method, and data read device | |
| JP4236614B2 (en) | Authoring tool, authoring method |
| Date | Code | Title | Description |
|---|---|---|---|
| RD04 | Notification of resignation of power of attorney | Free format text:JAPANESE INTERMEDIATE CODE: A7424 Effective date:20080630 |