JP4743444B2 - Data transfer method - Google Patents

Data transfer method Download PDF

Info

Publication number
JP4743444B2
JP4743444B2 JP2008094561A JP2008094561A JP4743444B2 JP 4743444 B2 JP4743444 B2 JP 4743444B2 JP 2008094561 A JP2008094561 A JP 2008094561A JP 2008094561 A JP2008094561 A JP 2008094561A JP 4743444 B2 JP4743444 B2 JP 4743444B2
Authority
JP
Japan
Prior art keywords
file
transfer
virtual
size
data
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.)
Expired - Fee Related
Application number
JP2008094561A
Other languages
Japanese (ja)
Other versions
JP2009251619A (en
Inventor
佑基 水野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2008094561A priority Critical patent/JP4743444B2/en
Publication of JP2009251619A publication Critical patent/JP2009251619A/en
Application granted granted Critical
Publication of JP4743444B2 publication Critical patent/JP4743444B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、データ転送方法に関し、特に共有ファイルシステム等におけるファイル転送を効率的に行うことができるデータ転送方法に関する。   The present invention relates to a data transfer method, and more particularly to a data transfer method capable of efficiently performing file transfer in a shared file system or the like.

最近のHPC(High Performance Computing)では、CPU(Central Processing Unit)の高速化や、メモリの大容量化とメモリバンド幅の向上などにより、入出力データ量もまた大規模化している。そのため、特にHPCの分野では、大規模SAN(Storage Area Network)環境をベースとした高速ファイル共有システムが利用されている。HPCでは、1つのファイルが大きいことも1つの特徴であるが、それだけではなく同時に環境設定ファイル、ログファイルなど数百Kバイト程度までの小さいサイズのファイルを多量に取り扱うことも多い。これらのファイルはジョブ実行環境だけでなく、準備や後処理を行う環境でも利用する。そのため、それら環境間でファイル転送が必要になる。これら多数のファイルを転送するものとしては、HPCのステージング/デステージング、一般的なコピー/ムーブコマンドなどがある。   In recent High Performance Computing (HPC), the amount of input / output data is also increasing due to the speeding up of the CPU (Central Processing Unit), the increase in memory capacity and the improvement in memory bandwidth. Therefore, particularly in the field of HPC, a high-speed file sharing system based on a large-scale SAN (Storage Area Network) environment is used. One characteristic of HPC is that one file is large. However, not only that, but also a large number of files with a small size up to several hundred kilobytes such as environment setting files and log files are often handled at the same time. These files are used not only in the job execution environment but also in an environment where preparation and post-processing are performed. Therefore, file transfer is required between these environments. Examples of transferring a large number of these files include HPC staging / destaging and general copy / move commands.

SANの共有ファイルシステムでは、クライアントノードから、制御パケットをLAN(Local Area Network)経由でサーバーノードと通信する。この通信でサイズの大きいファイルを転送する場合には、データをSAN経由でディスク装置に直接入出力することで、ディスク装置の性能を生かした高速なファイル転送機能を実現している。しかし、サイズの小さいファイルをたくさん転送する場合には、オーバーヘッドが大きくなるため、十分な性能を出すことができない。   In a SAN shared file system, a control packet is communicated from a client node to a server node via a LAN (Local Area Network). When transferring a large file by this communication, a high-speed file transfer function utilizing the performance of the disk device is realized by directly inputting / outputting data to / from the disk device via the SAN. However, when a large number of small files are transferred, the overhead increases, so that sufficient performance cannot be obtained.

HPCクラスタのジョブ実行の機能の一つに、図1のような構成によるステージング/デステージングがある。ステージング/デステージングは、ジョブ実行のディスク負荷と、通常アクセスのディスク負荷を分離する手法の一つである。ジョブ実行前に、ジョブ実行に必要なファイルを計算ノードのジョブ実行用ディスク装置に配備し(ステージング)、ジョブ実行後に、ジョブ実行結果のファイルを通常アクセス用ディスク装置に退避する(デステージング)。ステージング/デステージングでは、ジョブ実行とファイル転送を独立して行うために、上記のディスク装置に共有ファイルシステムを作成する。そこで、計算ノードは共有ファイルシステム上でジョブ実行に専念し、ファイル転送ノードが計算ノードの代わりに共有ファイルシステム上のファイルを転送する。   One of the functions for executing jobs in the HPC cluster is staging / destaging with the configuration shown in FIG. Staging / destaging is one technique for separating the disk load for job execution from the disk load for normal access. Prior to job execution, files necessary for job execution are deployed to the job execution disk device of the compute node (staging), and after job execution, the job execution result file is saved to the normal access disk device (destage). In staging / destaging, a shared file system is created in the disk device in order to perform job execution and file transfer independently. Therefore, the computation node is devoted to job execution on the shared file system, and the file transfer node transfers the file on the shared file system instead of the computation node.

ステージング/デステージングで用いられる共有ファイルシステムとして、NFS(Network File System)やSANを利用した共有ファイルシステムが存在する。NFSは広く利用されている共有ファイルシステムである。図2に示すように、制御パケットの通信とデータの入出力を両方ともLAN(Local Area Network)で行っている。そのため、LANの負荷が高く、全ての入出力データがNFSサーバーを経由するため、サーバーの負荷が高くなってしまい、ディスク装置の性能が発揮できないといった問題がある。   As a shared file system used in staging / destaging, there is a shared file system using NFS (Network File System) or SAN. NFS is a widely used shared file system. As shown in FIG. 2, both control packet communication and data input / output are performed by a LAN (Local Area Network). Therefore, there is a problem that the load on the LAN is high and all input / output data passes through the NFS server, so the load on the server becomes high and the performance of the disk device cannot be exhibited.

SANを利用した共有ファイルシステムは、上記のNFSの問題点を解決したファイル共有の方法で、HPCで一般的に利用されている。SANを利用したファイル共有の方法のひとつに、特開平11−338792号公報(特許文献1)に開示された方法がある。図3に示すように、クライアントは、制御パケットをLAN経由でサーバーと通信し、データをSAN経由でディスク装置と直接入出力する。特許文献1の方法は、NFSと比較してLANやサーバーの負荷が小さく、ディスク装置の性能を生かした高速なデータの入出力が可能になる。   A shared file system using a SAN is a file sharing method that solves the above-mentioned NFS problems and is generally used in HPC. As one of file sharing methods using SAN, there is a method disclosed in Japanese Patent Laid-Open No. 11-338792 (Patent Document 1). As shown in FIG. 3, the client communicates control packets with the server via the LAN, and directly inputs / outputs data to / from the disk device via the SAN. The method of Patent Document 1 has a smaller load on the LAN and server than NFS, and enables high-speed data input / output utilizing the performance of the disk device.

さらに、特許文献1の方法の改善例が特開2003−345698号公報(特許文献2)に記載されている。図4に示すように、アクセス要求があったファイルがディスク装置内で分散して保存されている場合であっても、それらのデータ格納位置情報をファイル単位(ストライピングディスク単位)でひとつにまとめて送信することで、制御パケットの通信回数を低減する。特許文献2の方法は、特許文献1の方法と比較して、LANの負荷をさらに小さくすることが可能になる。HPCでは、この様な、SANを利用した共有ファイルシステムでのステージング/デステージングが一般的に行われている。   Furthermore, an improvement example of the method of Patent Document 1 is described in Japanese Patent Laid-Open No. 2003-345698 (Patent Document 2). As shown in FIG. 4, even when the files requested for access are distributed and stored in the disk device, the data storage location information is grouped into one file (striping disk unit). By transmitting, the number of control packet communications is reduced. Compared with the method of Patent Document 1, the method of Patent Document 2 can further reduce the load on the LAN. In HPC, such staging / destaging in a shared file system using SAN is generally performed.

特開平11−338792号公報Japanese Patent Laid-Open No. 11-338792 特開2003−345698号公報JP 2003-345698 A 特開平6−231016号公報JP-A-6-231016

上記したように、ステージング/デステージングでファイル転送ノードが転送するファイルには、さまざまなサイズのファイルがある。転送するファイルとしては、ジョブ実行結果のような膨大な計算結果が保存されたギガ(G)あるいはテラ(T)バイトオーダーの巨大なファイルばかりではない。環境設定ファイル、ログファイルなどの、数百Kバイト程度までの小さいサイズのファイルも多く含まれている。特許文献1、2の方法は、サイズの大きいファイルの転送には有効な方法であるが、反対に、サイズの小さいファイルの転送で十分に性能を発揮することができないという問題があった。   As described above, there are various sizes of files transferred by the file transfer node in staging / destaging. The file to be transferred is not limited to a huge file of giga (G) or tera (T) byte order in which a huge calculation result such as a job execution result is stored. There are many small-sized files of up to several hundred kilobytes, such as environment setting files and log files. The methods of Patent Documents 1 and 2 are effective methods for transferring a large file, but there is a problem that the performance cannot be sufficiently exhibited by transferring a small file.

特許文献1の方法は、サイズの小さいファイルは、ファイル転送にかかる時間で制御パケットの通信時間が占める割合が大きくなる。そのため、たとえデータの入出力が高速であっても、制御パケットの通信時間の方がボトルネックとなってしまい、十分な性能を得ることができない。特許文献2の方法は、図5に示すように、サイズの小さいファイルはディスク装置内に分散して保存されていることが少ないため、まとめられる位置情報が少なく、サイズの大きなファイルの場合と比較して、効果を十分に得ることができない。   In the method of Patent Document 1, the ratio of the communication time of the control packet to the time required for file transfer becomes large for a small file. Therefore, even if data input / output is performed at a high speed, the communication time of the control packet becomes a bottleneck, and sufficient performance cannot be obtained. As shown in FIG. 5, the method of Patent Document 2 is small in that small files are not distributed and stored in the disk device. Thus, the effect cannot be obtained sufficiently.

これらの問題点により、特許文献1、2の方法では、ステージング/デステージングにサイズの小さいファイルが大量に含まれている場合、ステージング/デステージング全体の性能に深刻な影響を及ぼしてしまう。これらサイズの小さい多数のファイルを転送するものとしては、HPCのステージング/デステージングの他にも、一般的なコピー/ムーブコマンドなどがある。   Due to these problems, in the methods of Patent Documents 1 and 2, when a large amount of small files are included in staging / destaging, the performance of the entire staging / destaging is seriously affected. As a method for transferring a large number of small files, there are general copy / move commands and the like in addition to staging / destaging of HPC.

また、複数のファイルを効率よく取り扱う方法として、特開平6−231016号公報(特許文献3)に、ファイルを1つに結合する方法について記載されている。しかし、特許文献3ではファイルを格納するディスクはセクタ(512バイト)単位でしかデータを扱えないという点が考慮されていないため、この方法でファイルの結合を行っても、作成された結合ファイルを利用することができない。さらに、転送先で結合ファイルを元の複数のファイルに戻すことを考慮していないため、ファイル転送には利用することができない。したがって、この様なファイル転送に小さなファイルが大量に含まれる場合であっても、特許文献1、2、3の上記問題点を解消し、ファイル転送の性能を向上させる機能を提供することが課題となっている。   In addition, as a method for efficiently handling a plurality of files, Japanese Patent Laid-Open No. 6-231016 (Patent Document 3) describes a method for combining files into one. However, Patent Document 3 does not consider that the disk storing the file can handle data only in units of sectors (512 bytes). Therefore, even if the files are combined by this method, the created combined file is not stored. It cannot be used. Furthermore, since it is not considered to return the combined file to a plurality of original files at the transfer destination, it cannot be used for file transfer. Therefore, even when such a file transfer includes a large number of small files, it is a problem to provide a function for improving the file transfer performance by solving the above-mentioned problems of Patent Documents 1, 2, and 3. It has become.

本発明の目的は、上記した課題を解決するデータ転送方法を提供することにある。   An object of the present invention is to provide a data transfer method that solves the above-described problems.

上記した課題を解決するため、本願発明のデータ転送方法は、転送元記憶装置のサイズの小さな多数のファイルのサイズをそれぞれブロック単位からセクタ単位にサイズ補正し、これらのサイズ補正したファイルを連結した1つの仮想ファイルとしてまとめ、転送先記憶装置に1つのファイルとしてファイル転送させることを特徴とする。   In order to solve the above-described problems, the data transfer method of the present invention corrects the size of a large number of small files in the transfer source storage device from block units to sector units, and concatenates these size corrected files. A single virtual file is collected and transferred to the transfer destination storage device as a single file.

また、本願発明のデータ転送方法は、転送元のサーバーが転送するファイル名リストを受け取り、仮想ファイル作成機能が複数のファイルのファイルサイズをブロック単位からセクタ単位に削減し、これらのファイルを連結した1つの仮想ファイルとしてまとめ、読み込みアクセスに従って、その作成された仮想ファイルをファイル転送用メモリ領域に書き込み、転送先のサーバーが転送されるファイル名リストを受け取り、データ領域確保機能が転送先ディスク装置のデータ領域を確保し、アクセス要求に従って、ファイル転送用メモリ領域の仮想ファイルを転送先ディスク装置のデータ領域に書き込みすることもできる。   In the data transfer method of the present invention, the file name list transferred by the transfer source server is received, the virtual file creation function reduces the file size of the plurality of files from the block unit to the sector unit, and concatenates these files. As a single virtual file, in accordance with read access, the created virtual file is written to the file transfer memory area, the transfer destination server receives the file name list to be transferred, and the data area securing function is stored in the transfer destination disk device. It is also possible to secure a data area and write a virtual file in the file transfer memory area to the data area of the transfer destination disk device according to the access request.

さらに本願発明のデータ転送方式においては、上記したこれらのデータ転送方法を用いることを特徴とする。   Further, the data transfer system of the present invention is characterized by using these data transfer methods described above.

本発明においては、複数のファイルをひとつにまとめた仮想ファイルを転送することで、ファイル単位よりも高速なファイル転送が可能にできる。
本発明によれば、データ転送を効率的に行うことができるデータ転送方法が得られる。
In the present invention, by transferring a virtual file in which a plurality of files are combined into one, file transfer can be performed at a speed higher than that of a file unit.
According to the present invention, a data transfer method capable of efficiently performing data transfer is obtained.

本発明の実施の形態について、添付した図面を参照して詳細に説明する。最初に発明の基本原理と基本構成について説明し、次により具体的なデータ構造や、フローチャートを含めて、詳細に説明する。   Embodiments of the present invention will be described in detail with reference to the accompanying drawings. First, the basic principle and basic configuration of the invention will be described, and then more detailed description including a specific data structure and a flowchart will be given.

本発明は、サイズの小さい多数のファイルを、ひとつの大きなファイルとして取り扱うための機能(仮想ファイル機能)を共有ファイルシステムに追加する。つまり、小さな多数のファイルをひとつの大きなファイルとして扱うことで、高速なファイル(データ)転送を実現するものである。図6には、仮想ファイルの構成を示している。図7には、共有ファイルシステムのシステム構成図を示している。図8にファイル管理表、図9に通常ファイルと仮想ファイルのデータ構成を説明する説明図、図10に仮想ファイルのギャップを補正する前後におけるデータ配置図をそれぞれ示している。   The present invention adds a function (virtual file function) for handling a large number of small files as one large file to the shared file system. That is, high-speed file (data) transfer is realized by handling a large number of small files as one large file. FIG. 6 shows the configuration of the virtual file. FIG. 7 shows a system configuration diagram of the shared file system. FIG. 8 is a file management table, FIG. 9 is an explanatory diagram for explaining the data structure of a normal file and a virtual file, and FIG. 10 is a data arrangement diagram before and after correcting a gap between virtual files.

仮想ファイルは、サイズの小さい多数のファイルを、ひとつの大きなファイルとしてまとめたファイルである。この仮想ファイルは、図6に示すような複数のファイルを連結したイメージであり、ファイルと同様に読み書き可能な仮想的なファイルである。仮想ファイルを実現するために、図7に示すように、サーバー(200)に仮想ファイル作成機能(206)と仮想ファイル削除機能(207)を用意する。仮想ファイルは、サーバー(200)のファイル管理機能(205)とファイル管理表(209)にて一般的なファイルと同様に管理する。ファイル管理表(209)は、図8で示すように、個々のファイルごとに、ファイル管理番号、「通常ファイル」や「ディレクトリ」といったファイル種別、ファイルが保存されているデータ格納位置情報のリストなどが1つのエントリで保存されている。   A virtual file is a file in which a large number of small files are collected as one large file. This virtual file is an image obtained by concatenating a plurality of files as shown in FIG. 6, and is a readable / writable virtual file similar to the file. In order to realize the virtual file, as shown in FIG. 7, a virtual file creation function (206) and a virtual file deletion function (207) are prepared in the server (200). The virtual file is managed in the same manner as a general file by the file management function (205) and the file management table (209) of the server (200). As shown in FIG. 8, the file management table (209) includes, for each file, a file management number, a file type such as “normal file” and “directory”, a list of data storage location information where the file is stored, and the like. Is stored as one entry.

仮想ファイルでは、このファイル管理表(209)のファイル種別に新たに「仮想ファイル」を追加し、データ格納位置情報を既存のファイルと共有する。図9において、仮想ファイル1はファイル種別を「仮想ファイル」とし、ファイルA、ファイルB、ファイルCの全てのデータ格納位置情報を持っている。これにより、仮想ファイル1にアクセスすることで、ファイルA、ファイルB、ファイルCを1つの連結したファイルとして入出力することができる。   For the virtual file, a “virtual file” is newly added to the file type of the file management table (209), and the data storage location information is shared with the existing file. In FIG. 9, the virtual file 1 has the file type “virtual file” and has data storage position information of all of the files A, B, and C. Accordingly, by accessing the virtual file 1, the file A, the file B, and the file C can be input / output as one connected file.

仮想ファイルを使ったファイル転送は、以下のような流れで実施する。まず、仮想ファイル転送プログラム(101)から処理を開始する。仮想ファイル転送プログラム(101)は、仮想ファイルの転送を行うユーザモードのアプリケーションである。しかし本発明においては、仮想ファイル転送プログラムに基づいて制御される仮想ファイル転送機能(仮想ファイル転送手段)を含めて、単に仮想ファイル転送プログラムと記載するものとする。   File transfer using virtual files is performed as follows. First, processing is started from the virtual file transfer program (101). The virtual file transfer program (101) is a user mode application that transfers a virtual file. However, in the present invention, the virtual file transfer function (virtual file transfer means) controlled based on the virtual file transfer program is simply described as a virtual file transfer program.

仮想ファイル転送プログラム(101)は、複数個のファイルを指定して、仮想ファイル作成依頼機能(104)に仮想ファイルの作成を依頼して、転送元サーバーの仮想ファイル作成機能(206)で仮想ファイルを作成する。仮想ファイル転送プログラム(101)は、作成した仮想ファイルを指定して、共有ファイルシステムクライアント機能(103)から読み込み要求を行い、ファイル転送用メモリ領域(108)に仮想ファイル、すなわち、複数個のファイルを一度に読み込む。仮想ファイルが読み込み終わったら、仮想ファイル削除依頼機能(105)で、仮想ファイルの削除を依頼する。次に、仮想ファイル転送プログラム(101)は、転送先サーバーのデータ領域確保機能(208)によりファイルごとのデータ格納領域を確保し、それらをまとめた仮想ファイルを作成する。あとは、読み込みと同様の方法で書き込みを行い、仮想ファイルを削除する。   The virtual file transfer program (101) designates a plurality of files, requests the virtual file creation request function (104) to create a virtual file, and uses the virtual file creation function (206) of the transfer source server to Create The virtual file transfer program (101) designates the created virtual file, makes a read request from the shared file system client function (103), and stores the virtual file in the file transfer memory area (108), that is, a plurality of files. Are loaded at once. When the virtual file has been read, the virtual file deletion request function (105) requests deletion of the virtual file. Next, the virtual file transfer program (101) secures a data storage area for each file by the data area securing function (208) of the transfer destination server, and creates a virtual file in which the data storage areas are collected. After that, write in the same way as read and delete the virtual file.

クライアント(100)からの仮想ファイルのデータのディスクとの入出力については、ディスクアクセスとしてはセクタ単位の倍数でなければアクセスできない。且つ、ファイルシステムは、一般にブロックサイズ毎にデータ格納領域を管理している。しかしファイルサイズはバイト単位であるので、仮想ファイルを読み込むときは、図10の補正前のデータの配置のように、個々のファイルの間に不定長のギャップが生じることを考慮しなくてはならない。   The virtual file data input / output from the client (100) to the disk can be accessed only by a multiple of the sector unit. The file system generally manages a data storage area for each block size. However, since the file size is in units of bytes, when reading a virtual file, it must be taken into account that an indefinite length gap occurs between individual files, as in the arrangement of data before correction in FIG. .

そこで、図10の補正後のデータの配置のように、どのようなブロックサイズのファイルシステムとデータを入出力する場合でも、常にセクタ単位でデータ配置を補正してから入出力を行う。ディスクアクセス変換機能(107)とディスクアクセス変換表(108)を用意することで、ファイルシステムによってブロックサイズが異なる場合でもギャップの位置を正しく認識し、さらにディスク装置への無駄な入出力を極力行わないことを可能にする。このようにブロック単位のファイルを、セクタ単位に変換する。このためファイル間のギャップは1セクタ以下となり、ファイルサイズが削減される。   Therefore, in the case of inputting / outputting data with any file system of any block size as in the corrected data arrangement of FIG. 10, the data arrangement is always corrected after the sector arrangement is corrected. By preparing the disk access conversion function (107) and the disk access conversion table (108), even if the block size differs depending on the file system, the gap position is correctly recognized, and unnecessary input / output to the disk device is performed as much as possible. Make it possible not to. In this way, the block unit file is converted into the sector unit. For this reason, the gap between files becomes 1 sector or less, and the file size is reduced.

転送先サーバーへの書き込みに関しては、ファイルを転送先サーバーに転送する前に、データ領域確保機能(208)により、転送先サーバーのディスク装置にファイル各々のデータ格納領域を確保する。その後仮想ファイル作成機能(206)により、これらファイルを連結した仮想ファイルを転送先に作成する。最後に転送先サーバーの仮想ファイルにデータ書き込みをする。転送元では複数の小さなサイズのファイルをまとめて、仮想ファイルとしたが、同様の方法で、あらかじめ転送先に仮想ファイルを作成しておくことで、転送元サーバーのディスク装置における各々のファイルと同じように、転送先ディスクに各々のファイルデータを書き込むことが可能になる。   Regarding writing to the transfer destination server, before transferring the file to the transfer destination server, the data storage area (208) secures a data storage area of each file in the disk device of the transfer destination server. Thereafter, the virtual file creation function (206) creates a virtual file concatenating these files at the transfer destination. Finally, data is written to the virtual file on the destination server. A plurality of small-sized files are grouped into a virtual file at the transfer source, but by creating a virtual file in the transfer destination in the same way, it is the same as each file in the disk device of the transfer source server. As described above, each file data can be written to the transfer destination disk.

以上の機能により、クライアントは個々のファイルではなく、それらを1つにまとめた仮想ファイルとして入出力する。入出力の回数を個々のファイル単位から仮想ファイル単位に削減でき、特許文献1の問題点であった、小さいファイルにおける制御パケットの増大を削減することができる。さらに、サーバーで仮想ファイルを上記の方法で保存することで、多数のファイルが物理的に分散して保存されている状態を、ひとつの仮想ファイルが物理的に分散して保存されている状態に置き換えることができる。このため特許文献2のデータ格納位置情報をファイル単位でまとめる機能をより効果的に利用できる。   With the above functions, the client inputs / outputs not a single file but a virtual file that combines them. The number of input / output operations can be reduced from individual file units to virtual file units, and the increase in control packets in a small file, which was a problem of Patent Document 1, can be reduced. Furthermore, by storing virtual files on the server using the method described above, a state in which many files are physically distributed and stored is changed to a state in which one virtual file is physically distributed and stored. Can be replaced. For this reason, the function which collects the data storage position information of patent document 2 per file can be used more effectively.

次に上記した図6〜10に加えて図11〜25をも参照しながら、本発明の実施形態について、より具体的なデータ構造や、フローチャートを含めて、詳細に説明する。図11と図12にはディスクアクセス変換表のファイル構成図とその一例を示す。図13と図14にはディスクアクセス情報テーブルのファイル構成図とその一例を示す。図15にはファイル転送のファイル転送プログラムにおけるフローチャートを示す。図16〜22には、ファイル転送のそれぞれの処理におけるフローチャートを示す。図23〜25にはディスクアクセス情報テーブルのそれぞれの補正前後のデータ配置図を示す。   Next, an embodiment of the present invention will be described in detail including a more specific data structure and a flowchart with reference to FIGS. 11 to 25 in addition to FIGS. 11 and 12 show a file structure diagram of the disk access conversion table and an example thereof. FIGS. 13 and 14 show a file structure diagram of the disk access information table and an example thereof. FIG. 15 shows a flowchart of the file transfer program for file transfer. 16 to 22 show flowcharts in the respective file transfer processes. 23 to 25 show data arrangement diagrams before and after correction of each disk access information table.

図7を参照すると、本実施形態のシステムは、クライアント(100)、サーバー(200)、ディスク装置(300)から構成される。クライアント(100)とサーバー(200)はLANで接続され、クライアント(100)とサーバー(200)とディスク装置(300)はSANで接続されている。   Referring to FIG. 7, the system of this embodiment includes a client (100), a server (200), and a disk device (300). The client (100) and server (200) are connected via a LAN, and the client (100), server (200) and disk device (300) are connected via a SAN.

図7のシステム構成のサーバーとディスク装置の関係は、図1の構成と同様である。サーバー(200)として転送元サーバー(図1のファイルサーバー1)と転送先サーバー(図1のファイルサーバー2)の2つのサーバーを備えているとする。ディスク装置(300)として転送元ディスク装置(図1のジョブ実行データ用ディスク装置)と転送先ディスク装置(図1の通常データ用ディスク装置)の2つのディスク装置を備えているとする。さらにこれらのサーバーとディスク装置はそれぞれがそれぞれ接続されているとする。また、これらのサーバーとディスク装置は、転送元と転送先の役割が反対になってもかまわない。   The relationship between the server having the system configuration shown in FIG. 7 and the disk device is the same as that shown in FIG. Assume that the server (200) includes two servers, a transfer source server (file server 1 in FIG. 1) and a transfer destination server (file server 2 in FIG. 1). Assume that the disk device (300) includes two disk devices: a transfer source disk device (job execution data disk device in FIG. 1) and a transfer destination disk device (normal data disk device in FIG. 1). Furthermore, it is assumed that these servers and disk devices are connected to each other. These servers and disk devices may have the roles of transfer source and transfer destination reversed.

クライアント(100)は仮想ファイル転送プログラム(101)、共有ファイルシステムクライアント(102)、LANアクセス機能(111)、ディスクドライバ機能(110)で構成されている。   The client (100) includes a virtual file transfer program (101), a shared file system client (102), a LAN access function (111), and a disk driver function (110).

仮想ファイル転送プログラム(101)は、仮想ファイルの転送を行うユーザモードのアプリケーションであり、仮想ファイル転送プログラムに基づいて制御される仮想ファイル転送機能(仮想ファイル転送手段)そのものを表すものとする。転送される仮想ファイルは、ファイル転送用メモリ領域(109)に転送元サーバーから読み込まれた後、転送先サーバーへ書き込まれる。   The virtual file transfer program (101) is a user mode application for transferring a virtual file, and represents a virtual file transfer function (virtual file transfer means) itself controlled based on the virtual file transfer program. The virtual file to be transferred is read from the transfer source server to the file transfer memory area (109) and then written to the transfer destination server.

共有ファイルシステムクライアント(102)は、共有ファイルシステムクライアント機能(103)、仮想ファイル作成依頼機能(104)、仮想ファイル削除依頼機能(105)、データ領域確保依頼機能(106)、ディスクアクセス変換機能(107)、ディスクアクセス変換表(108)で構成されている。共有ファイルシステム(102)が提供するファイルや仮想ファイルを操作する各種機能は、システムコールとしてユーザランドに公開されている。   The shared file system client (102) includes a shared file system client function (103), a virtual file creation request function (104), a virtual file deletion request function (105), a data area reservation request function (106), a disk access conversion function ( 107) and a disk access conversion table (108). Various functions for manipulating files and virtual files provided by the shared file system (102) are disclosed to user lands as system calls.

共有ファイルシステムクライアント機能(103)は、ファイル、ディレクトなどの通常操作を共有ファイルシステムサーバー(201)に依頼する機能(手段)である。仮想ファイル作成依頼機能(104)は、仮想ファイルの作成を共有ファイルシステムサーバー(201)に依頼する処理と、ディスクアクセス変換表(108)にレコードを追加する処理を行う。仮想ファイル削除依頼機能(105)は、仮想ファイルの削除を共有ファイルシステムサーバー(201)に依頼する処理と、ディスクアクセス変換表(108)からレコードを削除する処理を行う。データ領域確保依頼機能(106)は、ファイルのデータ格納領域の確保を共有ファイルシステムサーバー(201)に依頼する。ディスクアクセス変換機能(107)は、ディスクアクセス変換表(108)を元に、共有ファイルシステムクライアント(102)が受信したディスクアクセス情報テーブルを補正する機能である。   The shared file system client function (103) is a function (means) for requesting the shared file system server (201) to perform normal operations such as files and directories. The virtual file creation request function (104) performs a process of requesting the shared file system server (201) to create a virtual file and a process of adding a record to the disk access conversion table (108). The virtual file deletion request function (105) performs a process of requesting the shared file system server (201) to delete a virtual file and a process of deleting a record from the disk access conversion table (108). The data area securing request function (106) requests the shared file system server (201) to secure a file data storage area. The disk access conversion function (107) is a function for correcting the disk access information table received by the shared file system client (102) based on the disk access conversion table (108).

ディスクアクセス変換表(108)は、後述のディスクアクセス情報テーブルに含まれる各ファイル間のギャップをセクタ単位に補正するための表である。その変換表は、仮想ファイルを構成する各ファイルのデータ転送用メモリ領域(109)のオフセットとデータサイズの補正前後の情報を持つ。図11に示すように、ディスクアクセス変換表(108)は仮想ファイルを構成するファイルごとに、ファイルサイズ、ファイル補正サイズ、ファイルオフセット、ファイル補正オフセットが1行としてまとめられている。ファイル補正サイズはファイルサイズをセクタ単位に補正したサイズである。ファイル補正オフセットはメモリの読み込み位置であるファイルオフセットのメモリの読み込み位置をセクタ単位に補正したものである。   The disk access conversion table (108) is a table for correcting gaps between files included in a disk access information table described later in units of sectors. The conversion table has information before and after correction of the offset and data size of the data transfer memory area (109) of each file constituting the virtual file. As shown in FIG. 11, in the disk access conversion table (108), the file size, the file correction size, the file offset, and the file correction offset are collected as one line for each file constituting the virtual file. The file correction size is a size obtained by correcting the file size in units of sectors. The file correction offset is obtained by correcting the read position of the file offset memory, which is the read position of the memory, in units of sectors.

それらの行が仮想ファイルのファイルハンドラで1つのレコードにまとめられて保存される。ディスクアクセス変換表(108)は仮想ファイル転送プログラム(101)のプロセスにつき1つ生成される。図10は、ギャップの補正前後におけるデータ配置図を示す。図12は、その補正後のデータの配置を示すディスクアクセス変換表の例である。ファイル補正サイズ、ファイル補正オフセットで、各ファイルのサイズ、オフセットがセクタサイズの整数倍に補正されている。   These lines are collected and stored in one record by the file handler of the virtual file. One disk access conversion table (108) is generated for each process of the virtual file transfer program (101). FIG. 10 is a data layout diagram before and after the gap correction. FIG. 12 is an example of a disk access conversion table showing the data arrangement after the correction. With the file correction size and file correction offset, the size and offset of each file are corrected to an integral multiple of the sector size.

ディスクドライバ機能(110)は、後述のディスクアクセス情報テーブルを使って、ファイル転送用メモリ領域(109)とディスク装置(300)との間でデータの入出力を行う。ディスクアクセス情報テーブルは、ディスク装置(300)中のファイルの保存位置とファイル転送用メモリ領域(109)のメモリオフセットの対応を示したディスクアクセスのための表である。ディスクアクセス情報テーブルは、図13に示すように、ファイル転送用メモリ領域(109)のオフセットであるメモリオフセット、入出力を行うデータサイズ(セクタの整数倍)、ディスク装置(300)中のファイルの保存位置を表すディスク位置が1行で保存される。図14は図10の補正前のデータの配置に対応するディスクアクセス情報テーブルの例である。例えば、図10の補正前のデータ配置において、仮想ファイル中の末尾のファイルのデータがディスク装置内の異なる位置に分散して保存されている場合、ディスクアクセス情報テーブルの行が図14の3、4、5行目のように別々に作成される。   The disk driver function (110) inputs / outputs data between the file transfer memory area (109) and the disk device (300) using a disk access information table described later. The disk access information table is a table for disk access showing the correspondence between the file storage location in the disk device (300) and the memory offset of the file transfer memory area (109). As shown in FIG. 13, the disk access information table includes a memory offset, which is an offset of the file transfer memory area (109), a data size for input / output (an integral multiple of the sector), and a file name in the disk device (300) The disk position representing the storage position is stored in one line. FIG. 14 is an example of a disk access information table corresponding to the data arrangement before correction in FIG. For example, in the data arrangement before correction in FIG. 10, when the data of the last file in the virtual file is distributed and stored in different positions in the disk device, the row of the disk access information table is 3 in FIG. Created separately as in lines 4 and 5.

LANアクセス機能(111)は、共有ファイルシステムクライアント(102)と、共有ファイルシステムサーバー(201)との間でLANを経由した制御情報の通信を行う。   The LAN access function (111) performs communication of control information via the LAN between the shared file system client (102) and the shared file system server (201).

サーバー(200)は、共有ファイルシステムサーバー(201)、ファイルシステム(204)、ディスクドライバ機能(210)、LANアクセス機能(211)で構成されている。   The server (200) includes a shared file system server (201), a file system (204), a disk driver function (210), and a LAN access function (211).

共有ファイルシステムサーバー(201)は、共有ファイルシステムサーバー機能(202)、ディスクアクセス情報テーブル統合機能(203)で構成されている。共有ファイルシステムサーバー機能(202)は、共有ファイルシステムクライアント(102)からの操作依頼をファイルシステム(204)に通知し、結果をクライアントに返す機能である。ディスクアクセス情報テーブル統合機能(203)は、特許文献2に記載されている、ディスクアクセステーブル情報テーブルをディスク単位にまとめる機能を持つ。   The shared file system server (201) includes a shared file system server function (202) and a disk access information table integration function (203). The shared file system server function (202) is a function for notifying the file system (204) of an operation request from the shared file system client (102) and returning the result to the client. The disk access information table integration function (203) has a function of collecting disk access table information tables described in Patent Document 2 in units of disks.

ファイルシステム(204)は、ファイル管理機能(205)、仮想ファイル作成機能(206)、仮想ファイル削除機能(207)、データ領域確保機能(208)、ファイル管理表(209)で構成されている。ファイル管理機能(205)は、ファイル管理表(209)を元にファイル、ディレクトリなどの通常操作を実行する機能である。仮想ファイル作成機能(206)は、ファイル管理表(209)に仮想ファイルを登録する機能である。仮想ファイル削除機能(207)は、ファイル管理表(209)から仮想ファイルを削除する機能である。データ領域確保機能(208)は、ファイル管理表(209)のファイルに指定サイズ分のデータ格納位置を確保する機能である。ファイル管理表(209)は、図8に示すように、ファイルの各種属性、データ格納位置のリストをファイルごとに管理している。   The file system (204) includes a file management function (205), a virtual file creation function (206), a virtual file deletion function (207), a data area securing function (208), and a file management table (209). The file management function (205) is a function for executing normal operations such as files and directories based on the file management table (209). The virtual file creation function (206) is a function for registering a virtual file in the file management table (209). The virtual file deletion function (207) is a function for deleting a virtual file from the file management table (209). The data area securing function (208) is a function for securing a data storage position for a specified size in a file of the file management table (209). As shown in FIG. 8, the file management table (209) manages a list of various attributes and data storage positions of each file.

ディスクドライバ機能(210)、LANアクセス機能(211)は、クライアント(100)の同名のものと同じ機能を持つ。   The disk driver function (210) and the LAN access function (211) have the same functions as those of the client (100) having the same name.

ディスク装置(300)は、ディスクドライバ機能(110、211)からアクセスされて、ディスクアクセス情報テーブルで指定されたメモリオフセットとディスク位置でデータを入出力する。   The disk device (300) is accessed from the disk driver function (110, 211), and inputs and outputs data at the memory offset and disk position specified in the disk access information table.

次に、図7のシステム構成図、図15〜図22のフローチャートを参照して、本発明の実施形態の動作について詳細に説明する。なお以下では、アルファベットから始まる番号(A1〜H13)は、それぞれフローチャートの処理ステップを表す。フローチャートとして、図15にファイル転送プログラム、図16に仮想ファイル転送処理、図17に仮想ファイル作成依頼機能、図18に仮想アクセス要求機能、図19に仮想ファイル削除依頼機能、図20に仮想ファイル作成機能、図21にディスク仮想アクセス変換表レコード作成依頼処理、図22にディスクアクセス変換機能のフローチャートをそれぞれ示す。   Next, the operation of the embodiment of the present invention will be described in detail with reference to the system configuration diagram of FIG. 7 and the flowcharts of FIGS. In the following, numbers (A1 to H13) starting with alphabets represent processing steps of the flowchart. 15 is a file transfer program, FIG. 16 is a virtual file transfer process, FIG. 17 is a virtual file creation request function, FIG. 18 is a virtual access request function, FIG. 19 is a virtual file deletion request function, and FIG. 20 is a virtual file creation. 21 shows a disk virtual access conversion table record creation request process, and FIG. 22 shows a flowchart of the disk access conversion function.

(A、仮想ファイル転送プログラム(図15))
図15に、仮想ファイル転送プログラムによる処理フローを示す。仮想ファイル転送プログラム(101)は仮想ファイルとして転送するファイルの名前リストとファイル転送用メモリ領域(109)のサイズを受け取って処理を開始する。指定されたファイルが、ファイル転送用メモリ領域(109)に収まる数ごとに仮想ファイルにまとめられて、順番に転送される。
(A, virtual file transfer program (FIG. 15))
FIG. 15 shows a processing flow by the virtual file transfer program. The virtual file transfer program (101) receives the name list of files to be transferred as a virtual file and the size of the file transfer memory area (109) and starts processing. The designated files are collected into virtual files for each number that fits in the file transfer memory area (109) and transferred in order.

1、初期化作業を行う。転送リストは1つの仮想ファイルとして転送するファイルの名前リストであり、サイズリストは、それらのファイルのファイルサイズのリストである。転送リストとサイズリストを空で初期化する(ステップA2)。   1. Perform initialization. The transfer list is a name list of files to be transferred as one virtual file, and the size list is a list of file sizes of these files. The transfer list and size list are initialized to be empty (step A2).

2、引数で受け取った名前リストの要素全てに下記の処理を行う(ステップA3)。
2―1、名前リストからファイル名を1つ取り出して(ステップA4)、共有ファイルシステムクライアント機能(103)を介してサーバー(200)のファイルシステム(204)からファイルサイズを取得する(ステップA5)。
2. The following processing is performed on all elements of the name list received as an argument (step A3).
2-1. Extract one file name from the name list (step A4) and obtain the file size from the file system (204) of the server (200) via the shared file system client function (103) (step A5). .

2―2、上記で取得したファイルサイズとサイズリストの要素の合計値とファイル転送用メモリ領域(109)とのサイズを比較する(ステップA6)。ファイルサイズとサイズリストの要素の合計値がファイル転送用メモリ領域(109)より小さい場合は、サイズリストに上記のファイルサイズを、転送リストに上記のファイル名を加える(ステップA9)。さらにステップA3に戻り、ステップA4、5、6を繰り返す。ファイルサイズとサイズリストの要素の合計値がファイル転送用メモリ領域(109)より大きい場合は、保持されているサイズリスト及び転送リストを引数に仮想ファイル転送処理(詳細はフローチャートB)を行う(ステップA7)。その後、サイズリストと転送リストをリセットし、今回のファイルサイズとファイル名で、サイズリストと転送リストを初期化する(ステップA8)。さらにステップA3に戻り、ステップA4、5、6を繰り返す。   2-2. The file size obtained above, the total value of the elements of the size list, and the size of the file transfer memory area (109) are compared (step A6). If the total value of the file size and the size list element is smaller than the file transfer memory area (109), the file size is added to the size list and the file name is added to the transfer list (step A9). Further, returning to step A3, steps A4, 5, and 6 are repeated. If the total value of the file size and the size list element is larger than the file transfer memory area (109), a virtual file transfer process (detailed flowchart B) is performed using the held size list and transfer list as arguments (step B). A7). Thereafter, the size list and transfer list are reset, and the size list and transfer list are initialized with the current file size and file name (step A8). Further, returning to step A3, steps A4, 5, and 6 are repeated.

転送する仮想ファイルの大きさは、ファイル転送用メモリ領域(109)のサイズより、わずかに小さい場合が最も効率的である。そのため名前リストからファイル名を取り出し、そのファイルサイズを加算するステップを繰り返す。この繰り返しステップで加算されたサイズがファイル転送用メモリ領域(109)のサイズより、大きくなる。この場合に、その1つ前までに積算されたファイルを1つの仮想ファイルとして連結させ、転送する。このようにしてファイル転送用メモリ領域(109)のサイズよりやや小さなサイズの仮想ファイルとして、効率よくデータ転送を行うことができる。   It is most efficient when the size of the virtual file to be transferred is slightly smaller than the size of the file transfer memory area (109). Therefore, the step of extracting the file name from the name list and adding the file size is repeated. The size added in this repetition step becomes larger than the size of the file transfer memory area (109). In this case, the files accumulated up to the previous one are connected as one virtual file and transferred. In this way, data can be efficiently transferred as a virtual file having a size slightly smaller than the size of the file transfer memory area (109).

3、転送リストが空でない場合(ステップA10)は、転送リストとサイズリストを引数に仮想ファイル転送処理(詳細はフローチャートB)を行う(ステップA11)。このステップは、ステップA3の名前リストは無だが、ステップA9に転送リストが残っている場合の転送処理である。転送リストが空の場合は仮想ファイル転送プログラムによる処理ステップを終了する。   3. If the transfer list is not empty (step A10), the virtual file transfer process (detailed flowchart B) is performed using the transfer list and the size list as arguments (step A11). This step is a transfer process when there is no name list in step A3 but a transfer list remains in step A9. If the transfer list is empty, the processing step by the virtual file transfer program is terminated.

(B、仮想ファイル転送処理(図16))
図16に示す仮想ファイル転送処理は、ファイル転送プログラム(101)のサブルーチンであり、ファイル転送プログラムのフローチャート(ステップA7、A11)で、転送リストとサイズリストを引数に呼び出される。転送元サーバーから仮想ファイルをファイル転送用メモリ領域(109)に読みこんで(ステップB1〜B4)、転送先サーバーに各ファイルの領域を確保した(ステップB5〜B8)後で、転送先サーバーに仮想ファイルを書き込む(ステップB9〜B11)。
(B, virtual file transfer process (FIG. 16))
The virtual file transfer process shown in FIG. 16 is a subroutine of the file transfer program (101), and is called with the transfer list and size list as arguments in the file transfer program flowchart (steps A7 and A11). The virtual file is read from the transfer source server into the file transfer memory area (109) (steps B1 to B4), and the area of each file is secured in the transfer destination server (steps B5 to B8). A virtual file is written (steps B9 to B11).

1、転送リストを引数に、転送元サーバーに対して、仮想ファイル作成依頼機能(104)(詳細はフローチャートC)を実行し、仮想ファイルのファイル記述子を受け取る(ステップB2)。   1. Using the transfer list as an argument, the virtual file creation request function (104) (details are flowchart C) is executed for the transfer source server, and the file descriptor of the virtual file is received (step B2).

2、転送元サーバーから受け取った仮想ファイルのファイル記述子を引数に、転送元サーバーに対して、共有ファイルシステムクライアント機能(103)のアクセス要求(詳細はフローチャートD)を実行し、ファイル転送用メモリ領域(109)に仮想ファイルのデータを読み込む(ステップB3)。   2. Using the file descriptor of the virtual file received from the transfer source server as an argument, execute an access request (details flowchart D) of the shared file system client function (103) to the transfer source server, and execute the file transfer memory The virtual file data is read into the area (109) (step B3).

3、転送元サーバーから受け取った仮想ファイルのファイル記述子を引数に、転送元サーバーに対して、仮想ファイル削除依頼機能(105)(詳細はフローチャートE)を実行し、仮想ファイルを削除する(ステップB4)。   3. Using the file descriptor of the virtual file received from the transfer source server as an argument, execute the virtual file deletion request function (105) (details are flowchart E) to the transfer source server to delete the virtual file (step B4).

4、転送リストの要素全てに以下の処理を行う(ステップB5)。
4―1、転送リストからファイル名を、サイズリストからファイルサイズを1つ取り出す(ステップB6)。
4―2、共有ファイルシステムクライアント機能(103)を介して、転送先サーバーに上記のファイル名でファイルを作成し、ファイル記述子を取得する(ステップB7)。
4―3、上記ファイル記述子、ファイルサイズを引数に、転送先サーバーにデータ領域確保依頼機能(106)を実行する(ステップB8)。転送先サーバーの共有ファイルシステムサーバー機能(202)が、データ領域確保機能(208)を実行して、指定したファイルサイズ分のデータ格納領域を確保する(ステップB8’)。ここでは、領域の確保のみを行いデータの書き込みは行わない。ステップB5〜B8までを転送リストの要素全てに対し繰り返す。
4. The following processing is performed on all elements of the transfer list (step B5).
4-1. Extract a file name from the transfer list and one file size from the size list (step B6).
4-2. Create a file with the above file name on the transfer destination server via the shared file system client function (103), and obtain a file descriptor (step B7).
4-3, using the file descriptor and file size as arguments, execute the data area securing request function (106) to the transfer destination server (step B8). The shared file system server function (202) of the transfer destination server executes the data area securing function (208) to secure a data storage area for the designated file size (step B8 '). Here, only the area is reserved and no data is written. Steps B5 to B8 are repeated for all elements in the transfer list.

5、ステップB2と同様にして、転送リストを引数に、転送先サーバーに対して、仮想ファイル作成依頼機能(104)(詳細はフローチャートC)を実行し、仮想ファイルのファイル記述子を受け取る(ステップB9)。   5. Similarly to step B2, the virtual file creation request function (104) (details are flowchart C) is executed on the transfer destination server with the transfer list as an argument, and the file descriptor of the virtual file is received (step B9).

6、ステップB3と同様にして、転送先サーバーから受け取った仮想ファイルのファイル記述子を引数に、転送先サーバーに対して、共有ファイルシステムクライアント機能(103)のアクセス要求(詳細はフローチャートD)を実行し、転送先サーバーに仮想ファイルのデータを書き込む(ステップB10)。   6. In the same manner as in step B3, the shared file system client function (103) access request (details are flowchart D) to the transfer destination server using the file descriptor of the virtual file received from the transfer destination server as an argument. Execute and write the virtual file data to the transfer destination server (step B10).

7、ステップB4と同様にして、転送先サーバーから受け取った仮想ファイルのファイル記述子を引数に、転送先サーバーに対して、仮想ファイル削除依頼機能(105)(詳細はフローチャートE)を実行し、仮想ファイルを削除する(ステップB11)。   7. In the same manner as in step B4, the virtual file deletion request function (105) is executed on the transfer destination server with the file descriptor of the virtual file received from the transfer destination server as an argument. The virtual file is deleted (step B11).

(C、仮想ファイル作成依頼機能(図17))
仮想ファイル作成依頼機能(104)は、仮想ファイル転送のフローチャート(ステップB2)、(ステップB9)で、転送リストを引数に呼び出される。
1、引数で受け取った転送リストを指定して、共有ファイルシステムサーバー機能(202)に仮想ファイル作成依頼を送信する(ステップC2)。共有ファイルシステムサーバー機能(202)が仮想ファイル作成機能(206)(詳細はフローチャートF)を実行して仮想ファイルを作成し、仮想ファイルに対応するファイルハンドラと転送リストに含まれるファイルのサイズのリストを返す(ステップC2’)。
2、仮想ファイルのファイルハンドラと上記のファイルサイズのリストを引数にディスクアクセス変換表エントリ作成処理(詳細はフローチャートG)を実行する(ステップC3)。
3、仮想ファイルのファイルハンドラに対するファイル記述子を呼び出し元に返す(ステップC4)。
(C, virtual file creation request function (FIG. 17))
The virtual file creation request function (104) is called with the transfer list as an argument in the virtual file transfer flowchart (step B2) and (step B9).
1. Specify the transfer list received as an argument, and send a virtual file creation request to the shared file system server function (202) (step C2). The shared file system server function (202) executes the virtual file creation function (206) (details are flowchart F) to create a virtual file, and lists the file handler corresponding to the virtual file and the size of the file included in the transfer list Is returned (step C2 ′).
2. The disk access conversion table entry creation process (details are flowchart G) is executed with the file handler of the virtual file and the list of file sizes as arguments (step C3).
3. Return the file descriptor for the file handler of the virtual file to the caller (step C4).

(D、ファイルアクセス要求機能(図18))
ファイルアクセス要求機能は、特許文献1のディスクアクセス機能を、ディスクアクセス情報テーブルの補正を行うように拡張した機能である。ファイルアクセス要求機能は、共有ファイルシステムクライアント機能(103)の一部として、仮想ファイル転送処理のフローチャート(ステップB3、B10)で、仮想ファイルのファイル記述子を引数に呼び出される。
(D, file access request function (FIG. 18))
The file access request function is a function obtained by extending the disk access function of Patent Document 1 so as to correct the disk access information table. The file access request function is called as a part of the shared file system client function (103) by using the virtual file transfer process flowchart (steps B3 and B10) with the file descriptor of the virtual file as an argument.

1、引数で受け取ったファイル記述子に対応するファイルハンドラを指定して、共有ファイルシステムサーバー機能(202)に仮想ファイルのアクセス要求を送信する(ステップD2)。共有ファイルシステムサーバー機能(202)がファイルハンドラからファイル管理番号を取得し、ファイル管理番号をキーにしてファイル管理機能(205)から仮想ファイルのデータ格納位置情報を取得する(ステップD3)。ディスクアクセス情報テーブル統合機能(203)が、データ格納位置情報をディスク単位でまとめ、ディスクアクセス情報テーブルを作成し、クライアント(100)へ返す(ステップD4)。   1. A file handler corresponding to the file descriptor received as an argument is designated, and a virtual file access request is transmitted to the shared file system server function (202) (step D2). The shared file system server function (202) acquires the file management number from the file handler, and acquires the data storage location information of the virtual file from the file management function (205) using the file management number as a key (step D3). The disk access information table integration function (203) summarizes the data storage location information in units of disks, creates a disk access information table, and returns it to the client (100) (step D4).

2、引数で受け取ったファイル記述子に対応するファイルハンドラをキーにして、ディスクアクセス変換表(108)からレコードを取得する。ディスクアクセス情報テーブルとこのレコードを引数にディスクアクセス変換機能(107)を実行し、ディスクアクセス情報テーブルを補正する(詳細はフローチャートH)(ステップD5)。   2. Using the file handler corresponding to the file descriptor received as an argument as a key, obtain a record from the disk access conversion table (108). The disk access conversion function (107) is executed with the disk access information table and this record as arguments, and the disk access information table is corrected (details are in flowchart H) (step D5).

3、補正したディスクアクセス情報テーブルを引数にディスクドライバ機能(110)を実行し、ディスク装置(300)とファイル転送用メモリ領域(109)でデータの入出力を行う(ステップD6)。   3. The disk driver function (110) is executed with the corrected disk access information table as an argument, and data is input / output between the disk device (300) and the file transfer memory area (109) (step D6).

(E、仮想ファイル削除依頼機能(図19))
仮想ファイル削除依頼機能(105)は、仮想ファイル転送処理のフローチャート(ステップB4、B11)で、仮想ファイルのファイル記述子を引数に呼び出される。
1、引数で受け取ったファイル記述子に対応するファイルハンドラを指定して、共有ファイルシステムサーバー機能(202)に仮想ファイル削除依頼を送信する(ステップE2)。共有ファイルシステムサーバー機能(202)が仮想ファイル削除機能(207)を実行して仮想ファイルを削除する(ステップE2’)。
2、上記のファイルハンドラをキーに、ディスクアクセス変換表(108)からレコードを削除する(ステップE3)。
(E, virtual file deletion request function (FIG. 19))
The virtual file deletion request function (105) is called with the file descriptor of the virtual file as an argument in the flowchart of the virtual file transfer process (steps B4 and B11).
1. A file handler corresponding to the file descriptor received as an argument is designated, and a virtual file deletion request is transmitted to the shared file system server function (202) (step E2). The shared file system server function (202) executes the virtual file deletion function (207) to delete the virtual file (step E2 ′).
2. Using the file handler as a key, delete the record from the disk access conversion table (108) (step E3).

(F、仮想ファイル作成機能(図20))
仮想ファイル作成機能(206)は、仮想ファイル作成依頼機能のフローチャート(ステップC2’)で、転送リストを引数に呼び出される。
1、ファイル種別に「仮想ファイル」を設定したエントリを1つ作成し(ステップF2)、サイズリストを空で初期化する(ステップF3)。
(F, virtual file creation function (FIG. 20))
The virtual file creation function (206) is called with the transfer list as an argument in the flowchart (step C2 ′) of the virtual file creation request function.
1. One entry with “virtual file” set as the file type is created (step F2), and the size list is initialized to be empty (step F3).

2、転送リストの要素全てに以下の処理を行う(ステップF4)。
2―1、転送リストからファイル名を1つ取り出し(ステップF5)、ファイル管理表(209)から、そのファイルのデータ格納位置情報を取得し、上記のエントリに追加する(ステップF6)。
2―2、上記ファイル名で、ファイル管理表(209)から、ファイルサイズを取得し、サイズリストに追加する(ステップF7)。ステップF4〜ステップF7を転送リストの要素全てに繰り返す。
3、データ格納位置情報の合計サイズをエントリのファイルサイズに設定する(ステップF8)。
4、エントリをファイル管理表(209)に追加する(ステップF9)。
5、仮想ファイルと、サイズリストを呼び出し元に返す(ステップF10)。
2. The following processing is performed on all elements of the transfer list (step F4).
2-1. One file name is extracted from the transfer list (step F5), the data storage position information of the file is acquired from the file management table (209), and added to the entry (step F6).
2-2. The file size is acquired from the file management table (209) with the file name and added to the size list (step F7). Steps F4 to F7 are repeated for all elements in the transfer list.
3. The total size of the data storage location information is set to the file size of the entry (step F8).
4. An entry is added to the file management table (209) (step F9).
5. Return the virtual file and the size list to the caller (step F10).

(G、ディスクアクセス変換表レコード作成処理(図21))
ディスクアクセス変換表レコード作成処理は、仮想ファイル作成依頼機能(104)のサブルーチンであり、仮想ファイル作成依頼機能のフローチャート(ステップC3)で、仮想ファイルのファイルハンドラとサイズリストを引数に呼び出される。ディスクアクセス変換表レコード作成処理は、ディスクアクセス情報テーブルを図10の補正前のデータの配置から補正後のデータの配置へと補正するためのレコードを作成する。
(G, disk access conversion table record creation process (FIG. 21))
The disk access conversion table record creation process is a subroutine of the virtual file creation request function (104), and is called with the file handler and size list of the virtual file as arguments in the flowchart (step C3) of the virtual file creation request function. In the disk access conversion table record creation process, a record for correcting the disk access information table from the data arrangement before correction in FIG. 10 to the data arrangement after correction is created.

補正前のディスクアクセス情報テーブルは、図10の補正前のデータの配置に示すように、仮想ファイルを構成する各ファイルをブロック単位で切り上げたオフセットで配置するように、メモリオフセットが指定されている。このため、補正前の各ファイルのメモリ上のオフセット(ファイルオフセット)を、ファイルサイズをブロックサイズで切り上げた値を順次加算することで求める(ステップG9)。また、補正後の各ファイルのメモリ上のオフセット(ファイル補正オフセット)を、図10の補正後のデータの配置に示すように各ファイルをセクタ単位で切り上げたオフセットで配置するよう、各ファイルのファイルサイズをセクタサイズで切り上げた値を順次加算して求める(ステップG9)。また、ファイルサイズをセクタサイズで切り上げてファイル補正サイズを計算する(ステップG7)。以上により、各ファイルに対して、ファイルサイズ、ファイル補正サイズ、ファイルオフセット、ファイル補正オフセットを計算し、仮想ファイルのファイルハンドラと合わせてレコードとして保存する(ステップG10)。   In the pre-correction disk access information table, as shown in the pre-correction data arrangement of FIG. 10, the memory offset is specified so that each file constituting the virtual file is arranged with an offset rounded up in units of blocks. . For this reason, the offset (file offset) in the memory of each file before correction is obtained by sequentially adding values obtained by rounding up the file size by the block size (step G9). Further, the file offset of each file after correction (file correction offset) is set so that each file is arranged with an offset obtained by rounding up each file as shown in the data arrangement after correction in FIG. A value obtained by rounding up the size by the sector size is sequentially added and obtained (step G9). Also, the file correction size is calculated by rounding up the file size by the sector size (step G7). As described above, the file size, the file correction size, the file offset, and the file correction offset are calculated for each file, and stored together with the file handler of the virtual file (step G10).

1、共有ファイルシステムクライアント機能(103)を介して、サーバー(200)のファイルシステム(204)のブロックサイズを問い合わせる(ステップG2)。共有ファイルシステムサーバー機能(202)がファイル管理機能(205)からファイルシステムのブロックサイズを取得してクライアント(100)に返す(ステップG2’)。   1. Queries the block size of the file system (204) of the server (200) via the shared file system client function (103) (step G2). The shared file system server function (202) acquires the block size of the file system from the file management function (205) and returns it to the client (100) (step G2 ').

2、ディスクアクセス変換表のレコードを1つ作成する(ステップG3)。
3、ファイルオフセット、ファイル補正オフセットを0で初期化する(ステップG4)。
2. Create one record in the disk access conversion table (step G3).
3. The file offset and file correction offset are initialized to 0 (step G4).

4、サイズリストの要素全てに以下の処理を行う(ステップG5)。
4―1、サイズリストからファイルサイズを1つ取り出し(ステップG6)、ファイルサイズをセクタサイズで切り上げた値をファイル補正サイズに設定する(ステップG7)。
4―2、上記のレコードに、ファイルサイズ、ファイル補正サイズ、ファイルオフセット、ファイル補正オフセットを追加する(ステップG8)。
4―3、ファイルオフセットにファイルサイズをブロックサイズで切り上げた値を足し、ファイル補正オフセットに、ファイルサイズをセクタサイズで切り上げた値を足す(ステップG9)。ステップG5〜G9までをサイズリストの要素全てに繰り返す。
4. The following processing is performed on all elements of the size list (step G5).
4-1. One file size is extracted from the size list (step G6), and a value obtained by rounding up the file size by the sector size is set as the file correction size (step G7).
4-2: A file size, a file correction size, a file offset, and a file correction offset are added to the above record (step G8).
4-3: Add the value obtained by rounding up the file size to the block size to the file offset, and add the value obtained by rounding the file size up to the sector size to the file correction offset (step G9). Steps G5 to G9 are repeated for all elements in the size list.

5、上記のレコードに、引数で受け取った仮想ファイルのファイルハンドラを設定し、ディスクアクセス変換表に登録する(ステップG10)。   5. The file handler of the virtual file received as an argument is set in the above record and registered in the disk access conversion table (step G10).

(H、ディスクアクセス変換機能(図22))
ディスクアクセス変換機能(107)は、仮想ファイルアクセス要求機能のフローチャート(ステップD5)で、ディスクアクセス情報テーブルとディスクアクセス変換表(109)のレコードを引数に呼び出される。ディスクアクセス変換機能は、ディスクアクセス情報テーブルの各行に対して、大きく以下の4つの処理を行い、図23の補正後のデータ配置のように、メモリオフセットとデータサイズがセクタ単位で補正された新しいディスクアクセス情報テーブル(以下、変換後表と呼ぶ)を作成する。
(H, disk access conversion function (Fig. 22))
The disk access conversion function (107) is called with the records of the disk access information table and the disk access conversion table (109) as arguments in the flowchart of the virtual file access request function (step D5). The disk access conversion function performs the following four processes for each row of the disk access information table, and a new memory offset and data size corrected in units of sectors as in the corrected data arrangement of FIG. A disk access information table (hereinafter referred to as a post-conversion table) is created.

この変換後表の作成としては、大きく以下の4つの処理を行う。
(処理1)ディスクアクセス変換表(108)のレコードの各行とつき合わせて、どのファイルへのアクセスかを決定する(ステップH5)。
(処理2)ファイルのデータが存在しない場合に、その行を削除する(ステップH6)。
(処理3)後方にデータが存在しない場合(ステップH8)、データサイズをセクタ単位で小さくする(ステップH9)。
(処理4)メモリオフセットをディスクアクセス変換表のファイル補正オフセットで補正する(ステップH10)。
As the creation of the post-conversion table, the following four processes are largely performed.
(Process 1) A file to be accessed is determined in association with each row of the record of the disk access conversion table (108) (step H5).
(Process 2) If the file data does not exist, the line is deleted (step H6).
(Process 3) If no data exists behind (step H8), the data size is reduced in units of sectors (step H9).
(Process 4) The memory offset is corrected with the file correction offset in the disk access conversion table (step H10).

具体的に、図12、図14、図23、図24、図25を用いて、ディスクアクセス情報テーブルの最後の行(図14の5行目、以下変換前行と呼ぶ)をディスクアクセス変換表(108)のレコード(図12、以下変換レコードと呼ぶ)を用いて変換する例を説明する。図23に示すように、ディスクアクセス情報テーブルの最後の行が、メモリオフセットは前に移動し、データサイズは有効なファイルを含むサイズをセクタ単位で切り上げられた値に補正される(以下、補正された行を変換後行と呼ぶ)。   Specifically, referring to FIGS. 12, 14, 23, 24, and 25, the last row of the disk access information table (the fifth row in FIG. 14, hereinafter referred to as the pre-conversion row) is the disk access conversion table. An example of conversion using the record (108) (FIG. 12, hereinafter referred to as a conversion record) will be described. As shown in FIG. 23, in the last row of the disk access information table, the memory offset is moved forward, and the data size is corrected to a value obtained by rounding up the size including a valid file in units of sectors (hereinafter referred to as correction). Called the converted line).

はじめに(処理1)を行う。変換前行があるファイルにアクセスしている場合、変換前行のメモリオフセットは、そのファイルが読み込まれるメモリ領域を指している。また、ファイルが読み込まれるメモリ領域の開始位置は、変換レコードのファイルオフセットの値と等しい。よって、変換レコードの各行をファイルオフセットが小さい順に調べて、ファイルオフセットが変換前行のメモリオフセットよりも大きい直前の行が、変換前行がアクセスしているファイルに対応する変換レコードの行になる(ステップH5)。今回の変換前行は、図24が示すように、変換前行のメモリオフセットが変換レコードの最後の行のファイルオフセットよりも大きくなるので、図12の最後の行が該当する。以下、この該当行を変換行と呼ぶ。   First, (Process 1) is performed. When accessing a file having a pre-conversion line, the memory offset of the pre-conversion line indicates a memory area into which the file is read. The start position of the memory area from which the file is read is equal to the file offset value of the conversion record. Therefore, each line of the conversion record is examined in order from the smallest file offset, and the line immediately before the file offset larger than the memory offset of the line before conversion becomes the line of the conversion record corresponding to the file accessed by the line before conversion. (Step H5). As shown in FIG. 24, the current pre-conversion line corresponds to the last line in FIG. 12 because the memory offset of the pre-conversion line is larger than the file offset of the last line of the conversion record. Hereinafter, this corresponding line is referred to as a conversion line.

次に(処理2)を行う。ファイルの有効範囲は、図24が示すように、「変換行のファイルオフセット+ファイルサイズ」(1002)までになる。変換前行のメモリオフセットが(1002)よりも大きい場合は、変換前行がファイルのデータを含んでいないのでこの行の変換処理を中止する(ステップH6のyes)。今回の変換前行のメモリオフセット(20480バイト)は、(1002)の値(12288+10000=22288バイト)以下なので、ファイルのデータを含んだ行であるため、処理を続行する。   Next, (Process 2) is performed. As shown in FIG. 24, the effective range of the file is up to “file offset of conversion line + file size” (1002). If the memory offset of the pre-conversion line is larger than (1002), the pre-conversion line does not include file data, so the conversion process for this line is stopped (yes in step H6). Since the memory offset (20480 bytes) of the row before conversion this time is equal to or less than the value of (1002) (12288 + 10000 = 22288 bytes), the processing is continued because the row includes file data.

次に(処理3)を行う。変換前行の後方にファイルのデータが存在しない場合は、変換前行がファイルの有効範囲を飛び越えてアクセスしている状態なので、図24の「変換行のファイルオフセット+ファイルサイズ」(1002)よりも、「変換前行のメモリオフセット+データサイズ」(1005)が大きくなる(ステップH8のyes)。今回の変換前行は、(1002)の値(12288+10000=22288バイト)よりも(1005)の値(20480+4096=24576バイト)が大きくなるので、後方にファイルのデータが存在しない行である。よって、後方のファイルのデータが存在しない部分をセクタ単位で切り詰める作業を行う。   Next, (Process 3) is performed. If the file data does not exist after the pre-conversion line, the pre-conversion line is in a state of being accessed beyond the effective range of the file, and therefore, from “file offset of conversion line + file size” (1002) in FIG. In addition, “the memory offset of the row before conversion + the data size” (1005) is increased (yes in step H8). Since the value before (1005) (20480 + 4096 = 24576 bytes) is larger than the value of (1002) (12288 + 10000 = 22288 bytes), the pre-conversion line this time is a line in which no file data exists. Therefore, the work of truncating the portion where the data of the backward file does not exist in units of sectors is performed.

図25で示すように、変換前行のメモリオフセットがファイルのどの位置に当たるかは、「変換前行のメモリオフセット−変換行のファイルオフセット」(1102)で計算できる。さらに変換行のファイル補正オフセットが、ファイルサイズをセクタ単位で切り上げた値になっているので、変換前行のデータサイズを補正した値は、「変換行のファイル補正サイズ−(変換前行のメモリオフセット−変換行のファイルオフセット)」(1105)になる(ステップH9)。今回の変換前行のデータサイズを補正した値は、(1105)から2048バイト(=10240−(20480−12288))になる。   As shown in FIG. 25, the memory offset of the line before conversion corresponds to which position in the file can be calculated by “memory offset of the line before conversion−file offset of the line of conversion” (1102). Further, since the file correction offset of the conversion line is a value obtained by rounding up the file size in units of sectors, the value obtained by correcting the data size of the line before conversion is “file correction size of conversion line− (memory of conversion line before conversion). (Offset-file offset of conversion line) "(1105) (step H9). A value obtained by correcting the data size of the previous conversion row is changed from (1105) to 2048 bytes (= 10240− (20480-12288)).

最後に(処理4)を行う。変換前行のメモリオフセットを変換行のファイル補正オフセットで補正する。図25で示すように、ファイルの先頭オフセットは、「変換行のファイル補正オフセット」(1103)になる。変換前行がファイルのどの位置からアクセスするかは(処理3)と同様に(1102)で計算できるので、変換前行のメモリオフセットを補正した値は、「変換行のファイル補正オフセット+(変換前行のメモリオフセット−変換行のファイルオフセット)」(1106)となる(ステップH10)。今回の変換前行のメモリオフセットを補正した値は、(1106)から15072バイト(=7680+(20480−12288))になる。   Finally, (Process 4) is performed. The memory offset of the line before conversion is corrected by the file correction offset of the conversion line. As shown in FIG. 25, the head offset of the file is “file correction offset of converted line” (1103). Since the position in the file where the pre-conversion line is accessed can be calculated in (1102) as in (Process 3), the value obtained by correcting the memory offset of the pre-conversion line is “file correction offset of conversion line + (conversion (Memory offset of previous line−file offset of converted line) ”(1106) (step H10). The value obtained by correcting the memory offset of the previous conversion row is changed from (1106) to 15072 bytes (= 7680 + (20480-12288)).

以上により、変換前行を補正した変換後行を作成し、変換後表に登録していく(ステップH11)。今回の変換前行の場合、メモリオフセット15072バイト、ファイルサイズ2048バイト、ディスク位置5という、変換後行が登録される。すべての変換前行に対して上記処理を行い、変換後表を返す(ステップH12)。   As described above, a post-conversion row in which the pre-conversion row is corrected is created and registered in the post-conversion table (step H11). In the case of the pre-conversion line this time, a post-conversion line of memory offset 15072 bytes, file size 2048 bytes, and disk position 5 is registered. The above processing is performed on all the pre-conversion rows, and a post-conversion table is returned (step H12).

本発明では上記したように、サイズの小さい多数のファイルを、あたかも、ひとつの大きなファイルとして取り扱うことのできる機能(仮想ファイル機能と呼ぶ)を備える。サイズの小さいファイルを多数転送する場合に、まず、多数のファイルをひとつの仮想ファイルとする。この仮想ファイルを1つの大きなファイルとして取り扱い、一度に転送することで、制御パケットのオーバーヘッドを削減し、高速なファイル転送を実現することができる。このように複数のファイルをひとつにまとめた仮想ファイルを転送することで、ファイル単位で分離されない入出力が実現でき、ファイル単位よりも高速なファイル転送が可能になる。SANを利用した共有ファイルシステムでサイズの小さいファイルを多数転送する場合に有効である。また大きなサイズの入出力が実行できるファイルシステムにおいても有効である。   As described above, the present invention includes a function (called a virtual file function) that can handle a large number of small files as if they were one large file. When a large number of small files are transferred, first, the large number of files are set as one virtual file. By treating this virtual file as one large file and transferring it at once, the overhead of the control packet can be reduced and high-speed file transfer can be realized. By transferring a virtual file in which a plurality of files are combined into one in this way, input / output that is not separated in units of files can be realized, and file transfer can be performed at a higher speed than in units of files. This is effective when a large number of small files are transferred in a shared file system using SAN. It is also effective in file systems that can execute large-sized input / output.

本発明によれば、転送元記憶装置のサイズの小さな多数のファイルのサイズをそれぞれブロック単位からセクタ単位にサイズ補正し、これらのサイズ補正したファイルを連結した1つの仮想ファイルとしてまとめ、転送先記憶装置に1つのファイルとしてファイル転送させるデータ転送方法が得られる。   According to the present invention, the sizes of a large number of small files in the transfer source storage device are corrected in size from block units to sector units, and these size corrected files are combined into one virtual file that is concatenated and transferred to the transfer destination storage device. A data transfer method is obtained in which the apparatus transfers a file as a single file.

本発明の転送先記憶装置においては、転送された仮想ファイルを補正前のブロック単位の小さなサイズのファイルにそれぞれ復元し、分割して書き込むことができる。   In the transfer destination storage device of the present invention, the transferred virtual file can be restored to a small size file in units of blocks before correction, and can be divided and written.

本発明の仮想ファイルは、そのファイルサイズがセクタ単位になるように連結される前のブロック単位のファイルのギャップを1セクタ以内とすることができる。また仮想ファイルを、連結される前のファイル毎のファイル管理番号、ファイル種別、ファイルサイズ及びデータ格納位置情報のリストが1つのエントリとして保存されたファイル管理表で管理することができる。その仮想ファイルは、連結される前のファイルのオフセットをセクタ単位に補正することもできる。さらに仮想ファイルは、ファイル転送用メモリ領域に書き込まれたあとで削除することもできる。   In the virtual file according to the present invention, the gap of the file in units of blocks before being concatenated so that the file size is in units of sectors can be within one sector. In addition, the virtual file can be managed by a file management table in which a file management number, a file type, a file size, and a list of data storage position information for each file before concatenation are saved as one entry. The virtual file can also correct the offset of the file before concatenation in units of sectors. Furthermore, the virtual file can be deleted after it is written to the file transfer memory area.

また本発明によれば、転送元のサーバーが転送するファイル名リストを受け取り、仮想ファイル作成機能が複数のファイルのファイルサイズをブロック単位からセクタ単位に削減し、これらのファイルを連結した1つの仮想ファイルとしてまとめ、読み込みアクセスに従って、その作成された仮想ファイルをファイル転送用メモリ領域に書き込み、転送先のサーバーが転送されるファイル名リストを受け取り、データ領域確保機能が転送先ディスク装置のデータ領域を確保し、アクセス要求に従って、ファイル転送用メモリ領域の仮想ファイルを転送先ディスク装置のデータ領域に書き込みするデータ転送方法が得られる。   According to the present invention, the file name list to be transferred is received by the transfer source server, and the virtual file creation function reduces the file size of the plurality of files from the block unit to the sector unit, and one virtual file obtained by concatenating these files. As a file, in accordance with read access, the created virtual file is written to the file transfer memory area, the transfer destination server receives the file name list to be transferred, and the data area allocation function stores the data area of the transfer destination disk device. A data transfer method is obtained in which a virtual file in the memory area for file transfer is written to the data area of the transfer destination disk device in accordance with the access request.

本発明の転送先ディスク装置のデータ領域への書き込みは、転送元のファイルサイズにそれぞれ復元し、分割して書き込むことができる。また、ファイル転送用メモリ領域に仮想ファイルが書き込まれた後、転送元の仮想ファイル作成機能が作成した仮想ファイルは、仮想ファイル削除機能を使って削除することができる。   Writing to the data area of the transfer destination disk device of the present invention can be restored to the transfer source file size and divided and written. Further, after the virtual file is written in the file transfer memory area, the virtual file created by the transfer source virtual file creation function can be deleted using the virtual file deletion function.

上記したように実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。   As described above, the present invention has been described with reference to the embodiment, but the present invention is not limited to the above embodiment. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

本発明においては、多数のファイルをひとつの大きな仮想ファイルとして取り扱い、一度に転送することで、制御パケットのオーバーヘッドを削減し、高速なファイル転送を実現できる。このことからSANを利用した共有ファイルシステムでサイズの小さいファイルを多数転送する場合や、大きなサイズの入出力が実行できるファイルシステムにおいて有効である。HPCにおけるSANを介して高速なファイル転送を行う共有ファイルシステムに好適に利用できるものである。   In the present invention, a large number of files are handled as one large virtual file and transferred at a time, thereby reducing the overhead of the control packet and realizing high-speed file transfer. This is effective when a large number of small files are transferred in a shared file system using SAN, or in a file system that can execute input / output of a large size. The present invention can be suitably used in a shared file system that performs high-speed file transfer via SAN in HPC.

ステージング・デスステージングを説明するためのシステム構成図である。It is a system configuration diagram for explaining staging / destaging. ネットワークファイルシステム(NFS)の構成図である。It is a block diagram of a network file system (NFS). ストレージエリアネットワーク(SAN)の構成図である。It is a block diagram of a storage area network (SAN). データ格納位置をまとめるストレージエリアネットワーク(SAN)の構成図である。It is a block diagram of a storage area network (SAN) that collects data storage locations. 図4の効果を示す説明図である。It is explanatory drawing which shows the effect of FIG. 本発明に係る仮想ファイルの構成図である。It is a block diagram of the virtual file which concerns on this invention. 本発明に係る共有ファイルシステムのシステム構成図である。1 is a system configuration diagram of a shared file system according to the present invention. FIG. 本発明に係るファイル管理表である。3 is a file management table according to the present invention. 通常ファイルと仮想ファイルのデータ構成を説明する説明図である。It is explanatory drawing explaining the data structure of a normal file and a virtual file. 仮想ファイルのギャップの補正前後におけるデータ配置図である。It is a data arrangement | positioning figure before and behind correction | amendment of the gap of a virtual file. ディスクアクセス変換表のファイル構成図である。It is a file block diagram of a disk access conversion table. ディスクアクセス変換表の一例である。It is an example of a disk access conversion table. ディスクアクセス情報テーブルのファイル構成図である。It is a file block diagram of a disk access information table. ディスクアクセス情報テーブルの一例である。It is an example of a disk access information table. ファイル転送のファイル転送プログラムにおけるフローチャートである。It is a flowchart in the file transfer program of file transfer. ファイル転送の仮想ファイル転送処理におけるフローチャートである。It is a flowchart in the virtual file transfer process of file transfer. ファイル転送の仮想ファイル作成依頼機能におけるフローチャートである。It is a flowchart in the virtual file creation request function of file transfer. ファイル転送の仮想ファイルアクセス要求機能におけるフローチャートである。It is a flowchart in the virtual file access request function of file transfer. ファイル転送の仮想ファイル削除依頼機能におけるフローチャートである。It is a flowchart in the virtual file deletion request function of file transfer. ファイル転送の仮想ファイル作成機能におけるフローチャートである。It is a flowchart in the virtual file creation function of file transfer. ファイル転送のディスク仮想アクセス変換表レコード作成処理におけるフローチャートである。It is a flowchart in the disk virtual access conversion table record creation process of file transfer. ファイル転送のディスクアクセス変換機能におけるフローチャートである。It is a flowchart in the disk access conversion function of file transfer. ディスクアクセス情報テーブルのエントリの補正前後のデータ配置図である。It is a data arrangement | positioning figure before and behind correction | amendment of the entry of a disk access information table. ディスクアクセス情報テーブルのアクセス位置の補正前後のデータ配置図である。It is a data arrangement | positioning figure before and behind correction | amendment of the access position of a disk access information table. ディスクアクセス情報テーブルのオフセット、サイズの補正前後のデータ配置図である。It is a data arrangement | positioning figure before and after correction | amendment of offset and size of a disk access information table.

符号の説明Explanation of symbols

100 クライアント
101 仮想ファイル転送プログラム
102 共有ファイルシステムクライアント
103 共有ファイルシステムクライアント機能
104 仮想ファイル作成依頼機能
105 仮想ファイル削除依頼機能
106 データ領域確保依頼機能
107 ディスクアクセス変換機能
108 ディスクアクセス変換表
109 ファイル転送用メモリ領域
110 ディスクドライバ機能
111 LANアクセス機能
200 サーバー
201 共有ファイルシステムサーバー
202 共有ファイルシステムサーバー機能
203 ディスクアクセス情報テーブル統合機能
204 ファイルシステム
205 ファイル管理機能
206 仮想ファイル作成機能
207 仮想ファイル削除機能
208 データ領域確保機能
209 ファイル管理表
210 ディスクドライバ機能
211 LANアクセス機能
300 ディスク装置
100 Client 101 Virtual file transfer program 102 Shared file system client 103 Shared file system client function 104 Virtual file creation request function 105 Virtual file deletion request function 106 Data area reservation request function 107 Disk access conversion function 108 Disk access conversion table 109 For file transfer Memory area 110 Disk driver function 111 LAN access function 200 Server 201 Shared file system server 202 Shared file system server function 203 Disk access information table integration function 204 File system 205 File management function 206 Virtual file creation function 207 Virtual file deletion function 208 Data area Secure function 209 File management table 210 Disk driver function 11 LAN access function 300 disk device

Claims (10)

転送元記憶装置のサイズの小さな多数のファイルのサイズをそれぞれブロック単位からセクタ単位にサイズ補正し、これらのサイズ補正したファイルを連結した1つの仮想ファイルとしてまとめ、転送先記憶装置に1つのファイルとしてファイル転送させることを特徴とするデータ転送方法。   The size of a large number of small files in the transfer source storage device is corrected in size from block units to sector units, and these size corrected files are combined into one virtual file concatenated and stored in the transfer destination storage device as one file. A data transfer method comprising transferring a file. 前記転送先記憶装置においては、転送された仮想ファイルを補正前のブロック単位の小さなサイズのファイルにそれぞれ復元し、分割して書き込まれることを特徴とする請求項1に記載のデータ転送方法。   2. The data transfer method according to claim 1, wherein in the transfer destination storage device, the transferred virtual file is restored to a small size file in units of blocks before correction, and is divided and written. 前記仮想ファイルは、そのファイルサイズがセクタ単位になるように連結される前のブロック単位のファイルのギャップを1セクタ以内に削減されることを特徴とする請求項1又は2に記載のデータ転送方法。   3. The data transfer method according to claim 1 or 2, wherein the gap of the file of the block unit before the virtual file is concatenated so that the file size becomes a sector unit is reduced within one sector. . 前記仮想ファイルは、連結される前のファイル毎のファイル管理番号、ファイル種別、ファイルサイズ及びデータ格納位置情報のリストが1つのエントリとして保存されたファイル管理表で管理されることを特徴とする請求項1乃至3のいずれかに記載のデータ転送方法。   The virtual file is managed by a file management table in which a file management number, a file type, a file size, and a data storage location information list for each file before concatenation are stored as one entry. Item 4. The data transfer method according to any one of Items 1 to 3. 前記仮想ファイルは、連結される前のファイルのオフセットをセクタ単位に補正されることを特徴とする請求項1乃至4のいずれかに記載のデータ転送方法。   5. The data transfer method according to claim 1, wherein the virtual file is corrected in units of sectors with an offset of the file before being concatenated. 前記仮想ファイルは、ファイル転送用メモリ領域に書き込まれたあとで削除されることを特徴とする請求項1乃至5のいずれかに記載のデータ転送方法。   6. The data transfer method according to claim 1, wherein the virtual file is deleted after being written in the file transfer memory area. 転送元のサーバーが転送するファイル名リストを受け取り、仮想ファイル作成機能が複数のファイルのファイルサイズをブロック単位からセクタ単位に削減し、これらのファイルを連結した1つの仮想ファイルとしてまとめ、読み込みアクセスに従って、その作成された仮想ファイルをファイル転送用メモリ領域に書き込み、
転送先のサーバーが転送されるファイル名リストを受け取り、データ領域確保機能が転送先ディスク装置のデータ領域を確保し、アクセス要求に従って、前記ファイル転送用メモリ領域の仮想ファイルを前記転送先ディスク装置のデータ領域に書き込みすることを特徴とするデータ転送方法。
The transfer source server receives the list of file names to be transferred, and the virtual file creation function reduces the file size of multiple files from block units to sector units, consolidates these files into one virtual file, and follows read access , Write the created virtual file to the file transfer memory area,
The transfer destination server receives the list of file names to be transferred, the data area securing function secures the data area of the transfer destination disk device, and the virtual file in the memory area for file transfer is transferred to the transfer destination disk device according to the access request. A data transfer method comprising writing to a data area.
前記転送先ディスク装置のデータ領域への書き込みは、転送元のファイルサイズにそれぞれ復元し、分割して書き込まれることを特徴とする請求項7に記載のデータ転送方法。   8. The data transfer method according to claim 7, wherein the writing to the data area of the transfer destination disk device is restored to the transfer source file size and is divided and written. 前記ファイル転送用メモリ領域に仮想ファイルが書き込まれた後、前記転送元の仮想ファイル作成機能が作成した仮想ファイルは、仮想ファイル削除機能を使って削除されることを特徴とする請求項7又は8に記載のデータ転送方法。   9. The virtual file created by the transfer source virtual file creation function after the virtual file is written in the file transfer memory area is deleted using the virtual file deletion function. The data transfer method described in 1. 請求項1乃至9のいずれかに記載のデータ転送方法を用いたことを特徴とするデータ転送方式。   A data transfer method using the data transfer method according to claim 1.
JP2008094561A 2008-04-01 2008-04-01 Data transfer method Expired - Fee Related JP4743444B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008094561A JP4743444B2 (en) 2008-04-01 2008-04-01 Data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008094561A JP4743444B2 (en) 2008-04-01 2008-04-01 Data transfer method

Publications (2)

Publication Number Publication Date
JP2009251619A JP2009251619A (en) 2009-10-29
JP4743444B2 true JP4743444B2 (en) 2011-08-10

Family

ID=41312319

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008094561A Expired - Fee Related JP4743444B2 (en) 2008-04-01 2008-04-01 Data transfer method

Country Status (1)

Country Link
JP (1) JP4743444B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5664264B2 (en) * 2011-01-18 2015-02-04 株式会社リコー Data processing apparatus and data processing method
JP6191232B2 (en) * 2013-05-16 2017-09-06 富士通株式会社 Information processing system, information processing method, and information processing program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06231016A (en) * 1993-02-04 1994-08-19 Hitachi Ltd File coupling/dividing method
JP3307331B2 (en) * 1998-05-28 2002-07-24 日本電気株式会社 Network file system data transfer method
JP3979183B2 (en) * 2002-05-27 2007-09-19 日本電気株式会社 Data sharing system, disk device access method and program
WO2006079368A1 (en) * 2005-01-25 2006-08-03 Nero Ag Method for preparing dvd-video formatted data, method for reconstructing dvd-video data and dvd-video data structure

Also Published As

Publication number Publication date
JP2009251619A (en) 2009-10-29

Similar Documents

Publication Publication Date Title
JP4464279B2 (en) System and method for file striping in a distributed file system
EP1182554B1 (en) Partial migration of an object to another storage location in a computer system
US20200019516A1 (en) Primary Data Storage System with Staged Deduplication
JP6106901B2 (en) Data processing method and device in distributed file storage system
US11010103B2 (en) Distributed batch processing of non-uniform data objects
US7660866B2 (en) Use of virtual targets for preparing and servicing requests for server-free data transfer operations
US9274716B2 (en) Systems and methods for hierarchical reference counting via sibling trees
US20210181963A1 (en) Native key-value storage enabled distributed storage system
US8683122B2 (en) Storage system
WO2012050935A2 (en) Apparatus, system, and method for data transformations within a data storage device
US8768898B1 (en) Performing direct data manipulation on a storage device
CN104778192B (en) Represent can content addressed storage system bibliographic structure
US10810174B2 (en) Database management system, database server, and database management method
US20070174360A1 (en) Storage system embedding database
US8683121B2 (en) Storage system
JP4743444B2 (en) Data transfer method
JP5494817B2 (en) Storage system, data management apparatus, method and program
US11163642B2 (en) Methods, devices and computer readable medium for managing a redundant array of independent disks
US20090265446A1 (en) Content delivery apparatus and content delivery method using the same
JPH06231016A (en) File coupling/dividing method
JP2009271739A (en) Information processing system, information processing apparatus, transfer program and transfer method
CN111061683A (en) Method and device for storing and operating data stream at high speed
WO2013075516A1 (en) Virtual tape library device and data restoration method

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110413

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110426

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140520

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4743444

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees