[go: up one dir, main page]

WO2004111854A1 - File access management method, file access management device, and recording medium - Google Patents

File access management method, file access management device, and recording medium Download PDF

Info

Publication number
WO2004111854A1
WO2004111854A1 PCT/JP2003/007485 JP0307485W WO2004111854A1 WO 2004111854 A1 WO2004111854 A1 WO 2004111854A1 JP 0307485 W JP0307485 W JP 0307485W WO 2004111854 A1 WO2004111854 A1 WO 2004111854A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
block
update
access management
another area
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.)
Ceased
Application number
PCT/JP2003/007485
Other languages
French (fr)
Japanese (ja)
Inventor
Takamitsu Inagi
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to PCT/JP2003/007485 priority Critical patent/WO2004111854A1/en
Publication of WO2004111854A1 publication Critical patent/WO2004111854A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms

Definitions

  • the present invention relates to a system for accessing one file from a plurality of processes, and more particularly to a method for enabling a process to refer to the same file even when a certain process is updating the file.
  • file locks existed as a way to avoid this. File locking is a mechanism that prevents other processes from accessing and updating while the file is locked.
  • DB database system
  • Patent Document 1 in a document database in which a block is stored at a fixed number of registered documents and the storage area of the block data is managed by a management block, the document database is searched.
  • the contents of the corresponding block are copied and the registered contents are reflected in the copy, so that when a system failure occurs and the system is restarted, the block before registration is blocked.
  • the registration refers to the management block after registration
  • the search refers to the management block before registration.
  • the feature is that it can be performed in parallel.
  • the control method when the contents of a specific block of a memory area is changed is described.
  • partial block data of the basic database stored in the variable memory is changed. If it becomes necessary, a process to prepare the changed block data for the work block provided using an area different from the area storing the basic database is performed, but a read command is received during this process. In this case, the block data before the change is read.
  • the changed block data is completed in the work block, while the contents of this work block are sequentially transferred to the original basic-database area block, when the read command is received, the work block is received. Read the changed block data from. .
  • Patent Document 1
  • Patent Document 2
  • An object of the present invention is to provide a file access management method or the like that enables a process to refer to another process even when a process is updating a file, and makes the update process during normal operation much faster. It is to be. Disclosure of the invention
  • the file access management method when an arbitrary file is requested to be updated from an arbitrary process, the file becomes an update target in the file.
  • the update process is executed on the original block, and if another process requests a reference to the file during the update process, the copy block is referred to.
  • the block to be updated is the original block, and the block to be referred to is the copy block.
  • the copy block There is no need to rewrite, and the update performance during normal operation is much faster.
  • block-by-block copying unlike the method of making a copy of the entire file, a copy can be made in a fixed time regardless of the file size.
  • the program may be read from a computer-readable storage medium storing a program for causing a computer to perform the same control as the function performed by each configuration of the present invention, and executed by the computer. Can solve the aforementioned issues. Wear.
  • FIG. 1 is a diagram showing an example of a system to which a file access management method according to the present embodiment is applied.
  • FIG. 2 is a diagram showing a specific example of the block management book.
  • FIG. 3 (a) is a diagram showing a state of file management at the time of a file update request
  • FIG. 4 is a processing flowchart when there is a request from the update process.
  • FIG. 5 is a processing flowchart when there is a request from the reference process.
  • FIG. 6 is a processing flow chart in a case where it is specified whether or not the processing of this example is applied to each file.
  • FIG. 7 is a diagram illustrating an example of a hardware configuration of a computer that executes the file access management method of the present example.
  • FIG. 8 is a diagram showing an example of a recording medium storing a program for causing a computer to execute the file access management method of the present example, and an example of downloading the program.
  • Figure 1 shows an example of a system that applies the file access management method according to this example.
  • FIG. 1 shows an example of a system that applies the file access management method according to this example.
  • a computer 17 accesses a disk 17 such as a hard disk (HD) as a system for executing the file access management method according to the present example.
  • a computer 17 accesses a disk 17 such as a hard disk (HD) as a system for executing the file access management method according to the present example.
  • the configuration is exemplified.
  • the update / reference request is usually first transferred to the file system layer 12 in the operating system (OS) 11. Then, the disk 17 is accessed from the file system layer 12 via the driver layer 13.
  • OS operating system
  • the disk 17 may be internal to the computer 10, may be external, or may be shared with a plurality of other computers (not shown). In the case of a configuration shared by multiple computers, the update process 15 and the reference process 16 may have been requested by another computer.
  • the disk 17 has a management block area 18 and a data area 19.
  • the data area 19 stores files and the like.
  • the management area 18 stores management information of each file stored in the data area 19. In the example shown in the figure, the management information is file name 21, date 22, policy 23, and data block No. 24.
  • the file name 21 is the name of the file stored in the data area 19, and the date 22 is the newly registered Z update date and time.
  • the policy 23 will be described later.
  • a non-volatile external storage device such as a magnetic disk or a magnetic tape uses a method of accessing a block unit such as a physical block and a logical block. Data block No. 24 is assigned to each block of the file. The stored number is stored.
  • the layer that manages the copy block may be anywhere.
  • a NAS (Network Attached Storage) layer, a file system layer, a driver layer, etc. are considered.
  • a case where the copy protocol is managed in the file system layer 12 will be described as an example.
  • the file system layer 12 manages copy blocks by using a block management book 14 as shown in FIG.
  • a configuration for realizing such a file access management method of this example is hereinafter referred to as a file access management device (not shown).
  • the functional unit performing the processing in FIG. 4 is referred to as an update control unit
  • the functional unit performing the processing in FIG. 5 is referred to as a reference control unit (neither is shown).
  • FIG. 2 shows a specific example of the block management book 14.
  • the illustrated block management book 14 is for registering copy block management information, and includes data items of a block number 31, an address number 32, and a reference count 33.
  • the block number 31 stores the data block No. 24 of the block in which the above copy was made.
  • Address number 3 2 contains the block number The address of the storage area to which the data of the block 31 is copied is stored.
  • Reference count 33 stores the number of processes currently referencing the copy block.
  • the file access management method of this example will be described with reference to the image shown in FIG.
  • the reference count 33 will be described later with reference to a flowchart.
  • file A is composed of blocks B0, Bl, and B2 and records meaningful contents.
  • update process 15 issues an update request (write) for file A
  • the above file access management device does not copy the entire file, but rather updates the block to be updated (here, block B). Control so that only 0) is copied.
  • the copy block is represented as B0.
  • the block number of block B0 and the storage address of copy block B0 are stored in block number 31 and address number 32, respectively.
  • the update process according to the request of the update process 15 is performed not on the copy block BO 'but on the original block B O (hereinafter, referred to as an original block).
  • the file access management device refers to the block management book 14
  • the block management book 14 For the block being updated, that is, the block B 0 in which the block number 31 is registered in the block management book 14, the copied block B 0 ′ is referred to.
  • the original blocks are naturally referred to.
  • the updated block is the original block.
  • the block referred to is a copy block. If the copy block is set as the update side as in the past, it will be necessary to write back to the original block when the update is completed. However, if the copy block is the update side, the file before update can be recovered quickly by simply discarding the unfinished block being updated when a failure occurs. On the other hand, when the original block is the update side as in the method of this example, it is necessary to rewrite the copy block to the original block when a failure occurs.
  • a copy block may be released if it has not been referenced by another process when the update of the corresponding original block is completed. However, if the copy block has been referenced when the corresponding original block has been updated, it must not be released until the reference is completed. For this reason, reference count 33 is used to manage whether a block is being referenced. In other words, the value of the reference count 33 is 0 in the initial state, and the value of the reference count 33 is incremented (+1) every time there is a reference request during the update process. Then, every time the reference is completed, the value of the reference count 33 is decremented (1-1). Since the number of other processes requesting reference during update processing is not limited to one, the value of reference count 33 may be 2 or more. Then, when the value of the reference count 33 becomes 0, it means that there is no process being referred to, and the copy block may be released.
  • FIG. 4 is a processing flowchart when a request from the update process 15 is received
  • FIG. 5 is a processing flowchart when a request from the reference process 16 is received. First, FIG. 4 will be described.
  • the file access management device Upon receiving the update request (write) from the update process 15, the file access management device first controls the data of the block to be updated to be copied to another storage area (step S 11). Next, the data block No. 24 of the block to be updated and the address of the storage area to which the data of the block are copied are stored in the block management book 14 in the block number 31 and the end address number 3 respectively. Register in step 2 (step S12). Then, data update processing is performed on the original block to be updated (step S13).
  • steps S1 :! to S13 are repeated and the update is completed for all the blocks to be updated (step S14, YES).
  • step S14 YES
  • the update processing is terminated as it is.
  • step S15, YES the copy block is released (step S16), and the copy block management information is stored in the block management book. Delete from step 14 (step S17).
  • the file access management device When the file access management device receives a reference request (read) from the reference process 16, the file access management device accesses the referenced file in units of blocks as described above, so that all blocks related to the referenced file are accessed. Until the block is accessed, the processing of steps S21 to S25 is executed for each block.
  • a copy block is created for the block to be accessed. It is determined whether or not it has been performed (step S21). This is determined based on whether or not the data block No. 24 of the block to be accessed is registered in the block management book 14.
  • step S21 If a copy block has been created (step S21, YES), first, the value of the reference count 33 of the block management book 14 is incremented (+1) (step S22). . Next, a copy block is referred to based on the address number 32 (step S24), and when the reference is completed, the value of the reference force point 33 is decremented (11) (step S24).
  • step S21, NO if the copy block has not been created (step S21, NO), the original block is referred to (step S25).
  • step S26, YE S the reference point of the block management book 14 33 Referring to the value of 3, if the value is not .0 (> 0) (step 7, NO), the process is terminated.
  • step S28 it is further determined whether or not the original block is being updated (step S28). If the update is being performed (step S28, YES), the process is terminated. On the other hand, if the original block is not being updated (step S28, NO), this copy block is released (step S29), and the management information of this copy block is deleted from the block management book 14 (Step S30).
  • step S27 If the above step S27 is NO, there is another process being referred to, and the process related to the process that has been completed last is referred to.
  • the copy block In the process of FIG. 5, the copy block is released. However, if the original block is still being updated at that time, the copy block will be released when the update is completed in the processing in Fig. 4. In other words, the copy block is released when all processes are completed for that block regardless of the update / reference.
  • the file access management method of this example shown in FIGS. 4 and 5, etc. is not applied uniformly to all the files stored in the data area 19 of the disk 17, but is applied to each file. May be specified, and this specification is stored in policy 23. For example, it is assumed that a flag is stored in policy 23, and is applied in the case of flag ON, and is not applied in the case of flag OFF.
  • Step S41 if the flag is ON (Step S41, YES), the processing of FIG. 4 or FIG. 5 is executed (Step S42), and if the flag is OFF, (Step S41, NO) Performs Conventional Processing (Step S43)
  • FIG. 7 is a diagram showing an example of a hardware configuration of a computer 40 that executes the above file access management method.
  • the computer 40 shown in the figure has a CPU 41, a memory 42, an input device 43, an output device 44, an external storage device 45, a medium drive device 46, a network connection device 47, and the like, which are connected to a path 48. It has become.
  • the configuration shown in the figure is an example, and the configuration is not limited to this.
  • the CPU 41 is a central processing unit that controls the entire computer 40.
  • the memory 42 temporarily stores a program or data stored in the external storage device 45 (or a portable recording medium 49) when executing a program or updating data. Memory.
  • the CPU 41 executes processing for realizing the file access management method shown in FIGS. 4, 5, 6, and the like by using the program data read into the memory 42.
  • the input device 43 is, for example, a keyboard, a mouse, a touch panel, or the like.
  • the output device 44 is, for example, a display, a printer, or the like.
  • the external storage device 45 is, for example, a magnetic disk device, an optical disk device, a magneto-optical disk device, or the like.
  • the external storage device 45 is used to cause the computer 40 to execute the file access management processes shown in FIGS. Stores programs / data.
  • the medium drive unit 46 stores the program stored in the portable recording medium 49.
  • the portable recording medium 49 is, for example, F D
  • the network connection device 47 is configured to be connected to a network to enable transmission and reception of program Z data and the like to and from an external information processing device.
  • FIG. 8 is a diagram showing an example of a recording medium on which the above-mentioned program is recorded and download of the program.
  • the program Z for realizing the functions of the present invention may be read from a portable recording medium 49 storing the data to the computer 10 side, stored in the memory 42, and executed.
  • the program data is stored in the storage unit 51 of the external server 50 via a network 60 (such as the Internet) connected by a network connection device 47. Data may be downloaded.
  • the present invention is not limited to the apparatus / method, and may store the program Z data.
  • the stored recording medium can be configured as itself, or can be configured as the program itself.
  • the file access management method of the present invention even when a certain process is updating a file, it is possible to refer to the file from another process and to update the file during normal operation. Processing becomes much faster. References from other processes guarantee the contents before updating, and can be accessed in parallel without changing the programs used so far.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A file A consists of, for example, blocks B0, B1, and B2. When a process (update process 15) requests update (write) of the file A, the block to be updated (block B0 in this case) is copied to generate a copy block B0’. The update processing is executed to the original block B0. During the update process, if a reference (read) request is generated from another process (reference process 16), the copied block B0’ is referenced.

