JP2002182953A - Distributed file management method - Google Patents

Distributed file management method

Info

Publication number
JP2002182953A
JP2002182953A JP2000383124A JP2000383124A JP2002182953A JP 2002182953 A JP2002182953 A JP 2002182953A JP 2000383124 A JP2000383124 A JP 2000383124A JP 2000383124 A JP2000383124 A JP 2000383124A JP 2002182953 A JP2002182953 A JP 2002182953A
Authority
JP
Japan
Prior art keywords
file
blocks
logical
block
sub
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.)
Pending
Application number
JP2000383124A
Other languages
Japanese (ja)
Inventor
Yuji Nishimura
祐二 西村
Kazuhito Sugiyama
和仁 杉山
Wakichi Matsui
和吉 松井
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.)
Hitachi Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Hitachi Ltd
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 Hitachi Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2000383124A priority Critical patent/JP2002182953A/en
Publication of JP2002182953A publication Critical patent/JP2002182953A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Abstract

PROBLEM TO BE SOLVED: To accelerate parallel disk device access at the time of I/O requests in a method of distributing and arranging a plurality of logic files to disk units by a striping file mechanism. SOLUTION: In this method of distributing and arranging the logic file 603 to sub-filing systems 614-617, stride groups SG0-SG3 which are the sets of file blocks are generated so as to arrange the file blocks FB0-FB15 of the same file in the batch area of the disk devices 610-613 and they are written altogether to the respective sub-filing systems by the stride group unit. Also, when accessing the file block, the successive file blocks FB4-FB15 are looked ahead to the buffer cache 604 of a master filing system 605, the number of times of requesting read to the sub-filing systems is reduced and file access is accelerated further.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、マスタファイルシ
ステムに仮想的に存在する論理ファイルを、複数ディス
ク装置に分割して保存することで、並行して複数ディス
ク装置のファイルブロックにアクセス出来るようにする
ストライピングファイル機構と呼ばれるファイル運用方
法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method of dividing a logical file virtually existing in a master file system into a plurality of disk devices and storing the divided logical files so that the file blocks of the plurality of disk devices can be accessed in parallel. This is related to a file operation method called a striping file mechanism.

【0002】[0002]

【従来の技術】従来より、特開平9−223049号公
報に記載のような、ストライピングファイル機構によ
る、論理ファイルを複数ディスク装置に分割して配置す
る方法で、論理ファイルへのI/O要求時に、複数ディ
スク装置に並行してアクセスできることは知られてお
り、並列計算機での大容量ファイル管理において、本フ
ァイルアクセス技術は、広く利用されている。
2. Description of the Related Art Conventionally, a method of dividing a logical file into a plurality of disk devices and arranging the logical file on a plurality of disk devices by a striping file mechanism as disclosed in Japanese Patent Application Laid-Open No. 9-223049 has been proposed when an I / O request to the logical file is made. It is known that a plurality of disk devices can be accessed in parallel, and this file access technology is widely used in large-capacity file management in a parallel computer.

【0003】[0003]

【発明が解決しようとする課題】上記従来技術は、論理
ファイルを複数ディスク装置に分散配置することで、並
列アクセスを可能にして、大容量ファイルへの読み出し
要求の高速化を図るものであったが、ディスク装置への
書き込み時、分割されたファイルブロック群に対して、
同一ディスク装置へ格納するデータ群という認識をせ
ず、各ファイルブロックを個別にディスク装置に格納す
るため、ディスク装置上でのファイルブロックの配置に
ばらつきが生じ、ファイル読み出し時、ディスク装置の
回転待ち、シーク(ファイルブロックの検索)の回数が
増加するため、性能劣化の原因となっていた。
In the above-mentioned prior art, parallel access is enabled by distributing logical files to a plurality of disk devices, and the read request for a large-capacity file is speeded up. However, when writing to the disk device,
Since each file block is stored individually in the disk device without recognizing the data group to be stored in the same disk device, the arrangement of the file blocks on the disk device varies, and when reading a file, the disk device waits for rotation. However, the number of seeks (searching for file blocks) increases, which causes performance degradation.

【0004】本発明の目的は、ストライピングファイル
機構により論理ファイルを複数ディスク装置に分散配置
する方法において、ファイル読み出し時のディスク装置
へ並列での読み出しの効率化を図り、大容量ファイルへ
の読み出し時間の短縮をすることにある。
[0004] It is an object of the present invention to provide a method for distributing logical files to a plurality of disk devices by a striping file mechanism, to improve the efficiency of parallel reading to a disk device when reading a file, and to reduce the time required to read a large capacity file. Is to shorten the time.

【0005】[0005]

【課題を解決するための手段】上記目的を達成するため
に、ストライピングファイル機構による論理ファイルの
分散管理方法において、論理ファイルを複数ディスク装
置に分散配置するとき、各ディスク装置に配置する同一
ファイルのファイルブロックを一括して書き込みしてお
くことで、ディスク装置からのファイルブロックの読み
出し時にシークの回数を削減し、ファイルへのアクセス
時間を短縮するものである。また、ファイルのブロック
を一括してディスク装置への書き込みをすることで、フ
ァイル読み出し時にマスタファイルシステムのバッファ
キャッシュに、これからアクセスが発生するファイルブ
ロックの先読みを可能にし、各ディスク装置への読み出
し要求の回数を削減するため、ファイルの読み出し時間
の短縮化を図るものである。
In order to achieve the above object, in a method for managing logical files in a distributed manner by a striping file mechanism, when a logical file is distributed to a plurality of disk units, the same file allocated to each disk unit is allocated to the logical unit. By writing the file blocks in a lump, the number of seeks when reading the file blocks from the disk device is reduced, and the access time to the file is reduced. In addition, by writing the file blocks to the disk device all at once, it becomes possible to read ahead the file block to be accessed in the buffer cache of the master file system at the time of reading the file, and to make a read request to each disk device. In order to reduce the number of times, the file reading time is shortened.

