JPH04315233A - File managing system - Google Patents

File managing system

Info

Publication number
JPH04315233A
JPH04315233A JP3080146A JP8014691A JPH04315233A JP H04315233 A JPH04315233 A JP H04315233A JP 3080146 A JP3080146 A JP 3080146A JP 8014691 A JP8014691 A JP 8014691A JP H04315233 A JPH04315233 A JP H04315233A
Authority
JP
Japan
Prior art keywords
data
file
section
user
log
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3080146A
Other languages
Japanese (ja)
Inventor
Ten Matsumoto
松本 天
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP3080146A priority Critical patent/JPH04315233A/en
Publication of JPH04315233A publication Critical patent/JPH04315233A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PURPOSE:To guarantee the reliability of a file and the efficient operation to plural users even when these users simultaneously perform access to the same file. CONSTITUTION:A log part 13 is provided to separately store data actually written by the user among a data substance corresponding to the identifier of these respective data in addition to a table to register pointers showing the storage position of this data substance at a data storage part 11 in the file based on correspondence to the identifier. When the file is opened, the new table is constructed each time based on reference to these tables and the log part 13 so as to register the pointer showing the storage position in the data storage part 11 concerning the not written data and to register the pointer showing the storage position in the log part 13 concerning the actually written data respectively based on the correspondence to the identifiers of the relevant data corresponding to the user opening the file. Regardless of the presence/ absence of write, this newly constructed table can read out the data in the same file to all the users.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】この発明は、コンピュータシステ
ムを利用する複数のユーザによって共有される各種電子
ファイルのこれらユーザによる読み出しや書き込みにか
かるアクセスを統括管理するファイル管理システムに関
し、特に複数のユーザによって同時に同一のファイルが
アクセスされる場合でも、これらユーザに対して当該ア
クセスファイルの効率よい運用を保証するシステムの具
現に関する。
[Field of Industrial Application] The present invention relates to a file management system that centrally manages access for reading and writing by multiple users of a computer system to various electronic files shared by these users. The present invention relates to implementing a system that guarantees efficient operation of accessed files for these users even when the same file is accessed at the same time.

【0002】0002

【従来の技術】いわゆる複数のユーザが同時に同一のフ
ァイルをアクセスすることを想定したアプリケーション
においては通常、ユーザの一人があるファイルの内容を
更新している最中に、別のユーザが同じファイルの内容
を更新するようなことがあると、このファイルからは意
図した結果が得られなくなる。すなわち、無統制にこれ
ら共有されるファイルへのアクセスを許可すると、その
ファイル内のデータ内容は正しく維持されなくなること
がある。
[Prior Art] In applications that assume that multiple users access the same file at the same time, it is common for one user to update the contents of a file while another user updates the same file. If you update the contents, this file will no longer produce the desired results. That is, if uncontrolled access is allowed to these shared files, the data content within the files may not be maintained correctly.

【0003】そこで従来は、該アクセスされるファイル
内のデータが、これら複数のユーザによる同時のアクセ
スによって消去されたり、内容の一貫性が損なわれたり
することを避けるべく、 ( A)ファイルの参照、すなわち読み出しのみは、複
数のユーザによる同時のアクセスを許可する。
[0003] Conventionally, in order to prevent the data in the accessed file from being erased or the consistency of the contents being lost due to simultaneous access by these multiple users, (A) File reference has been carried out. , ie read only, allows simultaneous access by multiple users.

【0004】( B)読み出しであれ、書き込みであれ
、ユーザによるファイルアクセスの期間中当該ファイル
システム全体を排他的にロックして、他のユーザによる
アクセスを禁止する。
(B) During a user's access to a file, whether for reading or writing, the entire file system is exclusively locked and access by other users is prohibited.

【0005】( C)ファイルに書き込みを行うことの
できるユーザを一人に制限して、書き込みが行われてい
る期間のみは、読み出しであれ、他のユーザによるアク
セスを禁止する。
(C) Limiting the number of users who can write to a file to one person, and prohibiting access by other users, even for reading, only while writing is in progress.

【0006】等々の制御を行って、これら複数のユーザ
によるファイルアクセスの統制を図るようにしている。
[0006] These controls are used to control file access by these multiple users.

【0007】なお、このような複数のユーザが同時に同
一のファイルをアクセスすることを想定したアプリケー
ションとしては例えば、マルチユーザ型のデータベース
システムがあり、 ◆社団法人  情報処理学会編「情報処理ハンドブック
」  659〜662頁 1989年5月30日  オーム社  発行には、上記
複数のユーザによるファイルアクセスの統制を図る方法
として、このデータベースシステムを前提としたいくつ
かの方法が紹介されている。
[0007] An example of such an application that assumes that multiple users access the same file at the same time is a multi-user database system. ~Page 662, published by Ohmsha on May 30, 1989, introduces several methods based on this database system as methods for controlling file access by the plurality of users.

【0008】[0008]

【発明が解決しようとする課題】このように、複数のユ
ーザが同時に同一のファイルをアクセスすることを想定
したアプリケーションにあっては、上記( A)〜( 
C)の態様でこれらファイルへのアクセスを統制するこ
とで、そのファイル内のデータが誤って消去されたり、
その内容の一貫性が損なわれたりすることを回避するこ
とは確かに可能であるが、特に上記( B)或いは上記
( C)のように、一人のユーザがアクセスしている期
間中ファイルシステム全体が排他的にロックされるとな
ると、マルチユーザシステムとしての同時実行度が著し
く低下することとなる。すなわち、こうしてひとたびロ
ックされてしまうと、他のユーザにとってはファイルの
参照すらできなくなるとともに、こうしたシステムの規
模が大きい場合には、全体として待ち時間のみが増大さ
れることとなり、実用的でない。
[Problem to be Solved by the Invention] As described above, in an application that assumes that multiple users access the same file at the same time, the above (A) to (
By controlling access to these files in the manner described in C), it is possible to prevent data in those files from being accidentally deleted or
Although it is certainly possible to avoid loss of consistency in the contents, especially as in (B) or (C) above, if the entire file system is accessed by one user, If the system is exclusively locked, the degree of concurrency as a multi-user system will be significantly reduced. That is, once the file is locked in this way, other users will not be able to even reference the file, and if the scale of such a system is large, only the waiting time will increase as a whole, which is not practical.

【0009】また、このような状況を回避すべく、上記
一貫性についての水準を差し支えない範囲で低下させて
同時実行度の確保に努める方法もあるが、この場合もな
お、これら一貫性についての水準と同時実行度との兼ね
合いをどのようにするかについての問題が残され、こう
したファイルシステムを信頼性高く維持し、かつ効率よ
く運用する上での本質的な問題解決には至らない。
[0009]Also, in order to avoid such a situation, there is a method of lowering the level of consistency as much as possible to ensure the degree of concurrency, but in this case, it is still necessary to The problem remains as to how to balance the level and degree of concurrency, and the essential problem of maintaining and efficiently operating such file systems with high reliability remains unsolved.

【0010】また、あるユーザがファイルへの書き込み
中であっても、他のユーザに対するこれらファイルの読
み出しを可能とし、かつこれらファイル内データの一貫
性をも維持する方法として、 ( 1)ファイルへの書き込みを行う場合には、該ファ
イルの全体を先ずコピーし、このコピーしたファイルに
対してデータ変更等の書き込みを行う。
[0010] Furthermore, as a method for making it possible for other users to read these files even when a certain user is writing to the files, and also for maintaining the consistency of the data in these files, (1) When writing, the entire file is first copied, and data changes and the like are written to the copied file.

【0011】( 2)書き込みの済んだファイルは、そ
の全体をファイルシステムに書き戻す。
(2) The entire written file is written back to the file system.

【0012】などの方法もあるにはあるが、これではフ
ァイルの大きさが大きくなると、上記コピーを行うため
の時間や、該コピーしたファイルを一時的に保持してお
くためのスペース資源、すなわちメモリスペースが無視
できないものとなり、効率の面でやはり問題が残る。
[0012] Although there are methods such as [0012], when the size of the file becomes large, it takes time to perform the above-mentioned copying and space resources to temporarily hold the copied file, that is, Memory space becomes non-negligible, and efficiency still remains a problem.

【0013】この発明は、こうした実情に鑑みてなされ
たものであり、上述のように複数のユーザによって同時
に同一のファイルがアクセスされる場合でも、これら全
てのユーザに対して、ファイルの信頼性とその効率よい
運用を保証するファイル管理システムを提供することを
目的とする。
[0013] The present invention was made in view of these circumstances, and even when the same file is accessed by multiple users at the same time as described above, it is possible to ensure the reliability of the file for all of these users. The purpose is to provide a file management system that guarantees efficient operation.

【0014】[0014]

【課題を解決するための手段】こうした目的を達成する
ため、この発明では、 ( a)ファイル内データとしての1乃至複数のデータ
、すなわちデータ実体が格納されるデータ格納部。
[Means for Solving the Problems] In order to achieve these objects, the present invention provides: (a) a data storage section in which one or more data as in-file data, that is, data entities are stored;

【0015】( b)前記1乃至複数のデータの前記デ
ータ格納部内での格納位置を示すポインタがこれら各デ
ータの識別子との対応のもとに登録される第1のテーブ
ル部。
(b) A first table section in which pointers indicating the storage positions of the one or more pieces of data in the data storage section are registered in correspondence with the identifiers of these pieces of data.

【0016】( c)前記ファイル内データのうちユー
ザによって実際に書き込みの行われたデータがその識別
子との対応のもとに別途格納されるログ部。
(c) A log section in which data actually written by the user among the data in the file is separately stored in association with its identifier.

【0017】( d)当該ファイルのオープン時に該オ
ープンしたユーザに対応して都度構築されるテーブルで
あって、前記第1のテーブル部と前記ログ部との参照の
もとに、書き込みの行われていないデータについてはそ
の前記データ格納部内での格納位置を示すポインタが、
実際に書き込みの行われたデータについてはその前記ロ
グ部内での格納位置を示すポインタが、それぞれ該当す
るデータの識別子との対応のもとに登録される第2のテ
ーブル部。
(d) A table that is constructed each time the file is opened, corresponding to the user who opened the file, and in which writing is performed with reference to the first table section and the log section. For data that is not stored, a pointer indicating its storage position in the data storage section is
A second table section in which pointers indicating the storage positions of data actually written in the log section are registered in correspondence with identifiers of the corresponding data.

【0018】をそれぞれ設け、ログ部( c)を通じて
データの書き込みが行われている間であれ、少なくとも
データ格納部( a)に格納されているデータについて
は第2のテーブル部( d)を通じてその読み出しが行
われるようにする。
[0018] Even while data is being written through the log section (c), at least the data stored in the data storage section (a) is written through the second table section (d). Allow reading to occur.

【0019】[0019]

【作用】上記データ格納部( a)及び第1のテーブル
部( b)は通常、ファイルシステムとして各ファイル
に標準に備わっている部分であるが、各ファイルがその
アクセスのためにオープンされる際には、データ実体の
全てが格納されているデータ格納部( a)はそのまま
に、上記第1のテーブル部( b)とログ部( c)と
のみが、例えばユーザマシン(ワークステーション或い
は端末装置)のシステムメモリ内に読み込まれ、そこで
これら第1のテーブル部( b)及びログ部( c)の
内容に基づき上記第2のテーブル部( d)が構築され
る。この構築される第2のテーブル部( d)とは上述
のように、書き込みの行われていないデータについては
そのデータ格納部( a)内での格納位置を示すポイン
タが、また実際に書き込みの行われたデータについては
そのログ部( c)内での格納位置を示すポインタが、
それぞれ該当するデータの識別子との対応のもとに登録
されるものであり、各ユーザ(正確にはそのマシン)は
、各々オープンしたファイルについて、書き込みの行わ
れていないデータであれ、また既に書き込みの行われた
データであれ、この構築された第2のテーブル部( d
)を参照することで、その全てのデータを読み出すこと
が可能となる。すなわちこのことは、ある一人のユーザ
がそのファイルへの書き込みを行っていても、他のユー
ザに対しては、同ファイル中のデータを読み出すことが
常に保証されていることを意味する。
[Operation] The data storage section (a) and the first table section (b) are normally included in each file as a file system, but when each file is opened for access, In this case, the data storage section (a) in which all data entities are stored remains as is, and only the first table section (b) and log section (c) are stored on a user machine (workstation or terminal device), for example. ) into the system memory, where the second table section (d) is constructed based on the contents of the first table section (b) and log section (c). As mentioned above, the constructed second table section (d) is a pointer indicating the storage position in the data storage section (a) for data that has not been written, and a pointer indicating the storage position of the data that has not been written. The pointer indicating the storage location of the data in the log section (c) is
Each user (more precisely, the machine) is registered in correspondence with the identifier of the corresponding data, and each user (or more precisely, the machine) can register the data for each opened file, even if the data has not been written or has already been written. This constructed second table part (d
), it is possible to read all the data. In other words, this means that even if one user is writing to the file, other users are always guaranteed to be able to read the data in the same file.

【0020】また、上記ファイル内のデータの一貫性を
維持する都合上、ファイルに同時に書き込みを行うこと
のできるユーザは一人に限定することが望ましいが、上
記の構成によれば、こうしたファイルへの書き込みは、
上記ログ部( c)において管理される単位となる必要
最小限のデータのみを扱えばよいことから、前述したコ
ピーを行うための時間や、同ファイルを格納するための
スペース資源が浪費されることもない。
[0020]Also, in order to maintain the consistency of the data in the file, it is desirable to limit the number of users who can write to the file at the same time to one person. The writing is
Since only the minimum necessary data that is the unit to be managed in the log section (c) above needs to be handled, the time for performing the above-mentioned copying and the space resources for storing the same file are wasted. Nor.

【0021】なおこの構成において、上記データ格納部
( a)、第1のテーブル部( b)、及びログ部( 
c)は、1つのファイル内に一括して設けられてもよい
し、これら各部が複数のファイルに分割して設けられて
もよい。
In this configuration, the data storage section (a), the first table section (b), and the log section (
c) may be provided all at once in one file, or each of these portions may be provided divided into a plurality of files.

【0022】また、上記第2のテーブル部( d)は、
ユーザの各々に対応して各別に構築されかつ、各ユーザ
による各々対応したテーブルの参照が叶いさえすれば、
上述したユーザマシンのシステムメモリに限らないいか
なる部分に構築されてもよい。
[0022] Furthermore, the second table part (d) is
As long as each table is constructed separately for each user, and each user can refer to the corresponding table,
It may be constructed in any part other than the system memory of the user machine mentioned above.

【0023】また同構成によれば、事実上、ファイルに
同時に書き込みを行うことのできるユーザが一人に限ら
れることは上述した通りであるが、ユーザに与えるファ
イルへの書き込み許容時間を十分に短くとれば、これら
ユーザの全てに対して、常に書き込みが可能であるかの
ような操作感を与えることも可能となる。
Furthermore, according to the same configuration, as described above, only one user can write to a file at the same time, but the allowable time for writing to a file given to a user is sufficiently short. By doing so, it becomes possible to provide all of these users with the feeling of being able to write at all times.

【0024】[0024]

【実施例】図1に、この発明にかかるファイル管理シス
テムの一実施例を示す。
Embodiment FIG. 1 shows an embodiment of a file management system according to the present invention.

【0025】この実施例システムは、同図1に示される
ように、大きくは、複数のユーザによって共有されると
するファイル10、このファイル10の複数のユーザに
よる同時のアクセスを所定に排他制御しつつ、同ファイ
ル10内のデータの読み出し(参照)や書き込み(変更
若しくは追加)を統括管理するファイル管理部20、及
び上記ファイル10を共有する複数のユーザによって操
作され、このファイル10に対し上記ファイル管理部2
0を通じて、読み出し要求や書き込み要求等のアクセス
を行う第1〜第nの複数のユーザマシン(ワークステー
ション等)30によって構成されている。
As shown in FIG. 1, this embodiment system mainly includes a file 10 that is shared by a plurality of users, and a predetermined exclusive control on simultaneous access to this file 10 by a plurality of users. At the same time, the file management unit 20 that centrally manages reading (reference) and writing (changing or adding) data in the same file 10 and multiple users who share the file 10, Management department 2
The computer is configured by a plurality of first to nth user machines (workstations, etc.) 30 that perform accesses such as read requests and write requests through 0.

【0026】ここで、上記ファイル10は、これに含ま
れるデータ実体(バイト列)をその識別子(ID番号)
から得るようになっており、その構成として図1に示さ
れるように、これら1乃至複数のデータ実体(以下単に
データという)が格納されるデータ格納部11と、同1
乃至複数のデータのこのデータ格納部11内での格納位
置を示すポインタがこれら各データの識別子との対応の
もとに登録されるテーブル(以下これをその性質上静的
テーブルという)部12と、上記データのうちユーザに
よって実際に書き込みの行われたデータがその識別子と
の対応のもとに別途格納されるログ部13と、をそれぞ
れ有している。
[0026] Here, the file 10 identifies the data entity (byte string) contained therein by its identifier (ID number).
As shown in FIG. 1, its configuration includes a data storage unit 11 in which one or more data entities (hereinafter simply referred to as data) are stored;
and a table (hereinafter referred to as a static table in nature) section 12 in which pointers indicating the storage positions of a plurality of data in the data storage section 11 are registered in correspondence with the identifiers of each of these data. , and a log section 13 in which data actually written by the user among the above data is separately stored in correspondence with the identifier thereof.

【0027】他方、上記各ユーザマシン30は、これも
同図1に示されるように、各マシン単位でのファイルア
クセス要求、すなわちこれを操作する各ユーザによって
指令される上記ファイル10のデータ参照、データ変更
、データ追加等々のアクセス要求に際しての調停や許可
の付与を、上記ファイル管理部20と協働して管理する
アクセス管理部31と、上記ファイル10を共有するア
プリケーション仕様に応じて、各マシン毎に都度発生す
るイベントやユーザ入力に基づく各種の制御、処理を統
括的に実行する演算処理部32と、この演算処理部32
の内部メモリとして、同演算処理部32による各種処理
データ等が一時的に格納されるシステムメモリ33と、
キーボードやマウス等からなる入力装置35を通じて入
力される情報を解読してこれを上記演算処理部32に伝
達するとともに、この演算処理部32から与えられる表
示情報を解読して、その内容をCRTディスプレイ等か
らなる表示装置36を通じて可視表示する入出力制御部
34と、をそれぞれ有して構成されており、特に、その
ユーザによって上記ファイル10をオープンする旨の指
令(入力)がなされた場合には、上記アクセス管理及び
ファイル管理部20を介してファイル10内の上記テー
ブル部12及びログ部13の内容をシステムメモリ33
に読み込み、この読み込んだ内容に基づいて、書き込み
の行われていないデータについてはその上記データ格納
部11内での格納位置を示すポインタが、実際に書き込
みの行われたデータについてはその上記ログ部13内で
の格納位置を示すポインタが、それぞれ該当するデータ
の識別子との対応のもとに登録されるテーブル(以下こ
れをその性質上動的テーブルという)40を同システム
メモリ33内に構築するよう動作する。
On the other hand, each of the user machines 30, as shown in FIG. An access management unit 31 manages arbitration and granting of permissions for access requests such as data changes and data additions in collaboration with the file management unit 20, and each machine an arithmetic processing unit 32 that centrally executes various controls and processes based on events and user inputs that occur each time;
A system memory 33 as an internal memory in which various processing data etc. by the arithmetic processing unit 32 are temporarily stored;
Information input through the input device 35 consisting of a keyboard, mouse, etc. is decoded and transmitted to the arithmetic processing section 32, and display information given from the arithmetic processing section 32 is decoded and its contents are displayed on a CRT display. and an input/output control unit 34 that visually displays information through a display device 36 consisting of a display device 36, etc., and in particular, when the user issues an instruction (input) to open the file 10, , the contents of the table section 12 and log section 13 in the file 10 are transferred to the system memory 33 via the access management and file management section 20.
Based on the read contents, a pointer indicating the storage position in the data storage unit 11 for data that has not been written is set, and a pointer indicating the storage position in the data storage unit 11 for data that has actually been written is set in the log unit. A table 40 (hereinafter referred to as a dynamic table in nature) is constructed in the system memory 33, in which pointers indicating storage positions within the system memory 33 are registered in correspondence with corresponding data identifiers. It works like that.

【0028】すなわち、ファイル10内にも、そのデー
タ格納部11内でのデータ格納位置を示すポインタとこ
れら各データの識別子とが対応付けされて登録される上
記静的テーブル部12は存在するものの、このファイル
10を実際にオープンした各ユーザマシン30では、該
静的テーブル部12の内容と上記ログ部13の内容とに
基づきそのシステムメモリ33内に構築する上記動的テ
ーブル40を介して、都度所望されるデータの参照を行
うこととなる。
That is, although the static table section 12 exists in the file 10 as well, in which a pointer indicating the data storage position in the data storage section 11 and the identifier of each data are registered in association with each other. , each user machine 30 that has actually opened this file 10 uses the dynamic table 40 built in its system memory 33 based on the contents of the static table section 12 and the contents of the log section 13 to The desired data will be referenced each time.

【0029】図2に、これらデータ格納部11、静的テ
ーブル部12、ログ部13、及び動的テーブル40を通
じた、該実施例システムにおけるファイル10内のデー
タの参照メカニズムを模式的に示す。
FIG. 2 schematically shows a mechanism for referring to data in the file 10 in the system of this embodiment through the data storage section 11, static table section 12, log section 13, and dynamic table 40.

【0030】すなわち、この図2に示すデータ格納部1
1において、そのアドレス「01」、「02」、「03
」、「04」、…  に各々格納されているデータ「デ
ータA0」、「データB0」、「データC1」、「デー
タD0」、…  は、その時点で変更されていない(正
確には後述するファイル圧縮に基づく更新処理がなされ
る以前の)データであり、これらデータの各格納アドレ
スが、同図に併せ示される静的テーブル部12により、
その識別子(ID)「A」、「B」、「C」、「D」、
…  を通じてポインティングされている。
That is, the data storage unit 1 shown in FIG.
1, its addresses "01", "02", "03"
”, “04”, etc. The data “Data A0”, “Data B0”, “Data C1”, “Data D0”, etc. are not changed at that time (exactly, as will be explained later). (prior to update processing based on file compression), and the storage addresses of each of these data are stored by the static table unit 12 also shown in the figure.
Its identifier (ID) “A”, “B”, “C”, “D”,
It is pointed through...

【0031】他方、同図2に示すログ部13において、
その識別子(ID)「A」、「D」、「S」に各々対応
して登録されているデータ「データA1」、「データD
1」、及び「データS0」は、後述するファイル圧縮に
基づくデータの更新処理後に、何れかのユーザによって
変更、或いは追加されたデータであり、ここでは例えば
、「データA1」は、データ格納部11に格納されてい
る上記「データA0」に関してこれに変更を加えたデー
タを、「データD1」は、同じくデータ格納部11に格
納されている上記「データD0」に関してこれに変更を
加えたデータを、また「データS0」は、当該ファイル
のデータとして上記データ格納部11に新たに追加する
データを、それぞれ示している。なお、上記変更のため
にログ部13に登録されるデータ、すなわち「データA
」や「データD]等は、その書き込みに際し、これらデ
ータ内容の一貫性が最低限維持される単位で、同ログ部
13に取り込まれるものとする。少なくともこれによっ
て、前述したデータ内容の一貫性に関する問題は解消さ
れる。
On the other hand, in the log section 13 shown in FIG.
Data “Data A1” and “Data D” are registered corresponding to the identifiers (ID) “A”, “D”, and “S”, respectively.
1" and "Data S0" are data that has been changed or added by any user after data update processing based on file compression, which will be described later. Here, for example, "Data A1" is data that has been added to the data storage unit. "Data D1" is the modified data of the "data A0" stored in the data storage section 11, and "data D1" is the modified data of the "data D0" stored in the data storage section 11. and "data S0" respectively indicate data newly added to the data storage unit 11 as data of the file. Note that the data registered in the log section 13 for the above change, that is, "data A
", "Data D], etc., are taken into the log unit 13 in units that maintain the minimum consistency of these data contents when writing them. related issues will be resolved.

【0032】そして、各ユーザマシン30のシステムメ
モリ内33に構築される上記の動的テーブル40は、静
的テーブル部12の内容とこのログ部13の内容とに基
づき、ログ部13に識別子が登録されているデータにつ
いては、その識別子と同データの該ログ部13内での登
録位置を示すポインタとの対として、またログ部13に
識別子が登録されていないデータについては静的テーブ
ル部12と同様、その識別子と同データの上記データ格
納部11内での格納位置を示すポインタとの対として、
それぞれこれら識別子及びポインタが登録されたデータ
参照テーブルとして構築される。
The above dynamic table 40 constructed in the system memory 33 of each user machine 30 has an identifier stored in the log section 13 based on the contents of the static table section 12 and the contents of this log section 13. For registered data, the identifier is used as a pair with a pointer indicating the registration position of the same data in the log section 13, and for data whose identifier is not registered in the log section 13, it is stored in the static table section 12. Similarly, as a pair of the identifier and a pointer indicating the storage position of the same data in the data storage unit 11,
Each is constructed as a data reference table in which these identifiers and pointers are registered.

【0033】すなわちここでの例においては、ログ部1
3に上記変更或いは追加したデータが登録されている状
態でこの動的テーブル40が構築されたものとして、同
図2にそのポインティング態様を矢指するように、◆識
別子「A」によって識別されるデータAは、そのログ部
13内での登録位置であるとする「L1」のポインティ
ングによって、ログ部13内に登録されている最新の「
データA1」が参照される。
In other words, in this example, the log section 1
Assuming that this dynamic table 40 has been constructed with the above-mentioned changed or added data registered in 3, the pointing mode is shown in FIG. A points to the latest "L1" registered in the log section 13 by pointing to "L1" which is the registered position in the log section 13.
Data A1" is referred to.

【0034】◆識別子「B」によって識別されるデータ
Bは、そのデータ格納部11内での格納アドレスである
「02」のポインティングによって、データ格納部11
内に格納されている「データB0」が参照される。
◆Data B identified by the identifier “B” is stored in the data storage unit 11 by pointing to the storage address “02” in the data storage unit 11.
"Data B0" stored in "Data B0" is referenced.

【0035】◆識別子「C」によって識別されるデータ
Cは、そのデータ格納部11内での格納アドレスである
「03」のポインティングによって、データ格納部11
内に格納されている「データC1」が参照される。
◆Data C identified by the identifier “C” is stored in the data storage unit 11 by pointing to its storage address “03” within the data storage unit 11.
"Data C1" stored in "Data C1" is referred to.

【0036】◆識別子「D」によって識別されるデータ
Dは、そのログ部13内での登録位置であるとする「L
2」のポインティングによって、ログ部13内に登録さ
れている最新の「データD1」が参照される。
◆The data D identified by the identifier “D” is registered at the “L” position in the log section 13.
2", the latest "data D1" registered in the log section 13 is referred to.

【0037】◆識別子「S」によって識別されるデータ
Sは、そのログ部13内での登録位置であるとする「L
3」のポインティングによって、ログ部13内に登録さ
れている追加データである「データS0」が参照される
◆The data S identified by the identifier “S” is registered at the “L” position in the log section 13.
3", "data S0" which is additional data registered in the log section 13 is referred to.

【0038】こととなる。[0038] This is the case.

【0039】図3は、この実施例ファイル管理システム
の主に上記ファイル管理部20及び各ユーザマシン30
のアクセス管理部31を通じて実行される同システムと
してのファイル管理メカニズムをフローチャートとして
示したものであり、以下この図3を併せ参照して、マル
チユーザシステムとしての該実施例システムの動作を更
に詳述する。
FIG. 3 mainly shows the file management section 20 and each user machine 30 of the file management system of this embodiment.
The file management mechanism of the system executed through the access management unit 31 of the system is shown as a flowchart, and the operation of the system of this embodiment as a multi-user system will be described in further detail below with reference to FIG. do.

【0040】すなわちいま、ユーザマシン30のうちの
あるマシンのアクセス管理部31を通じて上記ファイル
10に対するオープン要求が発せられたとすると(図3
ステップS1)、これを受けたファイル管理部20では
、同ファイル10についての圧縮中でないことを条件に
このオープン要求を許可する(図3ステップS2)。 そして、このオープン要求を許可されたアクセス管理部
31では、自らのマシンの演算処理部32を通じて、そ
のシステムメモリ33内に上記動的テーブル40を構築
し(図3ステップS3)、ファイル10をオープンする
。この動的テーブル40の構築に際して、ファイル10
内のその時点での静的テーブル部12及びログ部13が
参照されることは上述した通りである。
In other words, suppose that an open request for the file 10 is issued through the access management unit 31 of one of the user machines 30 (FIG. 3).
In step S1), the file management unit 20 receives this request and permits this open request on the condition that the file 10 is not being compressed (step S2 in FIG. 3). The access management unit 31 that has been granted this open request constructs the dynamic table 40 in its system memory 33 through the arithmetic processing unit 32 of its own machine (step S3 in FIG. 3), and opens the file 10. do. When constructing this dynamic table 40, the file 10
As described above, the static table section 12 and log section 13 at that point in time are referred to.

【0041】こうしてファイル10のオープンが完了さ
れると、アクセス管理部31では、そのユーザによって
同ファイル10のクローズ指令があるまで(図3ステッ
プS10)、同ユーザによる「データの参照要求」、「
最新のデータを参照するための移行要求」、「データの
変更・追加要求」、及び「ファイル圧縮要求」に応じて
、それぞれ次に示す態様での処理をファイル管理部20
との協働のもとに実行する。
[0041] When the opening of the file 10 is completed in this way, the access management unit 31 handles "data reference requests", "
In response to a ``request for migration to refer to the latest data,'' ``request to change or add data,'' and ``request for file compression,'' the file management unit 20 performs the following processes, respectively.
This will be carried out in collaboration with

【0042】以下に、これら各要求の別に、その動作を
列記する。
The operations for each of these requests will be listed below.

【0043】◇データの参照要求 ユーザによる要求が、上記オープンしたファイル10の
参照要求であった場合(図3ステップS20)、アクセ
ス管理部31では、上記構築した動的テーブル40を通
じて各データの所在を認知し(図3ステップS21)、
該認知に基づいてファイル10内のデータを読み込む(
図3ステップS22)。こうして読み込まれたデータは
、システムメモリ33に一時的に保持され、演算処理部
32及び入出力制御部34を通じて表示装置36に表示
される。
◇Data reference request If the request by the user is a request to reference the opened file 10 (step S20 in FIG. 3), the access management unit 31 determines the location of each data through the dynamic table 40 constructed above. (Step S21 in Figure 3),
Read the data in the file 10 based on the recognition (
FIG. 3 step S22). The data read in this way is temporarily held in the system memory 33 and displayed on the display device 36 through the arithmetic processing section 32 and the input/output control section 34.

【0044】◇最新のデータを参照するための移行要求
ユーザによる要求が、上記オープンしたファイル10に
ついての最新のデータを参照するための移行要求であっ
た場合(図3ステップS30)、アクセス管理部31で
は、ファイル管理部20への問い合わせを行って、この
ファイル10が他のユーザ(ユーザマシン)によるデー
タ変更中やデータ追加中でないこと(図3ステップS3
1)、及び他のユーザが同ファイル10についての最新
のデータを参照するための移行中でないこと(図3ステ
ップS32)を条件に、ファイル10内の静的テーブル
部12及びログ部13の内容を再び読み込み、この新た
に読み込んだ内容に基づいて上記動的テーブル40の内
容を更新する(図3ステップS33)。すなわちこれに
より、当該ファイル10におけるその時点での最新のデ
ータが参照されるようになる。
◇ Migration request to refer to the latest data If the request by the user is a transfer request to refer to the latest data for the opened file 10 (step S30 in FIG. 3), the access management unit 31, an inquiry is made to the file management unit 20 to confirm that the file 10 is not being modified or added to by another user (user machine) (step S3 in FIG. 3).
1), and the contents of the static table section 12 and log section 13 in the file 10 on the condition that the migration is not in progress for other users to refer to the latest data for the same file 10 (step S32 in FIG. 3). is read again, and the contents of the dynamic table 40 are updated based on the newly read contents (step S33 in FIG. 3). That is, as a result, the latest data in the file 10 at that point in time is referenced.

【0045】◇データの変更・追加要求ユーザによる要
求が、上記オープンしたファイル10についてのデータ
変更、若しくはデータ追加要求であった場合(図3ステ
ップS40)、アクセス管理部31では、ファイル管理
部20への問い合わせを行って、このファイル10が他
のユーザ(ユーザマシン)によるデータ変更中やデータ
追加中でないこと(図3ステップS41)、及び他のユ
ーザが同ファイル10についての最新のデータを参照す
るための移行中でないこと(図3ステップS42)を条
件に、当該ユーザに対してこれらの要求を許可する。す
なわちこの要求が、例えば先の図2でいうデータAの変
更であった場合には、データ格納部11からその該当す
る「データA0」をシステムメモリ33に読み込み、そ
の後ユーザにより変更の加えられた「データA1」をそ
の識別子「A」とともにログ部13に登録し、またこの
要求が、同じく先の図2でいうデータSの追加であった
場合には、同ユーザによって追加された「データS0」
を、その識別子「S」とともにログ部13に追加登録す
る(図3ステップS43)。そして、このログ部13に
登録した内容に基づいて、自らの動的テーブル40の内
容を更新する(図3ステップS44)。
◇ Data change/addition request If the request by the user is a data change or data addition request for the opened file 10 (step S40 in FIG. 3), the access management unit 31 requests the file management unit 20 to confirm that this file 10 is not being modified or added to by another user (step S41 in FIG. 3), and that other users can refer to the latest data regarding the file 10. The user is permitted to make these requests on the condition that the user is not in the process of transitioning (step S42 in FIG. 3). In other words, if this request is, for example, to change the data A shown in FIG. "Data A1" is registered in the log unit 13 along with its identifier "A", and if this request is also for the addition of data S as shown in FIG. ”
is additionally registered in the log section 13 along with its identifier "S" (step S43 in FIG. 3). Then, based on the contents registered in the log section 13, the contents of its own dynamic table 40 are updated (step S44 in FIG. 3).

【0046】◇ファイル圧縮要求 ユーザによる要求が、上記オープンしたファイル10の
圧縮処理要求であった場合(図3ステップS50)、ア
クセス管理部31では、ファイル管理部20への問い合
わせを行い、このファイル10が他のユーザ(ユーザマ
シン)によってオープンされていないこと(図3ステッ
プS51)、及び他のユーザによって同ファイル10が
圧縮処理されていないこと(図3ステップS52)を条
件に、該ファイル管理部20と協働して、( 1)デー
タ格納部11内の不要となったデータを取り除いて、そ
の分、各データを順次つめる(図3ステップS53)。
◇File Compression Request If the request by the user is a request for compression processing of the opened file 10 (step S50 in FIG. 3), the access management section 31 makes an inquiry to the file management section 20, and 10 is not opened by another user (user machine) (step S51 in FIG. 3), and the same file 10 is not compressed by another user (step S52 in FIG. 3). In cooperation with the unit 20, (1) remove unnecessary data from the data storage unit 11, and sequentially fill in each piece of data accordingly (step S53 in FIG. 3);

【0047】( 2)この整理したデータ格納部11内
のデータ格納内容(格納位置)に基づいて静的テーブル
部12の内容を更新する(ステップS54)。
(2) The contents of the static table section 12 are updated based on the organized data storage contents (storage positions) in the data storage section 11 (step S54).

【0048】( 3)ログ部13に登録されている最新
のデータをデータ格納部11に移す(図3ステップS5
5)。
(3) Move the latest data registered in the log section 13 to the data storage section 11 (step S5 in FIG. 3).
5).

【0049】( 4)更にこのデータの移されたデータ
格納部11の内容に基づいて静的テーブル部12の内容
を更新する(図3ステップS56)。
(4) Furthermore, the contents of the static table section 12 are updated based on the contents of the data storage section 11 to which this data has been transferred (step S56 in FIG. 3).

【0050】( 5)最後に、ログ部13の内容をクリ
アして、その中を空にする(図3ステップS57)。
(5) Finally, the contents of the log section 13 are cleared and emptied (step S57 in FIG. 3).

【0051】といった一連の処理を実行する。この空に
なったログ部13には、その後のデータ変更・追加要求
によって新たに変更や追加されたデータが、その識別子
とともに登録されることとなる。
A series of processes such as [0051] are executed. In this empty log section 13, data newly changed or added by a subsequent data change/addition request will be registered together with its identifier.

【0052】なお、このファイル圧縮処理に関しては、
当該ファイルに対するアクセスが何れのユーザからもな
されていないことを条件に、ファイル管理部20を通じ
て、自動的に実行されるようにしてもよい。
[0052] Regarding this file compression process,
The process may be automatically executed through the file management unit 20 on the condition that no user has accessed the file.

【0053】このように、この実施例によるファイル管
理システムによれば、ファイル10という同一のファイ
ルに対して、書き込み及び読み出しが同時に行われる場
合であっても、変更や追加の行われたデータのみがログ
部13を通じて別途に管理されることから、ファイル1
0内の全てのデータがその書き込み等のアクセスに伴っ
て移動やコピーされる必要はなくなる。すなわち、ログ
部13において管理の単位とされる分のデータのみを処
理すればよい。なお、このログ部13において管理の単
位とされるデータがこれらデータ内容の一貫性が最低限
維持される単位のものであり、これによってデータ内容
の一貫性に関する問題も良好に解消されるようになるこ
とは上述した通りである。しかも、上述したファイル管
理部20及びアクセス管理部31の動作によれば、ファ
イル10に対して書き込みのできるユーザは一人に限ら
れることから、マルチユーザシステムとしての多少の制
限は残るものの、同ファイル10の信頼性は良好に維持
される。もっとも、こうした書き込み処理に関して、そ
の許容する時間を十分に短くとるようにすれば、全ての
ユーザに対して常に書き込みが可能であるかのような操
作感を与えることも可能ではある。
As described above, according to the file management system according to this embodiment, even if writing and reading are performed simultaneously on the same file, file 10, only data that has been changed or added is processed. File 1 is managed separately through the log section 13.
It is no longer necessary for all data in 0 to be moved or copied when accessed such as writing. That is, it is only necessary to process data that is a unit of management in the log section 13. Note that the data that is managed as a unit in this log section 13 is a unit that maintains the consistency of these data contents at the minimum, so that problems related to consistency of data contents can be resolved satisfactorily. What happens is as described above. Moreover, according to the operations of the file management unit 20 and the access management unit 31 described above, only one user can write to the file 10, so although some limitations remain as a multi-user system, the same file 10 reliability is maintained well. However, if the time allowed for such write processing is set sufficiently short, it is possible to give all users the feeling of being able to write at all times.

【0054】また、上記ファイル10の参照に際しては
、このログ部13を通じて管理されているデータはその
データが、それ以外のデータはデータ格納部11に格納
されているデータが、上記動的テーブル40を通じて自
動的に切り替えられてポインティングされて読み出され
るようになり、たとえこのファイル10についてあるユ
ーザが書き込み中であっても、その他の全てのユーザは
、自由に、しかも比較的新しいデータを(書き込み中で
なければ上記移行にかかる処理を通じて最新のデータを
)参照することができる。
When referring to the file 10, the data managed through the log unit 13 is referred to as that data, and the other data is referred to as the data stored in the data storage unit 11 in the dynamic table 40. Even if a user is currently writing to this file 10, all other users can freely read relatively new data (while writing). Otherwise, you can refer to the latest data through the migration process described above.

【0055】また、上記ファイル10が何れのユーザに
よってもオープンされていないことを条件にこれを圧縮
処理して、そのデータ格納部11及び静的テーブル部1
2の内容を整理することができるため、同ファイル10
を無駄のない常に好適な状態に維持することができるよ
うにもなる。
Further, on the condition that the file 10 is not opened by any user, the file 10 is compressed, and its data storage section 11 and static table section 1 are compressed.
Since the contents of 2 can be organized, the same file 10
It will also be possible to maintain it in a suitable state at all times without any waste.

【0056】ところで、上記の実施例においては、ファ
イル管理部20及びアクセス管理部31が、それぞれ(
 A)あるユーザから共有ファイル10についてのデー
タ読み出し要求があったとき、該ユーザに対応して構築
される動的テーブル40の内容に基づき、その読み出し
要求されたデータの識別子に対応して登録されているポ
インタにより示される格納位置のデータを読み込んでこ
れを同ユーザに表示する手段。
By the way, in the above embodiment, the file management section 20 and the access management section 31 each have (
A) When a certain user makes a request to read data regarding the shared file 10, based on the contents of the dynamic table 40 that is constructed corresponding to the user, the data is registered corresponding to the identifier of the data requested to be read. Means for reading the data at the storage location indicated by the pointer and displaying it to the same user.

【0057】( B)あるユーザから共有ファイル10
についてのデータ書き込み要求があったとき、同ファイ
ルに対して他のユーザによる書き込みが行われていない
ことを条件にその要求を許可し、その書き込まれたデー
タを同データの識別子とともにログ部13に格納する手
段。
(B) Shared file 10 from a certain user
When there is a request to write data to the same file, the request is permitted on the condition that no other user has written to the same file, and the written data is stored in the log section 13 along with the identifier of the data. means of storage.

【0058】( C)共有ファイル10をオープンして
いるユーザから当該ファイルの最新データ内容への移行
要求があったとき、同ファイルに対して他のユーザによ
る書き込みが行われていないこと、及び他のユーザから
の移行要求がないことを条件にその要求を許可し、ログ
部13のその時点での内容に基づいて当該動的テーブル
40のポインタ登録内容を更新する手段。
(C) When a user who has opened the shared file 10 requests migration to the latest data contents of the file, it is confirmed that no other user has written to the file, and that no other user has written to the file. A means for permitting a migration request on the condition that there is no migration request from a user, and updating the pointer registration contents of the dynamic table 40 based on the contents of the log section 13 at that time.

【0059】( D)共有ファイル10が何れのユーザ
からもアクセスされていないことを条件に自動的に、若
しくは同ファイルをオープンしている唯一のユーザから
の指令に応じて、データ格納部11のデータ内容、及び
静的テーブル部12のポインタ内容をログ部13に格納
されているデータに応じて更新するとともに、ログ部1
3の内容をクリアする手段。
(D) The data storage unit 11 is automatically updated on the condition that the shared file 10 is not accessed by any user, or in response to a command from the only user who has the file open. The data contents and the pointer contents of the static table section 12 are updated according to the data stored in the log section 13, and the log section 1
A means to clear the contents of 3.

【0060】を有するとしたが、ファイルの読み書きに
かかる基本的な管理機能のみを実現するのであれば、こ
のうちの上記( A)の読み出しを制御する手段、及び
上記( B)の書き込みを制御する手段を有することで
足りる。
[0060] However, if only the basic management functions related to reading and writing of files are to be realized, the above (A) means for controlling reading and the above (B) means for controlling writing are required. It is sufficient to have the means to do so.

【0061】また上記実施例においては、各ユーザマシ
ンが、ファイル管理部20と協働して、ファイル10を
いわば直接的に扱う場合について述べたが、こうした例
に限らず、他に例えば、図4に示すような各クライアン
ト(ワークステーション等)C1〜Cnによるファイル
10内のデータの参照・変更等をファイルサーバSを通
じて統括的に行うとするサーバ・クライアント方式によ
るシステム、或いは図5に示すような各端末T1〜Tn
によるファイル10内のデータ参照・変更要求をホスト
コンピュータHにより一括して処理するとするホスト・
端末方式によるシステムにも、この発明にかかるファイ
ル管理システムは適用可能である。
Furthermore, in the above embodiment, the case where each user machine directly handles the file 10 in cooperation with the file management section 20 has been described, but this is not limited to this example. A system based on a server-client system in which the clients (workstations, etc.) C1 to Cn collectively refer to and modify data in the file 10 through a file server S as shown in FIG. 4, or a system as shown in FIG. Each terminal T1 to Tn
The host computer H collectively processes data reference/change requests in the file 10 by the host computer H.
The file management system according to the present invention can also be applied to a terminal-based system.

【0062】因みにこれらの各場合には、上記動的テー
ブルについてもこれをクライアントや端末等のユーザマ
シン各々に構築する必要ななく、同図4或いは同図5に
示すように、サーバS内、或いはホストコンピュータH
内に配設されるファイル管理部20に、各ユーザ分を一
括して構築するようにしてもよい。
Incidentally, in each of these cases, there is no need to construct the above-mentioned dynamic table on each user machine such as a client or a terminal, and as shown in FIG. 4 or FIG. Or host computer H
The files for each user may be collectively constructed in the file management section 20 disposed within the system.

【0063】またこれらの場合、ファイル10を構成す
るとした上記データ格納部11、静的テーブル部12、
及びログ部13についてもこれらを1つのファイル内に
まとめて配設する必要はなく、複数の各別のファイルに
分割して配設するようにしてもよい。
In these cases, the data storage section 11, static table section 12, and
And the log section 13 need not be arranged all together in one file, but may be divided into a plurality of separate files and arranged.

【0064】[0064]

【発明の効果】以上説明したように、この発明によれば
、ファイル内のデータ格納部におけるデータ実体の格納
位置を示すポインタがこれら各データの識別子との対応
のもとに登録されるテーブルの他に、上記データ実体の
うちユーザによって実際に書き込みの行われたデータが
その識別子との対応のもとに別途格納されるログ部を設
け、しかもファイルのオープン時には、該オープンした
ユーザに対応して、書き込みの行われていないデータに
ついてはそのデータ格納部内での格納位置を示すポイン
タが、実際に書き込みの行われたデータについてはその
ログ部内での格納位置を示すポインタが、それぞれ該当
するデータの識別子との対応のもとに登録される新たな
テーブルが、これらテーブルとログ部との参照のもとに
都度構築されるようにしたことから、何れかのユーザが
同ファイルへの書き込みを行っていたとしても、他のユ
ーザに対しては、この新たに構築されるテーブルを通じ
て、同ファイル中のデータを読み出すことが常に保証さ
れる。
As explained above, according to the present invention, the pointer indicating the storage position of the data entity in the data storage section in the file is registered in the table in correspondence with the identifier of each data. In addition, a log section is provided in which the data actually written by the user among the above data entities is stored separately based on the correspondence with the identifier, and when a file is opened, the data is stored separately corresponding to the user who opened the file. For data that has not been written, a pointer indicating its storage position within the data storage section is used, and for data that has actually been written, a pointer indicating its storage position within the log section is used for the corresponding data. A new table that is registered based on the correspondence with the identifier of Even if you do so, other users are always guaranteed to be able to read data in the same file through this newly constructed table.

【0065】また、ファイルへの書き込みは、その必要
最小限のデータのみが上記ログ部に取り込まれ、このロ
グ部のみを通じて同データについての追加や修正等が行
われることから、時間的な浪費やスペース資源の浪費も
なく、効率的で信頼性の高い書き込み処理が実現される
[0065] Furthermore, when writing to a file, only the minimum necessary data is imported into the log section, and additions and modifications to the same data are performed only through this log section, so there is no wastage of time. Efficient and reliable write processing is achieved without wasting space resources.

【0066】このため、複数のユーザによって同時に同
一のファイルがアクセスされる場合でも、マルチユーザ
システムとしての同時実行度が低下することはなく、ま
たファイルの信頼性が損なわれることもなく、これらユ
ーザによる円滑なシステム運用が保証されるようになる
Therefore, even if the same file is accessed by multiple users at the same time, the degree of concurrency as a multi-user system will not decrease, and the reliability of the file will not be impaired. This will ensure smooth system operation.

【図面の簡単な説明】[Brief explanation of the drawing]

【図1】この発明にかかるファイル管理システムについ
てその一実施例構成を示すブロック図。
FIG. 1 is a block diagram showing the configuration of an embodiment of a file management system according to the present invention.

【図2】同実施例システムにおけるファイル内データの
参照メカニズムを模式的に示す略図。
FIG. 2 is a schematic diagram schematically showing a reference mechanism for data in a file in the system of the embodiment.

【図3】同実施例システムによるファイル管理メカニズ
ムを示すフローチャート。
FIG. 3 is a flowchart showing a file management mechanism by the system of the embodiment.

【図4】この発明にかかるファイル管理システムをサー
バ・クライアント方式のコンピュータシステムに適用し
た場合の構成の概略を示すブロック図。
FIG. 4 is a block diagram schematically showing a configuration when the file management system according to the present invention is applied to a server-client type computer system.

【図5】この発明にかかるファイル管理システムをホス
ト・端末方式のコンピュータシステムに適用した場合の
構成の概略を示すブロック図。
FIG. 5 is a block diagram schematically showing a configuration when the file management system according to the present invention is applied to a host/terminal type computer system.

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

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】複数のユーザによって共有されるファイル
のこれら複数のユーザによる同時のアクセスを排他制御
しつつ、そのファイル内データの読み出し及び書き込み
を統括管理するファイル管理システムにおいて、前記フ
ァイル内データとしての1乃至複数のデータが格納され
るデータ格納部と、前記1乃至複数のデータの前記デー
タ格納部内での格納位置を示すポインタがこれら各デー
タの識別子との対応のもとに登録される第1のテーブル
部と、前記ファイル内データのうちユーザによって実際
に書き込みの行われたデータがその識別子との対応のも
とに別途格納されるログ部と、当該ファイルのオープン
時に該オープンしたユーザに対応して都度構築されるテ
ーブルであって、前記第1のテーブル部と前記ログ部と
の参照のもとに、書き込みの行われていないデータにつ
いてはその前記データ格納部内での格納位置を示すポイ
ンタが、実際に書き込みの行われたデータについてはそ
の前記ログ部内での格納位置を示すポインタが、それぞ
れ該当するデータの識別子との対応のもとに登録される
第2のテーブル部と、あるユーザから当該ファイルにつ
いてのデータ読み出し要求があったとき、該ユーザに対
応して構築される前記第2のテーブル部の内容に基づき
、その読み出し要求されたデータの識別子に対応して登
録されているポインタにより示される格納位置のデータ
を読み込んでこれを同ユーザに表示する第1の制御手段
と、あるユーザから当該ファイルについてのデータ書き
込み要求があったとき、同ファイルに対して他のユーザ
による書き込みが行われていないことを条件にその要求
を許可し、その書き込まれたデータを同データの識別子
とともに前記ログ部に格納する第2の制御手段と、を具
えることを特徴とするファイル管理システム。
Claim 1: A file management system that exclusively controls simultaneous access to a file shared by a plurality of users and centrally manages reading and writing of data within the file, wherein the data within the file includes: A data storage section in which one or more of the data is stored, and a pointer indicating the storage position of the one or more data in the data storage section are registered in correspondence with the identifiers of each of these data. 1, a log section in which the data actually written by the user among the data in the file is stored separately based on the correspondence with the identifier, and a log section in which the data actually written by the user among the data in the file is separately stored, and A table that is constructed correspondingly each time, and indicates the storage position of data that has not been written in the data storage section based on reference to the first table section and the log section. a second table section in which a pointer indicating a storage position in the log section for data actually written is registered in correspondence with an identifier of the corresponding data; When a user makes a request to read data regarding the file, the data is registered in accordance with the identifier of the data requested to be read based on the contents of the second table section that is constructed corresponding to the user. A first control means reads data at a storage location indicated by a pointer and displays it to the same user; and when a user requests data writing for the file, another user writes data to the same file. a second control means that permits the request on the condition that the request is not made and stores the written data in the log section together with an identifier of the data. .
【請求項2】複数のユーザによって共有されるファイル
のこれら複数のユーザによる同時のアクセスを排他制御
しつつ、そのファイル内データの読み出し及び書き込み
を統括管理するファイル管理システムにおいて、前記フ
ァイル内データとしての1乃至複数のデータが格納され
るデータ格納部と、前記1乃至複数のデータの前記デー
タ格納部内での格納位置を示すポインタがこれら各デー
タの識別子との対応のもとに登録される第1のテーブル
部と、前記ファイル内データのうちユーザによって実際
に書き込みの行われたデータがその識別子との対応のも
とに別途格納されるログ部と、当該ファイルのオープン
時に該オープンしたユーザに対応して都度構築されるテ
ーブルであって、前記第1のテーブル部と前記ログ部と
の参照のもとに、書き込みの行われていないデータにつ
いてはその前記データ格納部内での格納位置を示すポイ
ンタが、実際に書き込みの行われたデータについてはそ
の前記ログ部内での格納位置を示すポインタが、それぞ
れ該当するデータの識別子との対応のもとに登録される
第2のテーブル部と、を具え、前記ログ部を通じてデー
タの書き込みが行われている間であれ、少なくとも前記
データ格納部に格納されているデータについては前記第
2のテーブルを通じてその読み出しが行われるようにし
たことを特徴とするファイル管理システム。
2. In a file management system that exclusively controls simultaneous access to a file shared by a plurality of users and centrally manages reading and writing of data within the file, the data within the file includes: A data storage section in which one or more of the data is stored, and a pointer indicating the storage position of the one or more data in the data storage section are registered in correspondence with the identifiers of each of these data. 1, a log section in which the data actually written by the user among the data in the file is stored separately based on the correspondence with the identifier, and a log section in which the data actually written by the user among the data in the file is separately stored, and A table that is constructed correspondingly each time, and indicates the storage position of data that has not been written in the data storage section based on reference to the first table section and the log section. a second table section in which a pointer indicating a storage position of actually written data in the log section is registered in correspondence with an identifier of the corresponding data; Even while data is being written through the log section, at least the data stored in the data storage section is read out through the second table. File management system.
JP3080146A 1991-04-12 1991-04-12 File managing system Pending JPH04315233A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3080146A JPH04315233A (en) 1991-04-12 1991-04-12 File managing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3080146A JPH04315233A (en) 1991-04-12 1991-04-12 File managing system

Publications (1)

Publication Number Publication Date
JPH04315233A true JPH04315233A (en) 1992-11-06

Family

ID=13710140

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3080146A Pending JPH04315233A (en) 1991-04-12 1991-04-12 File managing system

Country Status (1)

Country Link
JP (1) JPH04315233A (en)

Similar Documents

Publication Publication Date Title
Needham et al. The Cambridge CAP computer and its protection system
US6526441B2 (en) Input/output device information management system for multi-computer system
US5724578A (en) File managing system for managing files shared with a plurality of users
JPH0696077A (en) Shared processing system for data and processor for its data
JP3002242B2 (en) CAD system
US6212533B1 (en) Hyper-media document management system having navigation mechanism
JPH07244642A (en) Parallel processing computers
JPH04315233A (en) File managing system
JPH0850559A (en) File memory protector
JPS62264329A (en) Screen text editor processing system
US8275809B2 (en) Object processing system using an object model
JP3535413B2 (en) Data processing device, data processing system, data processing method, and recording medium
JPH06222916A (en) On-line real-time processor
JP2907277B2 (en) User interface system for supervisory control system
JPH041836A (en) Data base controller
JPH07192005A (en) Learning storage controller
JPH0337748A (en) External storage accessing system utilizing main storage
JP2990609B2 (en) Computer system
JPS63205741A (en) File managing method
JP3231120B2 (en) Drawing management system
JPH04101223A (en) Identifier controlling method in object system
JP2001209578A (en) Management system for memory update history
JPS62241047A (en) Shared control method for input/output buffer by data base control system
JPH05158892A (en) Data management system for distribution processing
JPH02227755A (en) File control system