Description

明 細 書 ファイルアクセス管理方法、 ファイルアクセス管理装置、 記録媒体 技術分野  Description File access management method, file access management device, recording medium

本発明は、複数のプロセスから 1つのファイルをアクセスするシス テムに係り、あるプロセスがファイルの更新を行っているときでも他 プロセスからの同ファイルの参照を可能にする方法等に関する。 京技 W了  The present invention relates to a system for accessing one file from a plurality of processes, and more particularly to a method for enabling a process to refer to the same file even when a certain process is updating the file. Kyogi W

従来のファイルアクセスにおいて、 あるプロセスがフアイノレを更新している 間に、 他のプロセスが同一ファイルを参照する場合、 ファイルの内容として未 完成の無意味な内容を参照してしまう場合がある。 これまでは、 これを回避す る方法の 1つとしてファイルロックが存在した。 ファイルロックとは、 フアイ ルのロックがかかっている間は、 他プロセスからの参照 ·更新を抑止する機構 である。  In conventional file access, if a process updates the file while another process refers to the same file, the file may refer to the incomplete and meaningless content. Previously, file locks existed as a way to avoid this. File locking is a mechanism that prevents other processes from accessing and updating while the file is locked.

上記ファイル口ックを利用した場合、先にロックを獲得したプロセ スがロックを開放するまで、 他プロセスによる処理を抑止する。 この ため、 ロックを獲得したプロセスの処理が長くなれば長くなるほど、 他プロセスの待ち時間が長くなってしまう という問題がある。  When the above file lock is used, the process by other processes is suppressed until the process that has acquired the lock first releases the lock. For this reason, there is a problem that the longer the process of the process that has acquired the lock, the longer the waiting time of the other process.