【0006】[0006]

【発明の実施の形態】以下、本発明の実施の形態につい
て説明する。図1は、本発明の一実施例の全体構造であ
り、101はマスタファイル、102は構成定義ファイ
ル、103は論理ファイル、FB0〜FB15は論理フ
ァイルを一定のサイズに分割したファイルブロック、S
G0〜SG3はファイルブロックの集合であるストライ
ドグループ、104は101、102、及び103を格
納するマスタファイルシステム、105〜108はサブ
ファイルAからD、109〜112はディスク装置Aか
らD、113から116はサブファイル、及びディスク
装置を格納するサブファイルシステムAからDを示す。
Embodiments of the present invention will be described below. FIG. 1 shows the overall structure of an embodiment of the present invention. 101 is a master file, 102 is a configuration file, 103 is a logical file, FB0 to FB15 are file blocks obtained by dividing the logical file into a certain size, and S
G0 to SG3 are stride groups which are sets of file blocks, 104 is a master file system for storing 101, 102, and 103, 105 to 108 are subfiles A to D, 109 to 112 are disk devices A to D, and 113 are Reference numeral 116 denotes a subfile and subfile systems A to D for storing disk devices.

【0007】マスタファイルは、論理ファイルのファイ
ルブロックがどのサブファイルに格納しているかの情報
を持ち、分散配置された論理ファイルを管理する。構成
定義ファイルは、ストライピングファイル機構を使用す
るうえで、設定するべき情報を定義する。これらの情報
には、ストライピングファイル機構が使用するサブファ
イルシステム、ファイルを分割する際のファイルブロッ
クのサイズが含まれる。論理ファイルは、分割して管理
する対象となるファイルで、マスタファイルシステム内
に論理上作成される。ファイルブロックは、論理ファイ
ルを一定のサイズに分割したファイルブロックで、サブ
ファイルとして分散管理される最小単位である。ストラ
イドグループは、同一ファイルシステムに分配されるフ
ァイルブロックをグループ化したもので、サブファイル
分割のときに用いる単位である。マスタファイルシステ
ムは、ストライピングファイル機構を使用するファイル
システムで、論理ファイル、マスタファイルを管理する
ファイルシステムである。各サブファイルは、サブファ
イルシステム上の実データが格納されているファイルで
ある。各ディスク装置は、物理的にファイルを格納する
装置で、1サブファイルシステムは、1ディスク装置を
マウントすることにより、ファイルシステムを作成す
る。各サブファイルシステムは、サブファイルが格納さ
れているファイルシステムである。
[0007] The master file has information on which sub file is stored in the file block of the logical file, and manages the distributed logical file. The configuration definition file defines information to be set when using the striping file mechanism. These pieces of information include the sub-file system used by the striping file mechanism and the size of a file block when dividing a file. A logical file is a file to be divided and managed, and is logically created in the master file system. A file block is a file block obtained by dividing a logical file into a certain size, and is a minimum unit that is distributed and managed as a subfile. The stride group is a grouping of file blocks distributed to the same file system, and is a unit used for sub-file division. The master file system is a file system that uses a striping file mechanism and manages logical files and master files. Each subfile is a file in which actual data on the subfile system is stored. Each disk device physically stores a file, and one sub-file system creates a file system by mounting one disk device. Each sub file system is a file system in which a sub file is stored.

【0008】本発明は、マスタファイルシステムにある
論理ファイルを一定のサイズに分割したファイルブロッ
クを、複数のサブファイルシステムのディスク装置に分
割して配置し、アプリケーションからのI/O要求をそ
れぞれのサブファイルが並行して実行することで、ファ
イルアクセスの高速化をはかるものである。図1で、論
理ファイルは、一定のサイズに分割されたファイルブロ
ック0から15で構成している。これらのファイルブロ
ックを複数のディスク装置に配置するマスタファイルシ
ステムは、その構成定義ファイルによりこれらファイル
ブロックの分配対象となるサブファイルシステムを予め
限定している。図1で、サブファイルシステム用にマウ
ントされたディスク装置が4個であるとする。このと
き、論理ファイルのファイルブロック0、4、8、12
がサブファイルシステムAのディスク装置Aへ、ファイ
ルブロック1、5、9、13がサブファイルシステムB
のディスク装置Bへ、ファイルブロック2、6、10、
14がサブファイルシステムCのディスク装置Cへ、フ
ァイルブロック3、7、11、15がサブファイルシス
テムDのディスク装置Dへ分散配置することは、構成定
義ファイルから導かれる対象サブファイルシステムとフ
ァイルブロック数により決定している。論理ファイルと
サブファイルとの関係を管理するマスタファイルは、フ
ァイルブロックをディスク装置に配置するとき、ファイ
ルブロック単位で当該ディスク装置に書き込みをするこ
となく、最初に同一ディスク装置に分配されるファイル
ブロックをグループ化する。この一纏にしたファイルブ
ロック群をストライドグループと呼ぶ。ファイルブロッ
ク0、4、8、12をストライドグループ0、ファイル
ブロック1、5、9、13をストライドグループ1、フ
ァイルブロック2、6、10、14をストライドグルー
プ2、ファイルブロック3、7、11、15をストライ
ドグループ3として、各ストライドグループ単位で対象
サブファイルシステムのディスク装置へ一括して書き込
む。
According to the present invention, a file block obtained by dividing a logical file in a master file system into a predetermined size is divided and arranged in a plurality of disk devices of a sub file system, and an I / O request from an application is transmitted to each of the disk devices. By executing the sub-files in parallel, the speed of file access is increased. In FIG. 1, the logical file is composed of file blocks 0 to 15 divided into a certain size. In the master file system in which these file blocks are arranged in a plurality of disk devices, the configuration file defines in advance the sub-file systems to which the file blocks are to be distributed. In FIG. 1, it is assumed that there are four disk devices mounted for the sub file system. At this time, file blocks 0, 4, 8, 12 of the logical file
To the disk device A of the sub-file system A, and the file blocks 1, 5, 9, and 13 to the sub-file system B.
File blocks 2, 6, 10,
14 is distributed to the disk device C of the sub-file system C, and the file blocks 3, 7, 11, 15 are distributed to the disk device D of the sub-file system D. Determined by number. The master file that manages the relationship between a logical file and a subfile is a file block that is first distributed to the same disk device without writing to the disk device in file block units when allocating the file block to the disk device. Is grouped. This group of file blocks is called a stride group. File blocks 0, 4, 8, and 12 are stride group 0, file blocks 1, 5, 9, and 13 are stride group 1, file blocks 2, 6, 10, and 14 are stride group 2, and file blocks 3, 7, 11,. 15 as a stride group 3 and collectively write to the disk device of the target sub-file system for each stride group.

【0009】図2に、本方法における一ファイル分配処
理の詳細を説明する。図2は、本分散ファイル管理方法
を実現するために、マスタファイルシステムが論理ファ
イルの分割時に行う処理について示すものである。S2
01で、構成定義ファイルより、ストライピングファイ
ル機構に使用可能なサブファイルシステムとその数を、
またファイルを分割するファイルブロックのサイズを読
み出す。S202で論理ファイルをファイルブロックサ
イズに分割し、分割したファイルブロックの総数をn個
とする。分割したファイルブロックを前から順番にブロ
ック番号0からn−1とする。このとき、最後のファイ
ルブロックが定義されたファイルブロックサイズに満た
ないときでも、1ファイルブロックとみなし、ブロック
番号を定義する。ファイルブロックにブロック番号を定
義した後、S203で、ブロック番号をサブファイルシ
ステム数で割った余りが同じファイルブロックを集めて
ストライドグループにする。また、この余りをストライ
ドグループ番号とする。S204において、S203で
生成したストライドグループをストライドグループ番号
の順にサブファイルシステムに割り当てる。
FIG. 2 illustrates details of one file distribution process in the present method. FIG. 2 shows a process performed by the master file system when dividing a logical file in order to realize the present distributed file management method. S2
01, from the configuration file, the number of sub file systems that can be used for the striping file
Also, the size of the file block for dividing the file is read. In S202, the logical file is divided into file block sizes, and the total number of the divided file blocks is set to n. The divided file blocks are assigned block numbers 0 to n-1 in order from the beginning. At this time, even when the last file block is smaller than the defined file block size, it is regarded as one file block and a block number is defined. After the block numbers are defined for the file blocks, in S203, file blocks having the same remainder as the division of the block number by the number of sub-file systems are collected to form a stride group. The remainder is used as a stride group number. In S204, the stride groups generated in S203 are assigned to the sub file systems in the order of the stride group numbers.

【0010】図3では、上記分散ファイル管理方法を用
いて、複数の論理ファイルを同一ディスク装置に分配し
たときのファイルブロックの配置を説明する。図3にお
いて、301はマスタファイル、302は構成定義ファ
イル、303は論理ファイル1、304は論理ファイル
2、FB0〜FB15は論理ファイル1を一定のサイズ
に分割したファイルブロック、SG0〜SG3は論理フ
ァイル1のファイルブロックの集合であるストライドグ
ループ、FB16〜FB27は論理ファイル2を一定の
サイズに分割したファイルブロック、Sg0〜Sg3は
論理ファイル2のファイルブロックの集合であるストラ
イドグループ、305は301、302、303、及び
304を格納するマスタファイルシステム、306〜3
09は論理ファイル1を分割しサブファイルシステムに
配置したサブファイル1A〜1D、310〜313は論
理ファイル2を分割しサブファイルシステムに配置した
サブファイル2A〜2D、314〜317はディスク装
置AからD、318〜321は二つのサブファイル、及
びディスク装置を格納するサブファイルシステムA〜D
を示す。サブファイルシステムAのディスク装置Aにお
いて、論理ファイル1のストライドグループSG0と論
理ファイル2のストライドグループSg0の書き込みが
競合したとき、それぞれのファイルブロック群がストラ
イドグループとして一括してディスク装置Aに書き込ま
れる。これにより、2つの異なる論理ファイルに属する
ファイルブロックが交互に(または、混じり合って)デ
ィスク装置に書き込まれることを避け、ディスク装置内
の空き領域になるべく同一論理ファイルのファイルブロ
ックが続けて配置されることで、ファイルブロックの読
み出し時の回転待ち、シークを削減することが可能とな
り、ファイルの読み出し要求の効率化を図る。
FIG. 3 illustrates the arrangement of file blocks when a plurality of logical files are distributed to the same disk device using the above-described distributed file management method. 3, reference numeral 301 denotes a master file, 302 denotes a configuration file, 303 denotes a logical file 1, 304 denotes a logical file, FB0 to FB15 denote file blocks obtained by dividing the logical file 1 into a certain size, and SG0 to SG3 denote logical files. 1, FB16 to FB27 are file blocks obtained by dividing the logical file 2 into a predetermined size, Sg0 to Sg3 are stride groups each being a set of file blocks of the logical file 2, and 305 is 301 and 302. , 303, and 304, 306-3
Reference numeral 09 denotes the sub-files 1A to 1D in which the logical file 1 is divided and arranged in the sub-file system, and 310 to 313 denote the sub-files 2A to 2D in which the logical file 2 is divided and arranged in the sub-file system. D, 318 to 321 are two subfiles and subfile systems A to D for storing disk devices.
Is shown. In the disk device A of the sub file system A, when the writing of the stride group SG0 of the logical file 1 and the writing of the stride group Sg0 of the logical file 2 conflict with each other, the respective file block groups are collectively written to the disk device A as a stride group. . As a result, file blocks belonging to two different logical files are prevented from being alternately (or mixedly) written to the disk device, and file blocks of the same logical file are continuously arranged as much as possible in the free space in the disk device. This makes it possible to reduce the number of rotation waits and seeks when reading a file block, thereby improving the efficiency of a file read request.

【0011】図4に、サブファイルシステムにおいて、
マスタファイルシステムより割り当てられたストライド
グループをディスク装置に配置する処理の方法を説明す
る。S401で、マスタファイルシステムよりストライ
ドグループ単位のファイルブロック群を受け取る。S4
02において、マスタファイルシステムから受け取った
ファイルブロックを一括して、ディスク装置の空き領域
に割り当てていく。本処理方式により、2論理ファイル
以上のファイルブロック群を同一ディスク装置に書き込
もうとすると、必ず同一論理ファイルのファイルブロッ
ク群に対する書き込みが完了してから、次の論理ファイ
ルのファイルブロック群に対する書き込みが開始される
ため、異なる論理ファイルに属するファイルブロックが
混在して、ディスク装置に書き込まれることが無いこと
を保証する。
FIG. 4 shows a sub-file system.
A method of allocating a stride group assigned by the master file system to a disk device will be described. In step S401, a file block group for each stride group is received from the master file system. S4
In 02, the file blocks received from the master file system are collectively allocated to the free space of the disk device. When the file block group of two or more logical files is written to the same disk device by this processing method, the writing to the file block group of the next logical file is started after the writing to the file block group of the same logical file is completed. Therefore, it is ensured that file blocks belonging to different logical files are not mixed and written to the disk device.

【0012】次に本分散ファイル管理方法において、論
理ファイルへの読み出し時のファイルアクセス方式につ
いて説明する。図5は、図1における論理ファイルに読
み出し要求があった場合のファイルアクセス方法を説明
するもので、501は論理ファイル、FB0〜FB15
は論理ファイルを一定のサイズに分割したファイルブロ
ック、SG0〜SG3はファイルブロックの集合である
ストライドグループ、502〜505はサブファイルA
からD、506〜509はディスク装置AからDを示
す。図5で、論理ファイルのファイルブロック0から4
に読み出し要求があった場合、ファイルブロック0から
3までを並行に読み出すことが可能で、且つ、ディスク
装置Aではファイルブロック0の読み出し要求を実行し
た後、直ちにファイルブロック4の読み出し要求を実行
することが出来る。従来は、ファイルへの書き込み時、
分割されたファイルブロック群に対して、同一ディスク
装置へ格納すると認識せずに、各ブロックを別々にディ
スク装置に書き込んでいたため、ファイル読み出し時に
ディスク装置上でのファイルブロックの配置にばらつき
が生じ、ディスク装置の回転待ち、シークの回数が増加
し、性能劣化の原因となった。一方、同じ論理ファイル
に属するファイルブロックを一纏めにして書き込んだ場
合、読み出し時の回転待ち、シークの回数を削減し、効
率よく同一論理ファイルのファイルブロック群を読み出
すことが可能である。
Next, a description will be given of a file access method for reading a logical file in the distributed file management method. FIG. 5 illustrates a file access method when a read request is issued to a logical file in FIG. 1, where 501 is a logical file, FB0 to FB15
Is a file block obtained by dividing a logical file into a certain size, SG0 to SG3 are stride groups each being a set of file blocks, and 502 to 505 are subfiles A.
To D and 506 to 509 indicate disk devices A to D. In FIG. 5, file blocks 0 to 4 of the logical file
, It is possible to read file blocks 0 to 3 in parallel, and the disk device A immediately executes a read request for file block 0 and then immediately executes a read request for file block 4. I can do it. Previously, when writing to a file,
Each block was separately written to the disk device without recognizing that it was stored on the same disk device for the divided file block group, so the file block arrangement on the disk device varied when reading the file. In this case, the number of times of waiting for the rotation of the disk device and the number of seeks increased, resulting in performance deterioration. On the other hand, when the file blocks belonging to the same logical file are collectively written, it is possible to efficiently read the file block group of the same logical file by reducing the rotation waiting and the number of seeks at the time of reading.

【0013】次に示す実施例では、本ファイル管理方法
において、サブファイルを読み出すとき、マスタファイ
ルが管理している情報より、ファイルブロックを先読み
し、それらをマスタファイルシステムのバッファキャッ
シュに保存する方法を示す。本ファイル管理方法では読
み出し要求があった場合、最初にアクセスがあったファ
イルブロックより、同じディスク装置で次に読み出し要
求が起こり得るファイルブロックは現在読み出している
ファイルブロックと一括して書き込んでいるため、ファ
イルブロックを先読みして、マスタファイルシステムの
バッファキャッシュに保存することが出来る。
In the following embodiment, in this file management method, when reading out a sub-file, a method of pre-reading file blocks from information managed by a master file and storing them in a buffer cache of the master file system. Is shown. According to the file management method, when a read request is issued, a file block to which a read request is likely to occur next in the same disk device is written together with a currently read file block from a file block accessed first. , File blocks can be read ahead and stored in the buffer cache of the master file system.

【0014】図6は、本分散ファイル管理方法において
マスタファイルシステムにバッファキャッシュを装備し
たものを説明する図で、601はマスタファイル、60
2は構成定義ファイル、603は論理ファイル、604
はバッファキャッシュ、FB0〜FB15は論理ファイ
ルを一定のサイズに分割したファイルブロック、SG0
〜SG3はファイルブロックの集合であるストライドグ
ループ、605は601、602、603、及び604
を格納するマスタファイルシステム、606〜609は
サブファイルAからD、610〜613はディスク装置
AからD、614〜617はサブファイル及びディスク
装置を格納するサブファイルシステムAからDを示す。
FIG. 6 is a diagram for explaining a method in which a buffer cache is provided in a master file system in the present distributed file management method.
2 is a configuration definition file, 603 is a logical file, 604
Is a buffer cache, FB0 to FB15 are file blocks obtained by dividing a logical file into a certain size, SG0
SG3 is a stride group which is a set of file blocks, and 605 is 601, 602, 603, and 604
606 to 609 indicate subfiles A to D, 610 to 613 indicate disk devices A to D, and 614 to 617 indicate subfile systems A to D storing subfiles and disk devices.

【0015】バッファキャッシュは、マスタファイルシ
ステムに装備し、サブファイルシステムより先読みした
ファイルブロックを格納する領域として使用する。
The buffer cache is provided in the master file system and is used as an area for storing a file block read ahead from the sub file system.

【0016】図6において、サブファイルAのファイル
ブロック0にアクセスすると次にファイルブロック4、
8、及び12にアクセスされることが起こり得るため、
これらの領域をファイルブロック0の読み出し要求が出
た時点で、マスタファイルシステム上のバッファキャッ
シュに先読みすることで、再度マスタファイルシステム
からサブファイルシステムへ読み出し要求を出すことな
く、直接マスタファイルシステムが論理ファイルの読み
出し要求に応えることが可能となる。このため、さらに
ファイルアクセスの高速化が図ることができる。
In FIG. 6, when the file block 0 of the sub file A is accessed, the file block 4,
Since it is possible that 8 and 12 are accessed,
By pre-reading these areas to the buffer cache on the master file system when a read request for file block 0 is issued, the master file system can directly access the sub-file system without issuing a read request again from the master file system. It is possible to respond to a logical file read request. Therefore, the speed of file access can be further increased.

【0017】図7では、バッファキャッシュを装備した
マスタファイルシステムを用い、読み出し要求があった
場合のファイルアクセス方法を説明するもので、701
は論理ファイル、702はバッファキャッシュ、FB0
〜FB15は論理ファイルを一定のサイズに分割したフ
ァイルブロック、SG0〜SG3はファイルブロックの
集合であるストライドグループ、703〜706はサブ
ファイルAからD、707〜710はディスク装置Aか
らDを示す。図7で、論理ファイルのファイルブロック
0から8に読み出し要求があった場合、本方式では、フ
ァイルブロック0に読み出し要求が発生すると、ファイ
ルブロック0が属すストライドグループをバッファキャ
ッシュにアップロードすることで、ファイルブロック
4、8、12に読み出し要求する際にサブファイルシス
テムAのディスク装置Aにアクセスする必要性が無くな
り、代わりにバッファキャッシュにあるファイルブロッ
クにアクセスすることが可能となる。同様にストライド
グループSG1、SG2、及びSG3についてもバッフ
ァキャッシュにアップロードすることが出来る。このた
め、論理ファイルへの読み出し要求の範囲が大きいと
き、ストライピングファイル機構を使って複数ディスク
装置から並行してファイルブロックを読み出すととも
に、1回のディスク装置への読み出し要求でディスク装
置内に存在する後続のファイルブロックをアップロード
できるため、以後サブファイルシステムに読み出し要求
を出す必要がなくなり、ファイルアクセスの高速化が図
ることが出来る。
FIG. 7 illustrates a file access method when a read request is made using a master file system equipped with a buffer cache.
Is a logical file, 702 is a buffer cache, FB0
FB15 are file blocks obtained by dividing a logical file into a certain size, SG0 to SG3 are stride groups each of which is a set of file blocks, 703 to 706 are subfiles A to D, and 707 to 710 are disk devices A to D. In FIG. 7, when a read request is issued to file blocks 0 to 8 of the logical file, in this method, when a read request is issued to file block 0, the stride group to which file block 0 belongs is uploaded to the buffer cache. When a read request is issued to the file blocks 4, 8, and 12, it is not necessary to access the disk device A of the sub-file system A, and instead it is possible to access a file block in the buffer cache. Similarly, the stride groups SG1, SG2, and SG3 can be uploaded to the buffer cache. For this reason, when the range of a read request for a logical file is large, a file block is read in parallel from a plurality of disk devices using a striping file mechanism, and the file block exists in the disk device by one read request to the disk device. Since the subsequent file block can be uploaded, it is not necessary to issue a read request to the sub file system thereafter, and the file access can be speeded up.

【0018】図8、9に、本ファイルアクセス方法でバ
ッファキャッシュを装備したときの処理について、フロ
ーチャートを用いて説明する。図8のフローチャートは
マスタファイルシステムでの処理を、図9のフローチャ
ートは各サブファイルシステムでの処理を示す。
Referring to FIGS. 8 and 9, the processing when a buffer cache is provided by the present file access method will be described with reference to flowcharts. The flowchart in FIG. 8 shows processing in the master file system, and the flowchart in FIG. 9 shows processing in each sub file system.

【0019】図8の処理において、マスタファイルシス
テムはS801でアプリケーションより読み出し要求を
受けると、S802の読み出し要求で、最初のファイル
ブロックにアクセスをする。このとき、S803で、ま
ず読み出し要求が発生したファイルブロックが、マスタ
ファイルシステムのバッファキャッシュ内に存在するか
を確認する。最初にアクセスしたファイルブロックは、
キャッシュ内に存在しないため、S805に移行する。
S805では、マスタファイルが管理している情報よ
り、配置したサブファイルシステムに対して、当該ファ
イルブロックと後続するファイルブロックの読み出し要
求を出す。2つ目以降のファイルブロックのアクセスで
は、当該ファイルブロックがバッファキャッシュに格納
されている場合もあるため、その場合はS803からS
804に移行する。S804では、マスタファイルシス
テムのバッファキャッシュより読み出し要求のあったフ
ァイルブロックを読み出す。S806で、読み出し要求
のあった全てのファイルブロックへのアクセスが完了し
たかを確認する。読み出し要求への読み出しが完了して
いる場合、処理を終了する。読み出し要求に対する読み
出しが完了していない場合、S807で読み出し要求の
出ている次のファイルブロックにアクセスをする。この
とき、ファイルブロックが、バッファキャッシュ内に存
在しているかを調べるため、S803に戻る。このよう
に、マスタファイルシステムでは、順次読み出し要求の
あったファイルブロックにアクセスをして、バッファキ
ャッシュに当該ファイルブロックが存在する場合、バッ
ファキャッシュのファイルブロックを用い読み出し要求
に応え、バッファキャッシュに無い場合、当該ファイル
ブロックを配置しているサブファイルシステムに読み出
し要求を出す。
In the process of FIG. 8, when the master file system receives a read request from the application in S801, the master file system accesses the first file block by the read request in S802. At this time, first, in S803, it is checked whether the file block for which the read request has occurred exists in the buffer cache of the master file system. The first file block accessed is
Since it does not exist in the cache, the process moves to S805.
In step S805, a request to read the file block and the subsequent file block is issued to the allocated sub file system based on the information managed by the master file. In the access of the second and subsequent file blocks, the file block may be stored in the buffer cache.
Move to 804. In S804, the file block requested to be read is read from the buffer cache of the master file system. In step S806, it is confirmed whether access to all the file blocks for which the read request has been made is completed. If the read for the read request has been completed, the process ends. If the reading for the read request has not been completed, the next file block for which the read request has been issued is accessed in S807. At this time, the process returns to S803 to check whether the file block exists in the buffer cache. As described above, in the master file system, the file blocks that have been sequentially requested to be read are accessed, and when the file blocks are present in the buffer cache, the file blocks in the buffer cache are used to respond to the read request, and are not present in the buffer cache. In this case, a read request is issued to the sub-file system in which the file block is located.

【0020】図9で、バッファキャッシュを装備する方
法において、サブファイルシステム側の処理を説明す
る。まず、S901でマスタファイルシステムから読み
出し要求を受け取り、S902で読み出し要求のあった
ファイルブロックから読み出し、マスタファイルシステ
ムにファイルブロックを送信する。S903において、
読み出し要求のあった同一ストライドグループのファイ
ルブロックがあると、そのブロックに対しての読み出す
ためS902の処理を繰り返す。S903において、同
一ストライドグループに属する全てのファイルブロック
の読み出しが完了していると処理が終了する。このと
き、本方法では、ファイル書き込み時にストライドグル
ープを用い、同一論理ファイルのファイルブロックを一
括して当該ディスク装置の連続した領域に配置している
ため、読み出し要求時、ファイルブロックを一括して読
み出すことが可能となる。
Referring to FIG. 9, a description will be given of the processing on the sub file system side in the method of equipping the buffer cache. First, in step S901, a read request is received from the master file system, and in step S902, the file block from which the read request was issued is read, and the file block is transmitted to the master file system. In S903,
If there is a file block of the same stride group for which a read request has been made, the process of S902 is repeated to read the block. In step S903, if the reading of all the file blocks belonging to the same stride group has been completed, the process ends. At this time, in the present method, the file blocks of the same logical file are collectively arranged in a continuous area of the disk device by using the stride group at the time of writing the file. It becomes possible.

【0021】[0021]

【発明の効果】本発明では、複数の論理ファイルのファ
イルブロックが同一ディスク装置に配置される場合、こ
れらのファイルブロックをディスク装置内で混在して配
置することを回避し、それぞれのファイルブロックを一
括して書き込むことで、論理ファイルの読み出し時、読
み出し要求のあったファイルブロックを検索する時間の
短縮を可能にする。また、ファイルブロックの先読みを
することで、マスタファイルシステムからサブファイル
システムへの読み出し要求の回数を削減することがで
き、大容量ファイルアクセス時間の短縮を実現する。
According to the present invention, when file blocks of a plurality of logical files are arranged on the same disk device, it is possible to avoid arranging these file blocks in a mixed manner in the disk device and to store each file block. By collectively writing, it is possible to reduce the time required to search for a file block requested to be read when reading a logical file. Further, by pre-reading the file block, the number of read requests from the master file system to the sub file system can be reduced, and a large-capacity file access time can be reduced.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施例のマスタファイルシステムと
サブファイルシステムの構成を示す全体図である。
FIG. 1 is an overall view showing a configuration of a master file system and a sub file system according to an embodiment of the present invention.

【図2】図1の実施例において、論理ファイルの分割方
法の処理を示すフローチャートである。
FIG. 2 is a flowchart showing processing of a logical file division method in the embodiment of FIG.

【図3】図1の実施例において、複数の論理ファイルが
同一サブファイルシステムを共有したときを示す図であ
る。
FIG. 3 is a diagram showing a case where a plurality of logical files share the same sub-file system in the embodiment of FIG. 1;

【図4】図1の実施例において、書き込みに対してサブ
ファイルシステム側でのファイルブロックの書き込み処
理を示すフローチャートである。
FIG. 4 is a flowchart showing a file block writing process on the sub-file system side for writing in the embodiment of FIG. 1;

【図5】図1の実施例において、ストライドグループが
それぞれのサブファイルシステムに分割された後、論理
ファイルに読み出し要求があったときの、ファイルアク
セス方法を示す図である。
FIG. 5 is a diagram showing a file access method when a read request is issued to a logical file after the stride group is divided into respective sub-file systems in the embodiment of FIG.

【図6】本発明の実施例である分散ファイル管理方式
で、マスタファイルシステムにバッファキャッシュを装
備して、ファイル読み出しのあったファイルブロックと
同一のストライドグループに属するファイルブロック
を、マスタファイルシステムに先読みする方法を示す全
体構成図である。
FIG. 6 is a diagram illustrating a distributed file management system according to an embodiment of the present invention, in which a buffer cache is provided in a master file system, and file blocks belonging to the same stride group as a file block from which a file has been read are transferred to the master file system. FIG. 3 is an overall configuration diagram showing a prefetching method.

【図7】図6のバッファキャッシュを装備する実施例
で、論理ファイルに読み出し要求があったときの、ファ
イルアクセス方法とファイルブロックの先読み方法の処
理を示す図である。
FIG. 7 is a diagram illustrating processing of a file access method and a file block prefetch method when a read request is issued to a logical file in the embodiment equipped with the buffer cache of FIG. 6;

【図8】図6のファイルブロックを先読みする実施例
で、マスタファイルシステムに読み出し要求があった場
合の処理を示すフローチャートである。
FIG. 8 is a flowchart showing processing in a case where a read request is issued to a master file system in the embodiment for pre-reading the file block of FIG. 6;

【図9】図6のファイルブロックを先読みする実施例
で、サブファイルシステムがマスタファイルシステムか
ら読み出し要求を受けたときの処理を示すフローチャー
トである。
FIG. 9 is a flowchart showing processing when the sub-file system receives a read request from the master file system in the embodiment for pre-reading the file block in FIG. 6;

【符号の説明】[Explanation of symbols]

602…構成定義ファイル、603…論理ファイル、6
04…バッファキャッシュ、605…マスタファイルシ
ステム、606…サブファイルA、610…ディスク装
置A、614…サブファイルシステムA。
602: Configuration file, 603: Logical file, 6
04: Buffer cache, 605: Master file system, 606: Subfile A, 610: Disk device A, 614: Subfile system A

───────────────────────────────────────────────────── フロントページの続き (72)発明者 杉山 和仁 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内 (72)発明者 松井 和吉 神奈川県横浜市中区尾上町六丁目81番地 日立ソフトウェアエンジニアリング株式会 社内 Fターム(参考) 5B065 BA01 CH02 5B082 CA18 CA20 FA12 5D110 AA13 DA11 DB05 DC03 DC16 DE01  ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Kazuhito Sugiyama 5030 Totsuka-cho, Totsuka-ku, Yokohama-shi, Kanagawa Prefecture Inside Software Development Division, Hitachi, Ltd. 81-chome Hitachi Software Engineering Co., Ltd. In-house F-term (reference) 5B065 BA01 CH02 5B082 CA18 CA20 FA12 5D110 AA13 DA11 DB05 DC03 DC16 DE01

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 複数ディスク装置からなるファイルシス
テム上で、論理ファイルを一定のサイズの複数ファイル
ブロックに分割し、これらのファイルブロックを複数デ
ィスク装置に分散して配置することで、ファイル読み出
し時に複数ディスク装置に並行してアクセスすることが
可能なファイルシステムにおいて、ファイルブロックを
分散配置することにより、物理的に一ディスク装置内
で、同一ファイルのファイルブロックが不連続領域に配
置されていたものを、ファイルブロックに管理情報を付
与することで連続配置し、一回のI/O操作で読み出し
/書き込みができることを特徴とする分散ファイル管理
方法。
In a file system including a plurality of disk devices, a logical file is divided into a plurality of file blocks of a fixed size, and these file blocks are distributed and arranged on the plurality of disk devices so that a plurality of files can be read at the time of reading a file. In a file system that can be accessed in parallel with disk units, file blocks of the same file are physically located in a non-contiguous area within one disk unit by distributing file blocks. A file file block is provided with management information so that the file blocks are continuously arranged, and can be read / written by a single I / O operation.
【請求項2】 請求項1項の分散ファイル管理方法にお
いて、ファイルシステム上に論理ファイルの管理情報を
維持し、論理ファイルのファイルブロックに読み出し要
求が生じた際、その情報に従い各ディスク装置で次に読
み出すファイルブロックを予め読み出して、これらのフ
ァイルブロックをファイルシステム上のバッファキャッ
シュに保存することで、ディスクへの読み出し回数を削
減することを特徴とする分散ファイル管理方法。
2. The distributed file management method according to claim 1, wherein the management information of the logical file is maintained on the file system, and when a read request is issued to a file block of the logical file, each disk device performs the following according to the information. A file block to be read in advance, and by saving these file blocks in a buffer cache on a file system, the number of times of reading to a disk is reduced.
JP2000383124A 2000-12-12 2000-12-12 Distributed file management method Pending JP2002182953A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000383124A JP2002182953A (en) 2000-12-12 2000-12-12 Distributed file management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000383124A JP2002182953A (en) 2000-12-12 2000-12-12 Distributed file management method

Publications (1)

Publication Number Publication Date
JP2002182953A true JP2002182953A (en) 2002-06-28

Family

ID=18850832

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000383124A Pending JP2002182953A (en) 2000-12-12 2000-12-12 Distributed file management method

Country Status (1)

Country Link
JP (1) JP2002182953A (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006521592A (en) * 2003-03-27 2006-09-21 マイクロソフト コーポレーション A file system for displaying items from different types and different physical locations
US7650575B2 (en) 2003-03-27 2010-01-19 Microsoft Corporation Rich drag drop user interface
US7657846B2 (en) 2004-04-23 2010-02-02 Microsoft Corporation System and method for displaying stack icons
US7694236B2 (en) 2004-04-23 2010-04-06 Microsoft Corporation Stack icons representing multiple objects
US7712034B2 (en) 2003-03-24 2010-05-04 Microsoft Corporation System and method for shell browser
US7769794B2 (en) 2003-03-24 2010-08-03 Microsoft Corporation User interface for a file system shell
US7823077B2 (en) 2003-03-24 2010-10-26 Microsoft Corporation System and method for user modification of metadata in a shell browser
US7925682B2 (en) 2003-03-27 2011-04-12 Microsoft Corporation System and method utilizing virtual folders
US8024335B2 (en) 2004-05-03 2011-09-20 Microsoft Corporation System and method for dynamically generating a selectable search extension
US8195646B2 (en) 2005-04-22 2012-06-05 Microsoft Corporation Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information
US8209624B2 (en) 2003-04-17 2012-06-26 Microsoft Corporation Virtual address bar user interface control
US8661036B2 (en) 2004-04-29 2014-02-25 Microsoft Corporation Metadata editing control
US8707209B2 (en) 2004-04-29 2014-04-22 Microsoft Corporation Save preview representation of files being created
US9361312B2 (en) 2003-03-27 2016-06-07 Microsoft Technology Licensing, Llc System and method for filtering and organizing items based on metadata
CN109375872A (en) * 2018-09-27 2019-02-22 腾讯科技(深圳)有限公司 Processing method, device and the equipment and storage medium of data access request
US10489044B2 (en) 2005-07-13 2019-11-26 Microsoft Technology Licensing, Llc Rich drag drop user interface

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7712034B2 (en) 2003-03-24 2010-05-04 Microsoft Corporation System and method for shell browser
US7823077B2 (en) 2003-03-24 2010-10-26 Microsoft Corporation System and method for user modification of metadata in a shell browser
US7769794B2 (en) 2003-03-24 2010-08-03 Microsoft Corporation User interface for a file system shell
US9361312B2 (en) 2003-03-27 2016-06-07 Microsoft Technology Licensing, Llc System and method for filtering and organizing items based on metadata
US7650575B2 (en) 2003-03-27 2010-01-19 Microsoft Corporation Rich drag drop user interface
US7925682B2 (en) 2003-03-27 2011-04-12 Microsoft Corporation System and method utilizing virtual folders
US9361313B2 (en) 2003-03-27 2016-06-07 Microsoft Technology Licensing, Llc System and method for filtering and organizing items based on common elements
US8117226B2 (en) 2003-03-27 2012-02-14 Microsoft Corporation System and method for virtual folder sharing including utilization of static and dynamic lists
JP2006521592A (en) * 2003-03-27 2006-09-21 マイクロソフト コーポレーション A file system for displaying items from different types and different physical locations
US8209624B2 (en) 2003-04-17 2012-06-26 Microsoft Corporation Virtual address bar user interface control
US7694236B2 (en) 2004-04-23 2010-04-06 Microsoft Corporation Stack icons representing multiple objects
US7657846B2 (en) 2004-04-23 2010-02-02 Microsoft Corporation System and method for displaying stack icons
US8661036B2 (en) 2004-04-29 2014-02-25 Microsoft Corporation Metadata editing control
US8707209B2 (en) 2004-04-29 2014-04-22 Microsoft Corporation Save preview representation of files being created
US8972342B2 (en) 2004-04-29 2015-03-03 Microsoft Corporation Metadata editing control
US8024335B2 (en) 2004-05-03 2011-09-20 Microsoft Corporation System and method for dynamically generating a selectable search extension
US8195646B2 (en) 2005-04-22 2012-06-05 Microsoft Corporation Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information
US10489044B2 (en) 2005-07-13 2019-11-26 Microsoft Technology Licensing, Llc Rich drag drop user interface
CN109375872A (en) * 2018-09-27 2019-02-22 腾讯科技(深圳)有限公司 Processing method, device and the equipment and storage medium of data access request
CN109375872B (en) * 2018-09-27 2020-07-24 腾讯科技(深圳)有限公司 Data access request processing method, device and equipment and storage medium

Similar Documents

Publication Publication Date Title
CN103186350B (en) The moving method of mixing storage system and hot spot data block
US7536505B2 (en) Storage system and method for controlling block rearrangement
JP2002182953A (en) Distributed file management method
CN110825748B (en) High-performance and easily-expandable key value storage method by utilizing differentiated indexing mechanism
US7155569B2 (en) Method for raid striped I/O request generation using a shared scatter gather list
KR100373313B1 (en) A method and system for managing a cache memory
US20180253456A1 (en) Disk optimized paging for column oriented databases
US20070005904A1 (en) Read ahead method for data retrieval and computer system
US9612975B2 (en) Page cache device and method for efficient mapping
US9075528B2 (en) High-efficiency virtual disk management system
CN104765575A (en) Information storage processing method
JP2003256150A (en) Storage control device and control method for storage control device
CN105117417A (en) Read-optimized memory database Trie tree index method
CN104765574A (en) Data cloud storage method
US5537658A (en) Distributed directory method and structure for direct access storage device (DASD) data compression
Lee et al. ActiveSort: Efficient external sorting using active SSDs in the MapReduce framework
US20200319797A1 (en) System and method for file processing from a block device
CN1421003A (en) Using access log for disk drive transactions
CN103617133B (en) Virtual memory compression method and device in a kind of Windows systems
CN104778100A (en) Safe data backup method
JP2001282617A (en) Method and system for dynamically sectioning shared cache
CN1795442A (en) Method and device for transferring data between a main memory and a storage device
WO2002029601A2 (en) Simd system and method
CN111124302B (en) SAN shared file storage and archiving method and system
Son et al. Design and evaluation of a user-level file system for fast storage devices