JPH05143644A - Index part management system - Google Patents

Index part management system

Info

Publication number
JPH05143644A
JPH05143644A JP3326874A JP32687491A JPH05143644A JP H05143644 A JPH05143644 A JP H05143644A JP 3326874 A JP3326874 A JP 3326874A JP 32687491 A JP32687491 A JP 32687491A JP H05143644 A JPH05143644 A JP H05143644A
Authority
JP
Japan
Prior art keywords
index
record
block
key value
blocks
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
JP3326874A
Other languages
Japanese (ja)
Inventor
Hirobumi Komiyama
博文 小見山
Itomi Matsushima
いとみ 松嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
NEC Solution Innovators Ltd
Original Assignee
NEC Corp
NEC Solution Innovators 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 NEC Corp, NEC Solution Innovators Ltd filed Critical NEC Corp
Priority to JP3326874A priority Critical patent/JPH05143644A/en
Publication of JPH05143644A publication Critical patent/JPH05143644A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To shorten the wait time due to block exclusive control in circumstances of simultaneous execution of plural processes by increasing the processing speed for deletion of data records. CONSTITUTION:With respect, to a file 14 where one or more key items are provided in a data record and an index of a tree structure consisting of plural index blocks is provided for each key item, an index part non-changing means 12 of a file access control part 6 is controlled to not change key values of index records so that the change of the chain indicating order relations of index blocks is not spread to higher-order index blocks if this chain is changed by deletion of data records.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はファイルの索引部管理方
式に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a file index management system.

【0002】[0002]

【従来の技術】多数のデータレコードを保持するファイ
ルでは、データレコードの検索を容易にするため、デー
タレコード中の所定の項目をキー項目とし、そのキー値
をもとにして構成した木構造の索引を設けている。な
お、一般には、データレコード中に複数のキー項目を有
し、各キー項目について索引が設けられている。
2. Description of the Related Art In a file holding a large number of data records, a predetermined item in the data record is used as a key item in order to facilitate the retrieval of the data record, and a tree structure is formed based on the key value. Has an index. In general, a data record has a plurality of key items, and an index is provided for each key item.

【0003】図4は索引部格納領域17内に形成され
た、1つのキー項目に関する索引の例を示したものであ
る。なお、図4は発明の実施例の動作説明においても使
用する。
FIG. 4 shows an example of an index for one key item formed in the index storage area 17. Note that FIG. 4 is also used in the description of the operation of the embodiment of the invention.

【0004】図4において、B1〜B19は索引ブロッ
クであり、ここではそれぞれの索引ブロックB1〜B1
9に3個の索引レコードが格納可能となっている。な
お、索引レコード内の数字はキー値を示しており、キー
値が示されていない索引レコードは空きとなっているこ
とを示している。索引ブロックB1,B2,B4,B1
0におけるMINは最小値を示している。また、索引ブ
ロック内ではキー値の順に索引レコードが並んでいる。
In FIG. 4, B1 to B19 are index blocks, and here, the respective index blocks B1 to B1.
9 can store 3 index records. It should be noted that the numbers in the index record indicate the key value, and the index record for which the key value is not indicated is empty. Index blocks B1, B2, B4, B1
The MIN at 0 indicates the minimum value. Further, in the index block, index records are arranged in order of key value.

【0005】矢印を伴った細線は上下の索引ブロック間
のポインタを示しており、上位の索引ブロック内の各索
引レコードは下位の索引ブロックの先頭である最小値の
索引レコードをポイントするようになっている。なお、
索引ブロックB10〜B19は最下位の索引ブロックで
あり、これらの索引ブロックB10〜B19に含まれる
索引レコードは対応するキー値を持つデータレコードを
ポイントするようになっている。
A thin line with an arrow indicates a pointer between the upper and lower index blocks, and each index record in the upper index block points to the index record of the minimum value which is the head of the lower index block. ing. In addition,
The index blocks B10 to B19 are the lowest index blocks, and the index records contained in these index blocks B10 to B19 point to data records having corresponding key values.

【0006】今、例えば、キー値「310」のデータレ
コードにアクセスしたい場合には、先ず、最上位の索引
ブロックB1を参照し、目標となるキー値「310」と
同じかそれよりも小さく最も近いキー値を持つ索引レコ
ードとしてキー値「270」の索引レコードのポインタ
を辿り、索引ブロックB3を参照する。同様に、索引ブ
ロックB7,B14を参照し、キー値「310」の索引
レコードを参照し、そのポインタから所望のデータレコ
ードにアクセスする。
Now, for example, when it is desired to access the data record having the key value "310", first, the highest index block B1 is referred to, and the target key value "310" is the same or smaller than the target key value "310". The pointer of the index record having the key value “270” is traced as an index record having a close key value, and the index block B3 is referred to. Similarly, the index blocks B7 and B14 are referred to, the index record of the key value "310" is referred to, and a desired data record is accessed from the pointer.

【0007】また、データレコードの削除,追加,更新
が行われた場合には、その状態を索引に反映させるため
に索引の更新・再編成が行われる。
When a data record is deleted, added, or updated, the index is updated or reorganized to reflect the state in the index.

【0008】[0008]

【発明が解決しようとする課題】上述したように、従来
の索引を有したファイルでは、データレコードの削除等
が行われた場合、索引の更新・再編成がその都度に行わ
れていたが、これに起因して処理速度が遅くなり、個々
の処理の効率が悪いと共に、複数のプロセスが同時実行
する環境においては同一ファイルに対してアクセスしよ
うとする他のプロセスがブロック排他制御により長い時
間待たされるという不都合があった。
As described above, in the conventional file having the index, when the data record is deleted, the index is updated / reorganized each time. Due to this, the processing speed becomes slow, the efficiency of individual processing is inferior, and in an environment where multiple processes are executing simultaneously, other processes trying to access the same file wait for a long time due to block exclusive control. There was an inconvenience that

【0009】すなわち、あるデータレコードを削除した
場合に、そのデータレコードに対応する索引レコードが
索引ブロック内の最小値であった場合、その上位の索引
ブロックの索引レコードにも影響が及ぶことになり、更
にその索引レコードが索引ブロック内の最小値であった
場合には更に上位へと伝染して行く。そして、一般に索
引部はデータ部とともにアクセス速度の遅い補助記憶装
置上に設けられているため、その入出力回数が増えるこ
とにより処理速度が大幅に増大することになる。
That is, when a data record is deleted and the index record corresponding to the data record has the minimum value in the index block, the index record of the upper index block is also affected. Further, if the index record is the minimum value in the index block, it is transmitted to a higher rank. Since the index unit is generally provided together with the data unit on the auxiliary storage device having a slow access speed, the processing speed increases significantly due to the increase in the number of input / output times.

【0010】例えば、図4において、キー値「270」
のデータレコードを削除した場合、索引ブロックB1
3,B7,B3,B1と、最下位から最上位までの索引
ブロックに更新を行う必要が出てくる。このような状況
は、大量のデータレコードをキー値の小さい順に削除し
た場合等には繰り返し生ずることとなり、索引部管理の
ために要する処理時間は無視できなくなる。
For example, in FIG. 4, the key value "270"
Index block B1 when the data record of
It becomes necessary to update the index blocks from the lowest rank to the highest rank, such as 3, B7, B3, B1. Such a situation repeatedly occurs when a large number of data records are deleted in ascending order of the key value, and the processing time required for index part management cannot be ignored.

【0011】また、ファイル内のデータレコードの件数
が多い場合や、キー値があまり重複しないような場合に
は、索引ブロックが多段となり、入出力回数の増大によ
って処理時間は更に増大することとなる。
Further, when the number of data records in the file is large or when the key values do not overlap so much, the index block becomes multistage and the processing time further increases due to the increase in the number of input / output. ..

【0012】本発明は上記の点に鑑み提案されたもので
あり、その目的とするところは、データレコードの削除
時に索引部の更新をできるだけ行わないようにすること
により、処理速度の向上を図ることのできる索引部管理
方式を提供することにある。
The present invention has been proposed in view of the above points, and an object of the present invention is to improve the processing speed by not updating the index part as much as possible when deleting a data record. It is to provide an index part management method that can do this.

【0013】[0013]

【課題を解決するための手段】本発明は上記の目的を達
成するため、データレコード中に1つ以上のキー項目を
有し、各キー項目について複数の索引ブロックから構成
される木構造の索引が設けられたファイルにおける索引
部管理方式において、データレコードの削除により索引
ブロックの上下関係を示すチェインに変更が生じる場合
に、チェインの変更が上位の索引ブロックに伝染しない
ように索引レコードのキー値の変更を行わないように制
御する索引部無変更手段を備えるようにしている。
In order to achieve the above object, the present invention has a tree structure index having one or more key items in a data record, each index item having a plurality of index blocks. In the index management method for files with files, if the deletion of data records causes a change in the chain that indicates the vertical relationship of index blocks, the key value of the index record will be prevented so that the chain change will not be transmitted to the upper index blocks. The indexing section non-changing means for controlling so as not to change is provided.

【0014】[0014]

【作用】本発明の索引部管理方式にあっては、データレ
コード中に1つ以上のキー項目を有し、各キー項目につ
いて複数の索引ブロックから構成される木構造の索引が
設けられたファイルにおいて、データレコードの削除に
より索引ブロックの上下関係を示すチェインに変更が生
じる場合に、チェインの変更が上位の索引ブロックに伝
染しないように索引部無変更手段が索引レコードのキー
値の変更を行わないように制御する。
According to the index management system of the present invention, a file having one or more key items in a data record and having a tree-structured index composed of a plurality of index blocks for each key item is provided. In the above, when the data record deletion causes a change in the chain that indicates the vertical relationship of the index blocks, the index part no change means changes the key value of the index record so that the change in the chain is not transmitted to the upper index blocks. Control not to.

【0015】[0015]

【実施例】以下、本発明の実施例につき図面を参照して
説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0016】図1は本発明の索引部管理方式の一実施例
を示す構成図である。
FIG. 1 is a block diagram showing an embodiment of the index management system of the present invention.

【0017】図1において、本実施例の機能部は主記憶
装置1上のプロセスとして実現されるファイルアクセス
制御部6内のデータ部更新手段7と索引部更新手段8と
索引部検索手段9と比較検索手段10と索引部再編成手
段11と索引部無変更手段12とである。
In FIG. 1, the functional units of this embodiment are a data unit updating unit 7, an index unit updating unit 8 and an index unit searching unit 9 in a file access control unit 6 realized as a process on the main memory 1. They are a comparison search means 10, an index part reorganization means 11, and an index part no-change means 12.

【0018】また、補助記憶装置13にはファイル14
が格納され、ファイル14内にはデータ部15と索引部
16とが設けられている。
A file 14 is stored in the auxiliary storage device 13.
Is stored, and a data section 15 and an index section 16 are provided in the file 14.

【0019】そして、ファイルアクセス制御部6はプロ
セス2〜5からなされるデータレコードの読込要求,追
加要求,削除要求,書換要求に応じてファイル14のデ
ータ部15および索引部16に対して所定の処理を行
う。
Then, the file access control section 6 makes a predetermined request to the data section 15 and the index section 16 of the file 14 in response to a data record read request, an add request, a delete request, or a rewrite request made from the processes 2 to 5. Perform processing.

【0020】図2はファイル14のデータ部15および
索引部16の構成を示したものであり、データ部15に
は複数のデータレコードRが格納され、データレコード
R内のいくつかの項目は索引のためのキー項目として指
定されている。
FIG. 2 shows the structure of the data part 15 and the index part 16 of the file 14. The data part 15 stores a plurality of data records R, and some items in the data record R are indexes. Is specified as a key item for.

【0021】また、索引部16はキー項目毎に索引部格
納領域17が設けられ、それぞれの索引部格納領域17
では複数の索引ブロックBの木構造による索引が形成さ
れている。
The index section 16 is provided with an index section storage area 17 for each key item, and each index section storage area 17 is provided.
In, an index having a tree structure of a plurality of index blocks B is formed.

【0022】以下、上記の実施例の動作につき、場合を
分けて説明する。
The operation of the above embodiment will be described below in different cases.

【0023】(1)データレコードの削除時 図1において、データレコードの削除はプロセス4から
の削除要求に応じてファイルアクセス制御部6のデータ
部更新手段7が行い、データ部15の変更に索引部16
の内容を合わせるために、索引部更新手段8が索引部検
索手段9,比較検索手段10,索引部再編成手段11,
索引部無変更手段12を適宜に用いて索引の更新・再編
成を行う。以下では、索引部16の索引部格納領域17
内の状態の変化を中心に処理を具体的に説明する。
(1) At the time of deleting a data record In FIG. 1, the data record is deleted by the data part updating means 7 of the file access control part 6 in response to a deletion request from the process 4, and the change of the data part 15 is indexed. Part 16
In order to match the contents of the index part updating means 8, the index part updating means 8, the index part searching means 9, the comparison searching means 10, the index part reorganizing means 11,
The index part unchanging means 12 is appropriately used to update / reorganize the index. Below, the index part storage area 17 of the index part 16
The processing will be specifically described by focusing on the change of the internal state.

【0024】先ず、ある時点の索引部格納領域17内の
索引の状態が図4のようであったとする。
First, assume that the state of the index in the index storage area 17 at a certain point of time is as shown in FIG.

【0025】図4において、B1〜B19は索引ブロッ
クであり、ここではそれぞれの索引ブロックB1〜B1
9に3個の索引レコードが格納可能となっている。な
お、索引レコード内の数字はキー値を示しており、キー
値が示されていない索引レコードは空きとなっているこ
とを示している。索引ブロックB1,B2,B4,B1
0におけるMINは最小値を示している。また、索引ブ
ロック内ではキー値の順に索引レコードが並んでいる。
In FIG. 4, B1 to B19 are index blocks, and here, respective index blocks B1 to B1.
9 can store 3 index records. It should be noted that the numbers in the index record indicate the key value, and the index record for which the key value is not indicated is empty. Index blocks B1, B2, B4, B1
The MIN at 0 indicates the minimum value. In addition, index records are arranged in the order of key values in the index block.

【0026】矢印を伴った細線は上下の索引ブロック間
のポインタを示しており、上位の索引ブロック内の各索
引レコードは下位の索引ブロックの先頭である最小値の
索引レコードをポイントするようになっている。なお、
索引ブロックB10〜B19は最下位の索引ブロックで
あり、これらの索引ブロックB10〜B19に含まれる
索引レコードは対応するキー値を持つデータレコードを
ポイントするようになっている。
A thin line with an arrow indicates a pointer between the upper and lower index blocks, and each index record in the upper index block points to the smallest index record at the head of the lower index block. ing. In addition,
The index blocks B10 to B19 are the lowest index blocks, and the index records contained in these index blocks B10 to B19 point to data records having corresponding key values.

【0027】今、図4の状態において、索引ブロックB
13のキー値「270」に対応するデータレコード(図
示せず)が削除されたとすると、索引ブロックB13の
キー値「270」の索引レコードを削除もしくは無効化
する。これにより、索引ブロックB13の実質的な最小
キー値は「280」に変わる。
Now, in the state of FIG. 4, the index block B
If the data record (not shown) corresponding to the key value “270” of No. 13 is deleted, the index record of the key value “270” of the index block B13 is deleted or invalidated. As a result, the substantial minimum key value of the index block B13 changes to "280".

【0028】従来であれば、索引ブロックB13の最小
キー値が変わったことにより、上位の索引ブロックB7
のキー値「270」の索引レコードのキー値にも更新が
行われたが、本発明にあっては、上位の索引ブロックに
更新が連鎖しないように、上位の索引ブロックB7の最
小キー値「270」の索引レコードに更新は行わない。
この制御は索引部無変更手段12が行う。
Conventionally, since the minimum key value of the index block B13 has changed, the higher index block B7
Although the key value of the index record of the key value "270" of the above is also updated, in the present invention, the minimum key value of the upper index block B7 is set so that the update is not chained to the upper index block. The index record of "270" is not updated.
This control is performed by the index section non-changing means 12.

【0029】次いで、索引ブロックB13のキー値「2
80」に対応するデータレコードが削除されたとする
と、索引ブロックB13のキー値「280」の索引レコ
ードの削除だけを行う。
Then, the key value "2" of the index block B13
If the data record corresponding to "80" is deleted, only the index record having the key value "280" of the index block B13 is deleted.

【0030】次いで、索引ブロックB13のキー値「2
90」に対応するデータレコードが削除されたとする
と、索引ブロックB13のキー値「290」の索引レコ
ードの削除を行う。これにより索引ブロックB13は有
効な索引レコードが存在しなくなるので、索引ブロック
B13自体を削除する。この場合も上位の索引ブロック
B7の最小キー値「270」は変更しない。
Then, the key value "2" of the index block B13
If the data record corresponding to "90" is deleted, the index record of the key value "290" of the index block B13 is deleted. As a result, the index block B13 has no valid index record, and the index block B13 itself is deleted. Also in this case, the minimum key value "270" of the upper index block B7 is not changed.

【0031】ただし、このままでは索引ブロックB7の
キー値「270」の索引レコードのポインタが不都合を
きたすので、続く索引ブロックB14をポイントするよ
うにポインタを変更し、それまで索引ブロックB14を
ポイントしていた索引ブロックB7のキー値「300」
の索引レコードを削除する。
However, if this condition is left as it is, the pointer of the index record of the key value "270" of the index block B7 causes inconvenience. Therefore, the pointer is changed so as to point to the subsequent index block B14, and the index block B14 is pointed until then. Index block B7 key value "300"
Delete the index record of.

【0032】次いで、索引ブロックB14のキー値「3
00」,「310」,「320」に対応するデータレコ
ードが削除されたとすると、上述したのと同様の処理と
なるが、索引ブロックB14自体の削除により索引ブロ
ックB7でポイントするものがなくなるので、索引ブロ
ックB7自体も削除する。また、索引ブロックB7の削
除に伴い、索引ブロックB3についてもポインタの変更
および索引レコードの削除を行う。
Next, the key value "3" of the index block B14
If the data records corresponding to "00", "310", and "320" are deleted, the processing is the same as that described above, but since the index block B14 itself is deleted, there is nothing to point to in the index block B7. The index block B7 itself is also deleted. Further, along with the deletion of the index block B7, the pointer of the index block B3 is changed and the index record is deleted.

【0033】この状態を示したのが図5である。網かけ
で示した索引ブロックB7,B13,B14および索引
ブロックB3の索引レコードは削除されたことを示して
いる。
FIG. 5 shows this state. The hatched index blocks B7, B13, B14 and the index record of the index block B3 indicate that they have been deleted.

【0034】(2)データレコードの追加時 図1において、データレコードの追加はプロセス3から
の追加要求に応じてファイルアクセス制御部6のデータ
部更新手段7が行い、データ部15の変更に索引部16
の内容を合わせるために、索引部更新手段8が索引部検
索手段9,比較検索手段10,索引部再編成手段11を
適宜に用いて索引の更新・再編成を行う。以下では、索
引部16の索引部格納領域17内の状態の変化を中心に
処理を説明する。
(2) At the time of adding a data record In FIG. 1, the addition of a data record is performed by the data section updating means 7 of the file access control section 6 in response to an addition request from the process 3, and the change of the data section 15 is indexed. Part 16
In order to match the contents of the above, the index part updating means 8 appropriately updates and reorganizes the index by using the index part searching means 9, the comparison searching means 10, and the index part reorganizing means 11. Hereinafter, the processing will be described focusing on the change in the state in the index storage area 17 of the index unit 16.

【0035】先ず、ある時点の索引部格納領域17内の
索引の状態が図5のようであったとする。
First, assume that the state of the index in the index storage area 17 at a certain point of time is as shown in FIG.

【0036】今、例えば、キー値「355」のデータレ
コードが追加されたとすると、対応する新たな索引レコ
ードを追加する必要があるが、索引ブロックB15には
空き領域がないため、索引ブロックの分割処理を行う。
Now, for example, if a data record with the key value "355" is added, it is necessary to add a corresponding new index record, but since there is no free area in the index block B15, the index block is divided. Perform processing.

【0037】図3は索引ブロックの分割処理のフローチ
ャートを示したものであり、上記の例につき、図3を参
照して説明する。
FIG. 3 shows a flow chart of the index block division processing. The above example will be described with reference to FIG.

【0038】先ず、分割点を求め、索引ブロックを分割
する(ステップS1)。今の例では、索引ブロックB1
5のキー値「360」の索引レコードとキー値「37
0」の索引レコードとの間で分割するものとし、新たに
生成した索引ブロックB20(図6参照)にキー値「3
60」の索引レコードを移し、分割前の索引ブロックB
15にキー値「370」,「380」の索引レコードを
残す。なお、この時点では新たに生成した索引ブロック
B20へ新たなデータレコードに対応する索引レコード
の追加は行わず、分割処理が完了した後に行う。
First, the division point is obtained and the index block is divided (step S1). In this example, index block B1
The index record of the key value "360" of 5 and the key value of "37"
It is assumed that the data is divided into the index record of "0" and the key value "3
The index record of "60" is moved to the index block B before the division.
Index records of key values “370” and “380” are left in 15. At this point, the index record corresponding to the new data record is not added to the newly generated index block B20, but is added after the division process is completed.

【0039】次いで、分割前の索引ブロックの上位の索
引ブロックの自己をポイントする索引レコードを求める
(ステップS2)。今の例では、索引ブロックB8のキ
ー値「360」の索引レコードを特定する。
Next, an index record pointing to itself of the index block above the index block before division is obtained (step S2). In the present example, the index record of the key value "360" of the index block B8 is specified.

【0040】次いで、分割前の索引ブロックの上位の索
引レコードがブロック内最小値であるか否かを判断する
(ステップS3)。今の例では、索引ブロックB8のキ
ー値「360」の索引レコードはブロック内最小値であ
ると判断する。
Next, it is judged whether or not the upper index record of the index block before division is the minimum value in the block (step S3). In the present example, it is determined that the index record of the key value "360" of the index block B8 is the minimum value in the block.

【0041】次いで、ブロック内最小値であると判断し
た場合には、上位の索引レコードのキー値と、分割前の
索引ブロックのその時点での最小値との大小を比較判断
する(ステップS4)。今の例では、キー値「360」
とキー値「370」とを比較することになり、上位の索
引レコードの側が小さいと判断する。
Next, when it is determined that the value is the minimum value in the block, the key value of the upper index record is compared with the minimum value of the index block before the division at that time (step S4). .. In this example, the key value is "360"
And the key value “370” are compared, and it is determined that the upper index record side is smaller.

【0042】次いで、上位の索引レコードの側が小さい
と判断した場合には、上位の索引レコードのキー値を分
割前の索引ブロックのその時点での最小値に変更する
(ステップS5)。今の例では、索引ブロックB8のキ
ー値「360」を「370」に変更する。
Next, when it is judged that the upper index record side is smaller, the key value of the upper index record is changed to the minimum value at that time of the index block before division (step S5). In the present example, the key value “360” of the index block B8 is changed to “370”.

【0043】次いで、上位の索引ブロックに、分割後の
新たな索引ブロックをポイントする索引レコードを追加
する(ステップS6)。今の例では、索引ブロックB8
の先頭に索引ブロックB20をポイントするキー値「3
60」の索引レコードを追加する。
Then, an index record pointing to the new index block after division is added to the upper index block (step S6). In this example, index block B8
Key value "3" that points to index block B20 at the beginning of the
60 ”index record is added.

【0044】その後、分割後の新たな索引ブロックB2
0に、追加したデータレコードのキー値「355」を追
加する。
Then, a new index block B2 after division
The key value “355” of the added data record is added to 0.

【0045】この状態を示したのが図6である。FIG. 6 shows this state.

【0046】なお、図3において、ステップS3,S4
において終了の側に分岐した場合は、通常の追加処理と
同様になり、分割前の索引ブロックの上位の索引レコー
ドについて変更は行われず、新たに生成した索引ブロッ
クをポイントする索引レコードが追加されることにな
る。
In FIG. 3, steps S3 and S4 are performed.
When branching to the end side in, the processing is the same as normal addition processing, the upper index record of the index block before division is not changed, and the index record pointing to the newly generated index block is added. It will be.

【0047】(3)データレコードの検索時 図1において、データレコードの検索はプロセス2から
の読込要求等(追加,削除,書換等においても検索が必
要となる。)に応じてファイルアクセス制御部6の索引
部検索手段9,比較検索手段10が行う。以下では、索
引部16の索引部格納領域17内の状態の変化を中心に
処理を説明する。
(3) At the time of retrieving a data record In FIG. 1, the data record is retrieved in response to a read request from the process 2 (a search is required for addition, deletion, rewriting, etc.). The index section search means 9 and the comparison search means 10 of FIG. Hereinafter, the processing will be described focusing on the change in the state in the index storage area 17 of the index unit 16.

【0048】先ず、ある時点の索引部格納領域17内の
索引の状態が図6のようであったとする。
First, assume that the state of the index in the index storage area 17 at a certain point of time is as shown in FIG.

【0049】今、例えば、キー値「355」のデータレ
コードを取得するために索引を検索する場合、最上位の
索引ブロックB1から索引ブロックB3,B8と辿って
行くが、索引ブロックB8の最小値は「360」であっ
て目標とするキー値「355」より大きいものであるた
め、原則通りの検索では行き止まってしまうことにな
る。
Now, for example, when searching the index to obtain the data record of the key value "355", the highest index block B1 is followed by the index blocks B3 and B8, but the minimum value of the index block B8. Is "360", which is larger than the target key value "355", so that a search according to the principle causes a dead end.

【0050】従って、この場合は行き止まった時点で判
断対象となったカレントの索引レコードを辿るようにす
る。より一般的に言えば、 原則的な検索ルールでは目標とするキー値の索引レコ
ードが見つからない カレントの索引レコードが索引ブロック内の最小値で
ある カレントの索引レコードのキー値が目標とするキー値
よりも大きい の3条件が満たされた場合には、カレントの索引レコー
ドを辿るようにする。
Therefore, in this case, the current index record which is the object of judgment at the time of the dead end is traced. More generally speaking, the principle search rule does not find the index record with the target key value The current index record is the smallest value in the index block The key value of the current index record is the target key value If the three conditions that are larger than are satisfied, the current index record is traced.

【0051】図6の例では、索引ブロックB8のキー値
「360」の索引レコードがカレントの索引レコードと
なるため、これを辿って索引ブロックB20を参照する
ことにより、キー値「355」の索引レコードを発見す
ることができ、そのポインタからデータレコードにアク
セスすることが可能となる。
In the example of FIG. 6, since the index record of the key value "360" of the index block B8 becomes the current index record, the index block B20 is traced to refer to the index record of the key value "355". The record can be found and the data record can be accessed from the pointer.

【0052】[0052]

【発明の効果】以上説明したように、本発明の索引部管
理方式にあっては、次のような効果がある。
As described above, the index part management system of the present invention has the following effects.

【0053】データレコードが削除されたことによ
り、従来であれば上位の索引ブロックまで更新すべき場
合が生じていたものが、できるだけ上位に伝染しないよ
うに、索引レコードのキー値の変更を行わないように制
御されるため、補助記憶装置上の索引部との入出力の回
数が大幅に減少でき、処理に要する時間を短縮すること
ができる。
The deletion of the data record causes the upper index block to be updated in the conventional case, but the key value of the index record is not changed so as not to spread to the upper position as much as possible. Since it is controlled as described above, the number of times of input / output with the index unit on the auxiliary storage device can be significantly reduced, and the time required for processing can be shortened.

【0054】複数のプロセスが同時実行される環境で
は、同一ファイルに対するアクセスがブロック排他制御
により待たされる場合が減少し、システムの効率を高め
ることができる。
In an environment in which a plurality of processes are simultaneously executed, it is possible to increase the efficiency of the system by reducing the number of cases where the access to the same file is made to wait by block exclusive control.

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

【図1】本発明の索引部管理方式の一実施例を示す構成
図である。
FIG. 1 is a configuration diagram showing an embodiment of an index management system of the present invention.

【図2】図1における補助記憶装置内の詳細図である。FIG. 2 is a detailed view of the inside of the auxiliary storage device in FIG.

【図3】索引ブロックの分割処理を示すフローチャート
である。
FIG. 3 is a flowchart showing an index block dividing process.

【図4】索引ブロックにより構成される索引の例を示す
図である。
FIG. 4 is a diagram showing an example of an index composed of index blocks.

【図5】索引ブロックにより構成される索引の例を示す
図である。
FIG. 5 is a diagram showing an example of an index composed of index blocks.

【図6】索引ブロックにより構成される索引の例を示す
図である。
FIG. 6 is a diagram showing an example of an index composed of index blocks.

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

1……………………主記憶装置 2〜5………………プロセス 6……………………ファイルアクセス制御部 7……………………データ部更新手段 8……………………索引部更新手段 9……………………索引部検索手段 10…………………比較検索手段 11…………………索引部再編成手段 12…………………索引部無変更手段 13…………………補助記憶装置 14…………………ファイル 15…………………データ部 16…………………索引部 17…………………索引部格納領域 R……………………データレコード B,B1〜B20…索引ブロック 1 ………………………… Main memory 2-5 ……………… Process 6 …………………… File access controller 7 …………………… Data updater 8 ... ……………… Index section update means 9 …………………… Index section search means 10 ………………… Comparison search means 11 ………………… Index section reorganization means 12…. ……………… Index section unchangeable means 13 …………………… Auxiliary storage device 14 …………………… File 15 ………………… Data section 16 …………………… Index Part 17 …………………… Index storage area R …………………… Data record B, B1 to B20… Index block

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 データレコード中に1つ以上のキー項目
を有し、各キー項目について複数の索引ブロックから構
成される木構造の索引が設けられたファイルにおける索
引部管理方式において、 データレコードの削除により索引ブロックの上下関係を
示すチェインに変更が生じる場合に、チェインの変更が
上位の索引ブロックに伝染しないように索引レコードの
キー値の変更を行わないように制御する索引部無変更手
段を備えたことを特徴とする索引部管理方式。
1. An index management method for a file having one or more key items in a data record, wherein each key item is provided with a tree-structured index composed of a plurality of index blocks. When a chain that indicates the hierarchical relationship of index blocks changes due to deletion, a non-change part of the index part that controls not to change the key value of the index record so that the change of the chain is not transmitted to the upper index block. Index part management method characterized by having.
JP3326874A 1991-11-15 1991-11-15 Index part management system Pending JPH05143644A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3326874A JPH05143644A (en) 1991-11-15 1991-11-15 Index part management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3326874A JPH05143644A (en) 1991-11-15 1991-11-15 Index part management system

Publications (1)

Publication Number Publication Date
JPH05143644A true JPH05143644A (en) 1993-06-11

Family

ID=18192701

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3326874A Pending JPH05143644A (en) 1991-11-15 1991-11-15 Index part management system

Country Status (1)

Country Link
JP (1) JPH05143644A (en)

Similar Documents

Publication Publication Date Title
CN1020014C (en) Method of rapidly opening disk files identified by path names
US4476528A (en) Method and apparatus for controlling a data access in a data base management system
KR100398753B1 (en) Transaction processing system using efficient file update processing and recovery processing
US6049804A (en) Method and apparatus for segmenting a database
CN105975587B (en) A kind of high performance memory database index organization and access method
JPH0675265B2 (en) Information retrieval method and system
US6745198B1 (en) Parallel spatial join index
US8682872B2 (en) Index page split avoidance with mass insert processing
JPH10260876A (en) Data structure of database, and data processing method for database
CN118535578A (en) Hash and LSM Tree-based hybrid index method and key value storage system
CN116881243A (en) Learning type indexing method and system based on time sequence data characteristics
JPH05143644A (en) Index part management system
JPH09305622A (en) Method and system for managing data base having document retrieval function
JP2675958B2 (en) Information retrieval computer system and method of operating storage device thereof
JPH08255103A (en) Method and device for file management
EA005269B1 (en) Organising data in a database
CN109885579B (en) Hierarchical counting-based Datalog parallel increment maintaining method
CN113779024B (en) Asynchronous parallel optimization method for key value storage system under near data processing architecture
JPS62287350A (en) Index integrally updating system
Deppisch et al. Managing complex objects in the Darmstadt database kernel system
CN117573634A (en) Key value storage method based on multi-log structure merging tree
JPH0456344B2 (en)
JPH0225946A (en) File controller
JPH0449132B2 (en)
JPH04199338A (en) Data base management system