しかしながら、ファイルの内容が最新でなくても意味のある内容で ファイルが参照できればよいという場合では、当該ファイルが更新中 であっても更新前のファイルが参照したいという要求が生じる。 また、 別の回避方法と しては D B (データベースシステム) の トラ ンザクション管理があげられる。これはデータの更新をトランザクシ ョンという単位で処理を行い、 トランザクションを排他する機構であ る。 このよ う な D Bの管理システムを利用する場合、 利用するデータ をファイルではなく D Bのテーブルという形で登録する必要があり、 かつアクセスする際には D B専用のアクセス法 (S Q Lなど) を利用 する必要がある。 However, if it is sufficient that the file can be referred to with meaningful contents even if the content of the file is not the latest, there is a request that the file before update should be referred to even if the file is being updated. Another workaround is transaction management of a database system (DB). This is a transaction update This is a mechanism that performs processing in units of application and excludes transactions. When using such a DB management system, it is necessary to register the data to be used in the form of a DB table instead of a file, and use a DB-specific access method (such as SQL) when accessing. There is a need.

ここで、 従来より、 以下に述べる技術が提案されている。  Here, conventionally, the following technology has been proposed.

例えば、 特許文献 1に記載の文書登録検索方法は、 一定の登録文書 数毎にプロック化され、そのブロックデータの格納領域が管理ブロッ クによつて管理される文書データベースにおいて、その文書データべ ースに対する文書の登録要求があつたとき、該当ブロックの内容をコ ピーしてそのコピーに登録内容を反映させることにより、障害が発生 してシステムの再立ち上げを行った時に、登録前のプロックを使用す るか、 登録後のプロックを参照するかを見極め、 障害発生前の文書デ ータベースを復元させる。  For example, in the document registration and retrieval method described in Patent Document 1, in a document database in which a block is stored at a fixed number of registered documents and the storage area of the block data is managed by a management block, the document database is searched. When a document registration request is issued to the server, the contents of the corresponding block are copied and the registered contents are reflected in the copy, so that when a system failure occurs and the system is restarted, the block before registration is blocked. Determine if you want to use the password or refer to the post-registration block, and restore the document database before the failure.

更に、 同一プロ.ックに対して登録と^索要求が発せられたとき、 登 録は登録後の管理プロックを、検索は登録前の管理プロックを参照す ることにより、登録処理と検索処理を並行して行えるようにすること を特徴と している。  Furthermore, when a registration and a search request are issued for the same block, the registration refers to the management block after registration, and the search refers to the management block before registration. The feature is that it can be performed in parallel.

また、 例えば、 特許文献 2に記載のマイク口プロセッサシステムの 制御方式では、メモリエリァの特定プロックの内容を変更する場合の 制御方式に関し、 特定プロックのデータが変更途上にある時にも、 他 のプロセッサュニッ トが待つことなく これにアクセスし、しかも一連 の矛盾のないプロックデータを読み出すことが可能な制御方式を提 案している。 更に詳しくは、 特許文献 2に記載の発明では、 可変メモ リに格納された基本データベースの一部プロックデータを変更する 必要が生じた場合、上記基本データベースを格納したェリアとは別の ェリァを利用して設けた作業プロックに、変更後のプロックデータを 用意する処理を行うが、この処理の間にリードコマンドを受信した場 合は、 変更前の当該プロックデータを読み出す。 次いで、 変更後のブ 口ックデータが作業用プロック内に完成したら、この作業用プロック の内容を元の基本-データベースェリアのブロックに順次転送してい る間は、 リードコマンドを受信したら、 作業用プロックから変更後の ブロックデータを読み出す。 . Also, for example, in the control method of the microphone port processor system described in Patent Document 2, the control method when the contents of a specific block of a memory area is changed is described. Has proposed a control method that can access this without waiting and read a series of consistent block data. More specifically, in the invention described in Patent Document 2, partial block data of the basic database stored in the variable memory is changed. If it becomes necessary, a process to prepare the changed block data for the work block provided using an area different from the area storing the basic database is performed, but a read command is received during this process. In this case, the block data before the change is read. Next, when the changed block data is completed in the work block, while the contents of this work block are sequentially transferred to the original basic-database area block, when the read command is received, the work block is received. Read the changed block data from. .

特許文献 1 Patent Document 1

特開平 1 1— 2 5 9 5 1 5号公報  Japanese Patent Application Laid-Open No. Hei 11-259595

特許文献 2  Patent Document 2

特開昭 5 9— 1 1 2 3 5 7号公報 上記従来技術 1、 2.は、 何れも、 コピーブロックに対して更新 理 を行い、 更新完了したら、 更新後のデータをオリジナルプロックへ書 き戻す為、 余計な処理を行う分、 処理に時間が掛かっていた。  SUMMARY OF THE INVENTION In both of the prior arts 1 and 2 described above, update processing is performed on the copy block, and when the update is completed, the updated data is written to the original block. To return, it took time to process extra processing.

本発明の課題は、あるプロセスがファイルの更新を行っている際で も、 他プロセスからの参照を可能にすると共に、 通常運用時の更新処 理が格段に速くなるフアイルアクセス管理方法等を提供することで ある。 発明の開示  An object of the present invention is to provide a file access management method or the like that enables a process to refer to another process even when a process is updating a file, and makes the update process during normal operation much faster. It is to be. Disclosure of the invention

本発明によるファイルァクセス管理方法は、任意のプロセスから任 意のフアイルの更新要求があると、該フアイルにおいて更新対象とな るブロックのコピーブロックを作成すると共に、元のプロックに対し て更新処理を実行し、該更新処理中に他のプロセスから前記フアイル の参照要求があると、 前記コピープロックを参照させる。 In the file access management method according to the present invention, when an arbitrary file is requested to be updated from an arbitrary process, the file becomes an update target in the file. In addition to creating a copy block of the block to be updated, the update process is executed on the original block, and if another process requests a reference to the file during the update process, the copy block is referred to.

上記ファイルアクセス管理方法では、 更新されるプロックがオリジナルのブ ロックで、 参照するブロックがコピーブロックであるので、 通常運用時におい て、 従来のように更新処理完了後に更新後のデータをオリジナルプロックへ書 き戻す必要はなく、 その分、 通常運用時の更新性能が格段に速くなる。 また、 ブロック単位のコピーを行うことで、 ファイル全体のコピーを作る方法とは異 なり、 ファイルサイズによらずに一定の時間で複製を作ることができる。  In the above file access management method, the block to be updated is the original block, and the block to be referred to is the copy block. There is no need to rewrite, and the update performance during normal operation is much faster. Also, by performing block-by-block copying, unlike the method of making a copy of the entire file, a copy can be made in a fixed time regardless of the file size.

また、 上記ファイルアクセス管理方法において、 例えば、 更新処理 が完了した時点、 あるいは更新処理の完了後に、 前記コピープロック を参照しているプロセスが 1つも存在しない状態になったら、前記コ ピーブロックを解放するようにしてもよい。  In the above file access management method, for example, when the update process is completed, or after the update process is completed, if there is no process that refers to the copy block, the copy block is released. You may make it.

また、 上記ファイルアクセス管理方法において、 例えば、 各フアイ ル毎に、そのファイルに対して更新 Z参照要求があった際に前記ファ. ィルアクセス管理方法を適用するか否かを指定するようにしてもよ レヽ o  Further, in the above file access management method, for example, for each file, whether or not to apply the file access management method when an update Z reference request is made to the file may be designated. Yo o

このように、 フアイル全てではなく、 各ファイル毎に、 本発明によ るフアイルアクセス管理方法を適用するか否かを指定することがで きる。 本発明の手法を適用しない場合には、 例えば従来のファィルァ クセス手法を適用してもよレ、。  As described above, it is possible to specify whether or not to apply the file access management method according to the present invention for each file, not for all files. When the method of the present invention is not applied, for example, a conventional file access method may be applied.

なお、上述した本発明の各構成により行なわれる機能と同様の制御 をコンピュータに行なわせるプログラムを記憶したコンピュータ読 み取り可能な記憶媒体から、そのプログラムをコンピュータに読み出 させて実行させることによっても、前述した課題を解決することがで きる。 The program may be read from a computer-readable storage medium storing a program for causing a computer to perform the same control as the function performed by each configuration of the present invention, and executed by the computer. Can solve the aforementioned issues. Wear.

図面の簡単な説明 BRIEF DESCRIPTION OF THE FIGURES

本発明は、 後述する詳細な説明を、 下記の添付図面と共に参照すればより明 らかになるであろう。  The present invention will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings.

図 1は、本例によるフアイルアクセス管理方法を適用するシステム の一例を示す図である。  FIG. 1 is a diagram showing an example of a system to which a file access management method according to the present embodiment is applied.

図 2は、 ブロック管理簿の具体例を示す図である。  FIG. 2 is a diagram showing a specific example of the block management book.

図 3 ( a ) はファイル更新要求時、 図 3 ( b ) は更新中に参照要求 があった時のファイル管理の様子を示す図である。  FIG. 3 (a) is a diagram showing a state of file management at the time of a file update request, and FIG.

図 4は、 更新プロセスからの要求があつたときの処理フローチャート図であ る。  FIG. 4 is a processing flowchart when there is a request from the update process.

図 5は、 参照プロセスからの要求があつたときの処理フローチャート図であ る。  FIG. 5 is a processing flowchart when there is a request from the reference process.

図 6は、 ファイル毎に本例の 理を適用するか否かを指定した場合の処理フ ローチャート図である。  FIG. 6 is a processing flow chart in a case where it is specified whether or not the processing of this example is applied to each file.

図 7は、 本例のファイルアクセス管理方法を実行するコンピュータのハード ゥヱァ構成の一例を示す図である。  FIG. 7 is a diagram illustrating an example of a hardware configuration of a computer that executes the file access management method of the present example.

図 8は、 本例のファィルァクセス管理方法をコンピュータに実行させるため のプログラムを記録した記録媒体、 当該プログラムのダウンロードの一例を示 す図である。  FIG. 8 is a diagram showing an example of a recording medium storing a program for causing a computer to execute the file access management method of the present example, and an example of downloading the program.

発明を実施するための最良の形態 BEST MODE FOR CARRYING OUT THE INVENTION

以下、 図面を参照して、 本発明の実施の形態について説明する。 図 1は、 本例によるファイルアクセス管理方法を適用するシステムの一例を 示す図である。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. Figure 1 shows an example of a system that applies the file access management method according to this example. FIG.

図示の例では、 本例によるファイルアクセス管理方法を実行するシステムと して、 コンピュータ 10 (パソコン (PC)、 ワークステーション (WS) 等) において、 ハードディスク (HD) 等であるディスク 1 7にアクセスする構成 を例示する。 プロセスがファイルにアクセスする場合、 その更新/参照要求は 、 通常先ず、 オペレーティングシステム (OS) 1 1内のファイルシステム層 12に転送される。 そして、 ファイルシステム層 1 2からドライバ層 1 3を介 してディスク 1 7にアクセスする。  In the illustrated example, a computer 17 (a personal computer (PC), a workstation (WS), etc.) accesses a disk 17 such as a hard disk (HD) as a system for executing the file access management method according to the present example. The configuration is exemplified. When a process accesses a file, the update / reference request is usually first transferred to the file system layer 12 in the operating system (OS) 11. Then, the disk 17 is accessed from the file system layer 12 via the driver layer 13.

ディスク 1 7は、 コンピュータ 10内蔵であってもよいし、 外付けであって もよいし、 あるいは不図示の他の複数のコンピュータと共有するものであって もよレ、。 複数のコンピュータと共有する構成の場合には、 更新プロセス 1 5、 参照プロセス 16は、 他のコンピュータから要求されたものである場合もある ことになる。  The disk 17 may be internal to the computer 10, may be external, or may be shared with a plurality of other computers (not shown). In the case of a configuration shared by multiple computers, the update process 15 and the reference process 16 may have been requested by another computer.

ディスク 1 7は、 管理ブロック域 1 8、 データ域 19を有する。 データ域 1 9にはファイル等が格納される。 管 ¾ブロック域 18には、 データ域 1 9に記 憶されている各ファイルの管理情報が格納されている。 この管理情報は、 図示 の例では、 ファイル名 21、 日付 22、 ポリシ 23、 データブロック NO. 2 4である。  The disk 17 has a management block area 18 and a data area 19. The data area 19 stores files and the like. The management area 18 stores management information of each file stored in the data area 19. In the example shown in the figure, the management information is file name 21, date 22, policy 23, and data block No. 24.

ファイル名 21は、 データ域 1 9に記憶されているファイルの名称であり、 日付 22はその新規登録 Z更新日時である。 ポリシ 23については後に説明す る。  The file name 21 is the name of the file stored in the data area 19, and the date 22 is the newly registered Z update date and time. The policy 23 will be described later.

ここで、 データブロック NO. 24について説明する。 磁気ディスクや磁気 テープなどに代表されるような不揮発性の外部記憶装置は、 物理プロックゃ論 理ブロックといったブロック単位でアクセスする手法が用いられている。 デー タブロック NO. 24には、 そのファイルを構成する各プロックに割り当てら れた番号が格納される。 Here, the data block No. 24 will be described. A non-volatile external storage device such as a magnetic disk or a magnetic tape uses a method of accessing a block unit such as a physical block and a logical block. Data block No. 24 is assigned to each block of the file. The stored number is stored.

本例によるファイルアクセス管理手法では、 任意のファイルの更新 (write) 要求が発生したら、 そのファイルを構成する各プロックの中で更新対象となる プロックについては、 当該プロックの更新処理を開始する前にそのコピーを作 成する。 ブロック単位のコピーを行うことで、 ファイル全体のコピーを作る方 法とは異なり、  In the file access management method according to the present example, when an update (write) request of an arbitrary file occurs, a block to be updated in each block constituting the file is updated before starting the update process of the block. Make a copy of it. Unlike block-by-block copying, making a block-by-block copy

-ファイルサイズによらずに一定の時間で複製を作ることができる  -Duplicate in a fixed amount of time regardless of file size

• ファイル名が変わらない  • File name does not change

といったメリットがある。 There is such a merit.

そして、 コピーを作成したブロックに関する情報を、 プロック管理簿 1 4に より管理する。実装において、コピーブロックを管理する層はどこでもよいが、 例えば、 N A S (Network Attached Storage)層、 ファイルシステム層、 ドライ パ層等が考えられる。 ここでは、 ファイルシステム層 1 2においてコピープロ ックの管理を行う場合を例にして説明する。 ファイルシステム層 1 2は、 図 1 に示す通り、 プロック管理簿 1 4を用いてコピープロックの管理を行う。  Then, information relating to the block in which the copy has been made is managed by the block management book 14. In the implementation, the layer that manages the copy block may be anywhere. For example, a NAS (Network Attached Storage) layer, a file system layer, a driver layer, etc. are considered. Here, a case where the copy protocol is managed in the file system layer 12 will be described as an example. The file system layer 12 manages copy blocks by using a block management book 14 as shown in FIG.

尚、 実装においてどの層が管理するかは関係なく、 このような本例のフアイ ルアクセス管理方法を実現する構成を、 以下、 ファイルアクセス管理装置 (不 図示) と呼ぶものとする。 また、 ファイルアクセス管理装置において図 4の処 理を行う機能部を更新制御部、 図 5の処理を行う機能部を参照制御部 (何れも 不図示) と呼ぶものとする。  It is to be noted that, regardless of which layer is managed in the implementation, a configuration for realizing such a file access management method of this example is hereinafter referred to as a file access management device (not shown). Further, in the file access management device, the functional unit performing the processing in FIG. 4 is referred to as an update control unit, and the functional unit performing the processing in FIG. 5 is referred to as a reference control unit (neither is shown).

図 2にブロック管理簿 1 4の具体例を示す。  FIG. 2 shows a specific example of the block management book 14.

図示のブロック管理簿 1 4は、 コピーブロックの管理情報を登録するもので あり、 プロック番号 3 1、 アドレス番号 3 2、 参照カウント 3 3の各データ項 目より成る。 ブロック番号 3 1には、 上記コピーを作成したブロックのデータ ブロック N O . 2 4が格納される。 アドレス番号 3 2には、 当該ブロック番号 31のプロックのデータのコピー先の記憶領域のアドレスが格納される。 参照 カウント 33には、 現在コピーブロックを参照中のプロセスの数が格納される。 ここで、 本例のファイルアクセス管理方法について、 図 3に示すイメージを 参照して説明する。 尚、 参照カウント 33に関しては、 後にフローチャート図 を参照して説明する。 The illustrated block management book 14 is for registering copy block management information, and includes data items of a block number 31, an address number 32, and a reference count 33. The block number 31 stores the data block No. 24 of the block in which the above copy was made. Address number 3 2 contains the block number The address of the storage area to which the data of the block 31 is copied is stored. Reference count 33 stores the number of processes currently referencing the copy block. Here, the file access management method of this example will be described with reference to the image shown in FIG. The reference count 33 will be described later with reference to a flowchart.

まず、 図 3 (a) に示すように、 ファイル Aは、 ブロック B0、 B l、 B 2 から構成され、意味のある内容を記録しているものとする。任意のプロセス (更 新プロセス 15) がファイル Aの更新要求 (write) を出したとき、 上記フアイ ルアクセス管理装置は、 そのファイル全体をコピーするのではなく、 更新対象 のブロック (ここではブロック B 0) のみがコピーされるように制御する。 図 示の例では、 コピーブロックを B 0, と表現する。 そして、 ブロック B 0のブ ロック番号と、 コピーブロック B 0, の格納アドレスを、 それぞれ、 プロック 番号 31、 アドレス番号 32に格納する。  First, as shown in FIG. 3 (a), it is assumed that file A is composed of blocks B0, Bl, and B2 and records meaningful contents. When an arbitrary process (update process 15) issues an update request (write) for file A, the above file access management device does not copy the entire file, but rather updates the block to be updated (here, block B). Control so that only 0) is copied. In the illustrated example, the copy block is represented as B0. Then, the block number of block B0 and the storage address of copy block B0, are stored in block number 31 and address number 32, respectively.

そして、 更新プロセス 15の要求に応じた更新処理は、 コピーブロック BO' ではなく、 元のブロック B O ( 下、 オリジナルプロックと記す) に対して行 われる。  Then, the update process according to the request of the update process 15 is performed not on the copy block BO 'but on the original block B O (hereinafter, referred to as an original block).

更新中に他のプロセス (参照プロセス 16) からの参照 (read) 要求が発生 した場合は、 図 3 (b) に示すように、 ファイルアクセス管理装置は、 ブロッ ク管理簿 14を参照して、 更新処理中のブロック、 すなわちプロック管理簿 1 4にブロック番号 3 1が登録されているプロック B 0については、 コピーされ たプロック B 0' を参照させる。 尚、 ファイル Aにおいて更新のないブロック B l、 B 2については、 当然に、 元のブロックを参照させる。  If a read request from another process (reference process 16) occurs during the update, as shown in Fig. 3 (b), the file access management device refers to the block management book 14 For the block being updated, that is, the block B 0 in which the block number 31 is registered in the block management book 14, the copied block B 0 ′ is referred to. For the blocks Bl and B2 that are not updated in the file A, the original blocks are naturally referred to.

こうすることで、 参照プロセス 1 6からは、 更新前の内容が保証された状態 で、 かつ更新処理と並列に参照可能となる。  By doing so, it is possible to refer from the reference process 16 in parallel with the update process while the contents before the update are guaranteed.

ここで重要かつ特徴的なポイントは、 更新されるブロックがオリジナルのブ ロックで、 参照するブロックがコピーブロックである、 という点にある。 従来 のようにコピーブロックを更新側としてしまうと、 更新が完了した際にォリジ ナルブロックへ書き戻す必要が生じてしまう。 ただし、 コピープロックを更新 側とした場合は、 障害が発生した時には更新中の未完成プロックを破棄するだ けで、 更新前のファイルをすばやく回復できる。 一方、 本例の手法のようにォ リジナルプロックが更新側の場合においては、 障害発生時に、 コピープロック をオリジナルプロックへ書き戻す必要がある。 The important and characteristic point here is that the updated block is the original block. The point is that in the lock, the block referred to is a copy block. If the copy block is set as the update side as in the past, it will be necessary to write back to the original block when the update is completed. However, if the copy block is the update side, the file before update can be recovered quickly by simply discarding the unfinished block being updated when a failure occurs. On the other hand, when the original block is the update side as in the method of this example, it is necessary to rewrite the copy block to the original block when a failure occurs.

しかしながら、 本例の手法のほうが、 通常運用時の更新性能が格段に速くな る。 そして、 一般に、 総運用時間のうち、 障害が発生する時間はごくわずかで あるので、 障害発生に伴うデメリットは非常に小さいものである。  However, the update performance during normal operation is much faster with the method of this example. And, in general, the time when a failure occurs is negligible in the total operation time, and the disadvantages associated with the occurrence of a failure are very small.

尚、 コピーブロックは、 対応するオリジナルブロックの更新が完了した時点 で、 他のプロセスによって参照されていないならば、 解放してよい。 ただし、 対応するォリジナルブロックの更新が完了した時点で、 コピーブロックが参照 されていた場合には、 参照完了するまで解放してはならない。 このため、 コピ 一ブロックが参照中であるかを管理するために参照カウント 3 3を利用して.い る。 つまり、 参照カウント 3 3の値は初期状態では 0であり、 更新処理中に参 照要求がある毎に参照カウント 3 3の値を更新インクリメント (+ 1 ) する。 そして、参照完了する毎に参照カウント 3 3の値をデクリメント (一 1 )する。 更新処理中に参照要求する他のプロセスは、 1つとは限らないので、 参照カウ ント 3 3の値が 2以上となる場合もある。 そして、 参照カウント 3 3の値が 0 になったら、 参照中のプロセスは存在しないことになるので、 コピーブロック を解放してよい。  A copy block may be released if it has not been referenced by another process when the update of the corresponding original block is completed. However, if the copy block has been referenced when the corresponding original block has been updated, it must not be released until the reference is completed. For this reason, reference count 33 is used to manage whether a block is being referenced. In other words, the value of the reference count 33 is 0 in the initial state, and the value of the reference count 33 is incremented (+1) every time there is a reference request during the update process. Then, every time the reference is completed, the value of the reference count 33 is decremented (1-1). Since the number of other processes requesting reference during update processing is not limited to one, the value of reference count 33 may be 2 or more. Then, when the value of the reference count 33 becomes 0, it means that there is no process being referred to, and the copy block may be released.

図 4は更新プロセス 1 5からの要求があつたときの処理フローチ ヤート図、図 5は参照プロセス 1 6からの要求があつたときの処理フ ローチャート図である。 まず、 図 4について説明する。 FIG. 4 is a processing flowchart when a request from the update process 15 is received, and FIG. 5 is a processing flowchart when a request from the reference process 16 is received. First, FIG. 4 will be described.

ファイルァクセス管理装置は、 更新プロセス 1 5からの更新要求 ( wri te) を受けると、 まず、 更新対象のブロックのデータを他の記憶 領域にコピーさせるように制御する (ステップ S 1 1 ) 。 続いて、 上 記更新対象のプロックのデータブロック N O . 2 4と、 当該ブロック のデータのコピー先の記憶領域のァドレスを、 それぞれ、 ブロック管 理簿 1 4のプロック番号 3 1、 了 ドレス番号 3 2に登録する (ステツ プ S 1 2 ) 。 そして、 更新対象のオリジナルプロックに対するデータ 更新処理を実行する (ステップ S 1 3 ) 。  Upon receiving the update request (write) from the update process 15, the file access management device first controls the data of the block to be updated to be copied to another storage area (step S 11). Next, the data block No. 24 of the block to be updated and the address of the storage area to which the data of the block are copied are stored in the block management book 14 in the block number 31 and the end address number 3 respectively. Register in step 2 (step S12). Then, data update processing is performed on the original block to be updated (step S13).

更新対象のプロックが複数ある場合には、同様にステップ S 1 :!〜 S 1 3の処理を繰り返し実行し、全ての更新対象のブロックについて 更新完了したら (ステップ S 1 4, Y E S ) 、 ブロック管理簿 1 4の 参照カウント 3 3の値を参照して、 その値が 0ではない (〉 0 ) 場合 には (ステップ S 1 5 , N O ) 、 そのまま当該更新処理を終了する。 一方、 参照力ゥント . 3 3の値が 0であった場合には (ステップ S 1 5 、 Y E S ) 、 このコピーブロックを解放し (ステップ S 1 6 ) 、 この コピープロックの管理情報をプロック管理簿 1 4から削除する(ステ ップ S 1 7 ) 。  When there are a plurality of blocks to be updated, steps S1 :! to S13 are repeated and the update is completed for all the blocks to be updated (step S14, YES). Referring to the value of the reference count 33 of the book 14, if the value is not 0 (> 0) (step S 15, NO), the update processing is terminated as it is. On the other hand, if the value of the reference force account .33 is 0 (step S15, YES), the copy block is released (step S16), and the copy block management information is stored in the block management book. Delete from step 14 (step S17).

次に図 5の処理について説明する。  Next, the processing of FIG. 5 will be described.

フアイルァクセス管理装置は、 参照プロセス 1 6からの参照要求 ( read) を受けると、 参照対象のフアイルに対して上記の通りプロック 単位でアクセスするので、参照対象のファイルに係わる全てのブロッ クにアクセスするまで、各ブロックについてステップ S 2 1〜ステツ プ S 2 5の処理を実行する。  When the file access management device receives a reference request (read) from the reference process 16, the file access management device accesses the referenced file in units of blocks as described above, so that all blocks related to the referenced file are accessed. Until the block is accessed, the processing of steps S21 to S25 is executed for each block.

まず、 アクセスするプロックについて、 コピーブロックが作成され ているか否かを判定する (ステップ S 2 1 ) 。 これは、 アクセスする プロックのデータブロック N O . 2 4が、 ブロック管理簿 1 4に登録 されているか否かによ り判定する。 First, a copy block is created for the block to be accessed. It is determined whether or not it has been performed (step S21). This is determined based on whether or not the data block No. 24 of the block to be accessed is registered in the block management book 14.

コピープロックが作成されている場合には (ステップ S 2 1, Y E S ) 、 まず、 プロック管理簿 1 4の参照カウント 3 3の値をインク リ メ ン ト (+ 1 ) する (ステップ S 2 2 ) 。 次に、 ア ドレス番号 3 2に 基づいてコピーブロックを参照し (ステップ S 2 4 ) 、 参照完了した ら参照力ゥント 3 3の値をデク リメント (一 1 ) する (ステップ S 2 4 ) 。  If a copy block has been created (step S21, YES), first, the value of the reference count 33 of the block management book 14 is incremented (+1) (step S22). . Next, a copy block is referred to based on the address number 32 (step S24), and when the reference is completed, the value of the reference force point 33 is decremented (11) (step S24).

一方、 コピープロックが作成されていない場合には (ステップ S 2 1 , NO) 、 オリジナルブロックを参照する (ステップ S 2 5 ) 。 以上の処理を、参照対象のフアイルに係わる全てのブロックについ て実行したら (つま り、 そのファイルの参照が完了したら) (ステツ プ S 2 6 , YE S) 、 プロック管理簿 1 4の参照力ゥント 3 3の値を 参照して、 その値が.0ではない (〉 0 ) 場合には (ステップ 7, NO) 、 そのまま当該処理を終了する。  On the other hand, if the copy block has not been created (step S21, NO), the original block is referred to (step S25). When the above processing is performed for all blocks related to the file to be referred to (that is, when the reference of the file is completed) (step S26, YE S), the reference point of the block management book 14 33 Referring to the value of 3, if the value is not .0 (> 0) (step 7, NO), the process is terminated.

一方、 参照力ゥン ト 3 3の値が 0であった場合には (ステップ S 2 7、 Y E S) 、 更にオリ ジナルプロックを更新中であるか否かを判定 し (ステップ S 2 8 ) 、 更新中である場合には (ステップ S 2 8 , Y E S) 、 そのまま当該処理を終了する。 一方、 オリジナルブロックを 更新中ではない場合には (ステップ S 2 8 , NO) 、 このコピープロ ックを解放し (ステップ S 2 9 ) 、 このコピープロックの管理情報を ブロック管理簿 1 4から削除する (ステップ S 3 0 ) 。  On the other hand, if the value of the reference force point 33 is 0 (step S27, YES), it is further determined whether or not the original block is being updated (step S28). If the update is being performed (step S28, YES), the process is terminated. On the other hand, if the original block is not being updated (step S28, NO), this copy block is released (step S29), and the management information of this copy block is deleted from the block management book 14 (Step S30).

上記ステップ S 2 7が N Oとなる場合は、他に参照中のプロセスが 存在することになるので、一番最後に参照完了したプロセスに係わる 当該図 5の処理において、 コピーブロックを解放することになる。 但 し、 その際に未だオリジナルプロックを更新中である場合には、 図 4 の処理において、更新完了したらコピーブロックを解放することにな る。 つまり、 更新/参照に関係なく、 そのブロックに関して全てのプ 口セスが処理完了したら、 コピーブロックを解放する。 If the above step S27 is NO, there is another process being referred to, and the process related to the process that has been completed last is referred to. In the process of FIG. 5, the copy block is released. However, if the original block is still being updated at that time, the copy block will be released when the update is completed in the processing in Fig. 4. In other words, the copy block is released when all processes are completed for that block regardless of the update / reference.

最後に図 1に示したポリシ 2 3について説明する。  Finally, the policy 23 shown in FIG. 1 will be described.

上記図 4、 図 5等に示す本例のファイルアクセス管理手法は、 ディ スク 1 7のデータ域 1 9に格納されている全てのファイルについて 一律に適用するのではなく、 ファイル毎に、 適用するか否かを指定で きるようにしてもよく、 この指定をポリシ 2 3に格納する。 例えばポ リシ 2 3にはフラグを格納するものとし、フラグ O Nの場合には適用 し、 フラグ O F Fの場合には適用しないものとする。  The file access management method of this example shown in FIGS. 4 and 5, etc., is not applied uniformly to all the files stored in the data area 19 of the disk 17, but is applied to each file. May be specified, and this specification is stored in policy 23. For example, it is assumed that a flag is stored in policy 23, and is applied in the case of flag ON, and is not applied in the case of flag OFF.

これより、 ファイルシステム層 1 2は、 任意のプロセスからフアイ ルの更新又は参照の要求がある毎に、 図 6に示すように、 まず更新又 は参照対象のフ.アイルの管理プロックのポリシ 2 3を参照レて(ステ ップ S 4 1 ) 、 フラグ ONの場合には (ステップ S 4 1 , Y E S) 図 4又は図 5の処理を実行し (ステップ S 4 2 ) 、 フラグ O F Fの場合 には (ステップ S 4 1, NO) 従来の処理を行う (ステップ S 4 3 ) 図 7は、 上記ファイルアクセス管理方法を実行するコンピュータ 40のハー ドウヱァ構成の一例を示す図である。  As a result, the file system layer 12 first, every time there is a request for updating or referencing a file from an arbitrary process, as shown in Fig. 6, first, the policy 2 of the management block for the file to be updated or referenced. Referring to FIG. 3 (Step S41), if the flag is ON (Step S41, YES), the processing of FIG. 4 or FIG. 5 is executed (Step S42), and if the flag is OFF, (Step S41, NO) Performs Conventional Processing (Step S43) FIG. 7 is a diagram showing an example of a hardware configuration of a computer 40 that executes the above file access management method.

同図に示すコンピュータ 40は、 CPU41、 メモリ 42、 入力装置 43、 出力装置 44、 外部記憶装置 45、 媒体駆動装置 46、 ネッ トワーク接続装置 47等を有し、 これらがパス 48に接続された構成となっている。 同図に示す 構成は一例であり、 これに限るものではない。 C P U 4 1は、 当該コンピュータ 4 0全体を制御する中央処理装置である。 メモリ 4 2は、 プログラム実行、データ更新等の際に、外部記憶装置 4 5 (あ るいは可搬型記録媒体 4 9 ) に記憶されているプログラムあるいはデータを一 時的に格納する R AM等のメモリである。 C P U 4 1は、 メモリ 4 2に読み出 したプログラム データを用いて、 上記図 4、 図 5、 図 6等に示すファイルァ クセス管理方法を実現する処理を実行する。 The computer 40 shown in the figure has a CPU 41, a memory 42, an input device 43, an output device 44, an external storage device 45, a medium drive device 46, a network connection device 47, and the like, which are connected to a path 48. It has become. The configuration shown in the figure is an example, and the configuration is not limited to this. The CPU 41 is a central processing unit that controls the entire computer 40. The memory 42 temporarily stores a program or data stored in the external storage device 45 (or a portable recording medium 49) when executing a program or updating data. Memory. The CPU 41 executes processing for realizing the file access management method shown in FIGS. 4, 5, 6, and the like by using the program data read into the memory 42.

入力装置 4 3は、 例えばキーボード、 マウス、 タツチパネル等である。  The input device 43 is, for example, a keyboard, a mouse, a touch panel, or the like.

出力装置 4 4は、 例えばディスプレイ、 プリンタ等である。  The output device 44 is, for example, a display, a printer, or the like.

外部記憶装置 4 5は、 例えば磁気ディスク装置、 光ディスク装置、 光磁気デ イスク装置等であり、 上記図 4、 図 5、 図 6等に示すファイルアクセス管理の 処理をコンピュータ 4 0に実行させる為のプログラム/データ等が格納されて いる。  The external storage device 45 is, for example, a magnetic disk device, an optical disk device, a magneto-optical disk device, or the like. The external storage device 45 is used to cause the computer 40 to execute the file access management processes shown in FIGS. Stores programs / data.

媒体駆動装置 4 6は、 可搬型記録媒体 4 9に記憶されているプロ  The medium drive unit 46 stores the program stored in the portable recording medium 49.

一タ等を読み出す。 可搬型記録媒体 4 9は、 例えば、 F D Read one or more data. The portable recording medium 49 is, for example, F D

スク)、 C D - R OM, メモリカード、 D V D、 光磁気ディスク等である。 ネットワーク接続装置 4 7は、 ネットワークに接続して、 外部の情報処理装 置とプログラム Zデータ等の送受信を可能にする構成である。 Disk), CD-ROM, memory card, DVD, magneto-optical disk, etc. The network connection device 47 is configured to be connected to a network to enable transmission and reception of program Z data and the like to and from an external information processing device.

図 8は、 上記プログラムを記録した記録媒体、 プログラムのダウンロードの 一例を示す図である。  FIG. 8 is a diagram showing an example of a recording medium on which the above-mentioned program is recorded and download of the program.

図示のように、 上記本発明の機能を実現するプログラム Zデータが記憶され ている可搬型記録媒体 4 9からコンピュータ 1 0側に読み出して、 メモリ 4 2 に格納し実行するものであってもよいし、 また、 上記プログラム データは、 ネットワーク接続装置 4 7により接続しているネットワーク 6 0 (インターネ ット等) を介して、 外部のサーバ 5 0の記憶部 5 1に記憶されているプロダラ ム Zデータをダウンロードするものであってもよい。  As shown in the figure, the program Z for realizing the functions of the present invention may be read from a portable recording medium 49 storing the data to the computer 10 side, stored in the memory 42, and executed. The program data is stored in the storage unit 51 of the external server 50 via a network 60 (such as the Internet) connected by a network connection device 47. Data may be downloaded.

また、 本発明は、 装置/方法に限らず、 上記プログラム Zデータを 格納した記録媒体 (可搬型記録媒体 4 9等) 自体として構成すること もできるし、 上記プログラム自体として構成することもできる。 産業上の利用の可能性 In addition, the present invention is not limited to the apparatus / method, and may store the program Z data. The stored recording medium (portable recording medium 49, etc.) can be configured as itself, or can be configured as the program itself. Industrial potential

以上、 詳細に説明したように、 本発明のファイルアクセス管理方法によれば 、 あるプロセスがファイルの更新を行っている場合でも、 他プロセスからの参 照を可能にすると共に、 通常運用時の更新処理が格段に速くなる。 また、 他プ ロセスからの参照は更新前の内容を保証し、 かつ、 これまで利用していたプロ グラムを変更することなく、 並列にアクセスすることができる。  As described in detail above, according to the file access management method of the present invention, even when a certain process is updating a file, it is possible to refer to the file from another process and to update the file during normal operation. Processing becomes much faster. References from other processes guarantee the contents before updating, and can be accessed in parallel without changing the programs used so far.

Claims

請 求 の 範 囲 The scope of the claims 1 .任意のプロセスから任意のファイルの更新要求が行われた場合 に、該ファイルにおいて更新対象となるブロックを別の領域に複写し 、 元のブロックに対して更新処理を実行し、 1.When an arbitrary file is requested to be updated from an arbitrary process, the block to be updated in the file is copied to another area, and the update processing is performed on the original block, 該更新処理中に他のプロセスから前記ファイルの参照要求がある と、 前記別の領域を参照させるファイルァクセス管理方法。  A file access management method for referring to the another area when another process requests to refer to the file during the update process. 2 . 前記更新処理が完了した時点、 あるいは前記更新処理の完了後 に、 前記別の領域を参照しているプロセスの存在の有無を確認し、 当 該プロセスが 1つも存在しない状態であれば、前記別の領域を解放す ることを特徴とする請求項 1記載のファイルアクセス管理方法。  2. When the update process is completed or after the update process is completed, it is checked whether there is a process that refers to the another area, and if there is no such process, 2. The file access management method according to claim 1, wherein said another area is released. 3 . 各ファイル毎に、 そのファイルに対して更新/参照要求があった際に前 記ファイルアクセス管理方法を適用するか否かを指定することを特徴とする請 求項 1または 2 '記載のファイルアクセス管理方法。  3. Claims 1 or 2 ', characterized in that, for each file, specify whether to apply the file access management method when there is an update / reference request for that file. File access management method. 4 . コンピュータに、  4. On the computer, 任意のプロセスから任意のファィルの更新要求が行われた場合に、 該ファイルにおいて更新対象となるプロックを別の領域に複写し、元 のブロックに対して更新処理を実行する機能と、  A function of copying a block to be updated in the file to another area when an update request of an arbitrary file is issued from an arbitrary process, and executing an update process on the original block; 該更新処理中に他のプロセスから前記ファイルの参照要求があると、 前記別 の領域を参照させる機能と、  A function of referring to the another area when another process requests a reference to the file during the update processing; を実現させるためのプログラム。  The program to realize. 5 . 前記更新処理が完了した時点、 あるいは前記更新処理の完了後 に、 前記別の領域を参照しているプロセスの存在の有無を確認し、 当 該プロセスが 1つも存在しない状態であれば、前記別の領域を解放す る機能を更に有することを特徴とする請求項 4記載のプログラム。 5. When the update process is completed or after the update process is completed, it is checked whether or not there is a process that refers to the another area, and if no such process exists, The program according to claim 4, further comprising a function of releasing the another area. 6 . 各ファイル毎に、 そのファイルに対して更新/参照要求があつ た際に前記プログラムの機能を適用するか否かを指定することを特 徴とする請求項 4または 5記載のプログラム。 6. The program according to claim 4, wherein for each file, whether or not to apply the function of the program when an update / reference request is made to the file is specified. 7 . コンピュータに、  7. On the computer 任意のプロセスから任意のファイルの更新要求が行われた場合に、 該ファイルにおいて更新対象となるブロックを別の領域に複写し、元 のブロックに対して更新処理を実行する機能と、  A function of copying a block to be updated in a file to another area when an update request for an arbitrary file is issued from an arbitrary process, and executing an update process on the original block; 該更新処理中に他のプロセスから前記ファイルの参照要求があると、 前記別 の領域を参照させる機能と、  A function of referring to the another area when another process requests a reference to the file during the update processing; を実行させるためのプログラムを格納した前記コンピュータ読み 取り可能な記録媒体。  The computer-readable recording medium storing a program for executing the program. 8 . 前記更新処理が完了した時点、 あるいは前記更新処理の完了後 に、 前記別の領域を参照しているプロセスの存在の有無を確認し、 当 該プロセスが 1つも存在しない状態であれば、前記別の領域を解放す る機能を更に有することを特徴とする請求項 7記.載の記録媒体。  8. When the update process is completed or after the update process is completed, it is checked whether or not there is a process that refers to the another area, and if no such process exists, 8. The recording medium according to claim 7, further comprising a function of releasing said another area. 9 . 各ファイル毎に、 そのファイルに対して更新 Z参照要求があつ た際に前記プログラムの機能を適用するか否かを指定することを特 徴とする請求項 7または 8記載の記録媒体。  9. The recording medium according to claim 7, wherein, for each file, whether or not the function of the program is applied when an update Z reference request is made to the file is specified. 1 0 .任意のプロセスから任意のファイルの更新要求が行われた場 合に、該ファィルにおいて更新対象となるプロックを別の領域に複写 し、 元のプロックに対して更新処理を実行する更新制御手段と、 該更新処理中に他のプロセスから前記ファイルの参照要求がある と、 前記別の領域を参照させる参照制御手段と、  10 0. Update control for copying a block to be updated in another file to another area when an update request for an arbitrary file is issued from an arbitrary process, and executing update processing on the original block. Means for referring to the another area when another process requests to refer to the file during the update processing; and を有することを特徴とするファイルァクセス管理装置。  A file access management device comprising:
PCT/JP2003/007485 2003-06-12 2003-06-12 File access management method, file access management device, and recording medium Ceased WO2004111854A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/007485 WO2004111854A1 (en) 2003-06-12 2003-06-12 File access management method, file access management device, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/007485 WO2004111854A1 (en) 2003-06-12 2003-06-12 File access management method, file access management device, and recording medium

Publications (1)

Publication Number Publication Date
WO2004111854A1 true WO2004111854A1 (en) 2004-12-23

Family

ID=33549003

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/007485 Ceased WO2004111854A1 (en) 2003-06-12 2003-06-12 File access management method, file access management device, and recording medium

Country Status (1)

Country Link
WO (1) WO2004111854A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03147033A (en) * 1989-11-01 1991-06-24 Oki Electric Ind Co Ltd Data base control system
JPH08101786A (en) * 1994-09-30 1996-04-16 Matsushita Electric Ind Co Ltd Data management device
JPH09185540A (en) * 1996-01-08 1997-07-15 Canon Inc Multi-process system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03147033A (en) * 1989-11-01 1991-06-24 Oki Electric Ind Co Ltd Data base control system
JPH08101786A (en) * 1994-09-30 1996-04-16 Matsushita Electric Ind Co Ltd Data management device
JPH09185540A (en) * 1996-01-08 1997-07-15 Canon Inc Multi-process system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Gray j, Reuter A, translated under the supervision of Masaru KIZUREGAWA, "Transaction Shori Gainen to Giho" (Translation Processing: Concepts and Techniques), The last part, first edition, Nkkei Business Publications, Inc., 29 October, 2001, pages 859 - 870 *

Similar Documents

Publication Publication Date Title
US7664787B2 (en) System and method for creating an object-level snapshot in a storage system
US6058054A (en) Method and system for providing an instant backup in a RAID data storage system
US8280851B2 (en) Applying a policy criteria to files in a backup image
US7783677B2 (en) Tracking file system namespace changes during transactions
RU2408060C2 (en) Method and system for maintaining conformity of name space with file system
CN101981550B (en) Database system, database update method, database and database update program
JP2008541263A (en) Fast and reliable synchronization of file system directories
US7330947B2 (en) Method and apparatus for backing up data in virtual storage medium
KR101690824B1 (en) Consistency without ordering dependency
KR20060093068A (en) Method and system for using a file system that automatically backs up files as generational files
EP1837783A1 (en) Managing data in a file system
JP4398464B2 (en) System, method, and program for managing point-in-time copy relationships between one target volume and one source volume
US20060117048A1 (en) Method and system of synchronizing filter metadata after a restore
CN102804137B (en) Controlling access to software component state
US11204877B2 (en) Minimizing data written to disk and enabling directory change notifications in multi-volume filter environments
US8863116B1 (en) Pre-storing blocks for a streamed application in a local cache on a host computer system
JPH10283228A (en) System for compressing log stream of multi-system environment
US8909875B1 (en) Methods and apparatus for storing a new version of an object on a content addressable storage system
US6988179B2 (en) Method, system, and program for ordering of physical extents
JP2004341926A (en) Database management system, database management program
WO2004111854A1 (en) File access management method, file access management device, and recording medium
JP2002108673A (en) Shared file system and metadata server computer applied to the system
JP2004341840A (en) Backup method, system therefor, and restoration method
US8010741B1 (en) Methods and apparatus for controlling migration of content
JPH04324541A (en) Network system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP