JPS62179026A - ソ−トブロツク先読み方式 - Google Patents
ソ−トブロツク先読み方式Info
- Publication number
- JPS62179026A JPS62179026A JP2100386A JP2100386A JPS62179026A JP S62179026 A JPS62179026 A JP S62179026A JP 2100386 A JP2100386 A JP 2100386A JP 2100386 A JP2100386 A JP 2100386A JP S62179026 A JPS62179026 A JP S62179026A
- Authority
- JP
- Japan
- Prior art keywords
- block
- processing means
- string
- input
- buffer
- 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
Links
- 238000012545 processing Methods 0.000 claims abstract description 76
- 238000000034 method Methods 0.000 claims description 35
- 239000000872 buffer Substances 0.000 abstract description 57
- 238000012163 sequencing technique Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は、電子計算機において補助記憶装置を用いて行
われるソート処理に関し、特にソートプログラムの補助
記憶装置に対する入力に関する。
われるソート処理に関し、特にソートプログラムの補助
記憶装置に対する入力に関する。
(従来の技術)
従来、補助記憶装置上用いてソート処理を行うソートプ
ログラムにおいては、補助記憶tt置から複数のス)
IJタング読込んで併合処理上行つ場合、ストリングの
ブロックを読込むための記憶部をブロック単位に配置さ
れた入力バッファに分割した後、分割によって設定した
バッファの数と、補助記憶装置の内部のストリング数と
tもとに1各バツフアtそれぞれ単位ストリングに割当
てるlバッファ方式、あるいは2個のバッファtそれぞ
れ単位ストリングに割当てる2バッファ方式かのいずれ
かの方式を選択してい次。
ログラムにおいては、補助記憶tt置から複数のス)
IJタング読込んで併合処理上行つ場合、ストリングの
ブロックを読込むための記憶部をブロック単位に配置さ
れた入力バッファに分割した後、分割によって設定した
バッファの数と、補助記憶装置の内部のストリング数と
tもとに1各バツフアtそれぞれ単位ストリングに割当
てるlバッファ方式、あるいは2個のバッファtそれぞ
れ単位ストリングに割当てる2バッファ方式かのいずれ
かの方式を選択してい次。
(発明が解決しようとする問題点ン
前述した2つの方式では1バッファ方式の場合、1回の
併合処理で併合することのできるストリング数は多くな
るが、入力バッファへのブロック入力要求を発行してか
ら入力が完了するまでの間、処理を中断しなければなら
ず、ノート実行処理効率を低下させる要因となっている
。
併合処理で併合することのできるストリング数は多くな
るが、入力バッファへのブロック入力要求を発行してか
ら入力が完了するまでの間、処理を中断しなければなら
ず、ノート実行処理効率を低下させる要因となっている
。
2バッファ方式の場合、入力バッファへのブロック入力
完了待ちによる処理中断は存在しないが、併合するスト
リング1個につき2個の入力バッファ全使用するため、
ソートに使用できるメモリ容量の制限から1回の併合処
理で併合することのできるストリング数が少なくなり、
併合処理の回数が多くなるという欠点がある。
完了待ちによる処理中断は存在しないが、併合するスト
リング1個につき2個の入力バッファ全使用するため、
ソートに使用できるメモリ容量の制限から1回の併合処
理で併合することのできるストリング数が少なくなり、
併合処理の回数が多くなるという欠点がある。
本発明の目的は、補助記憶襞tを用いてソート処理を行
うソートプログラムにおいて、補助記1.i!装置から
複数のストリングを読込み併合処理に際して併合するス
トリングの個数と同数の入力バッファと、1個の予備バ
ッファとを使用してストリングのブロック先読みを行う
ことにより、上記欠点を除去し、ソート処理効率を向上
できるように構成したソートブロック先読み方式全提供
することにある。
うソートプログラムにおいて、補助記1.i!装置から
複数のストリングを読込み併合処理に際して併合するス
トリングの個数と同数の入力バッファと、1個の予備バ
ッファとを使用してストリングのブロック先読みを行う
ことにより、上記欠点を除去し、ソート処理効率を向上
できるように構成したソートブロック先読み方式全提供
することにある。
(問題点を解決するための手段)
本発明によるソートブロック先読み方式は補助記憶装置
と、記憶部と、入力処理手段と、併合処理手段と、先読
み制御処理手段と全具備して構成し念ものである。
と、記憶部と、入力処理手段と、併合処理手段と、先読
み制御処理手段と全具備して構成し念ものである。
補助記憶装置はレコード會ソートするソート処理で、中
間結果として得られた複数個のストリングを格納するた
めのものである。
間結果として得られた複数個のストリングを格納するた
めのものである。
記憶部は、ストリングの併合処理を行う友め複数個のブ
ロックより成るストリングのレコード會ブロック単位に
記憶しておくためのものである。
ロックより成るストリングのレコード會ブロック単位に
記憶しておくためのものである。
入力処理手段は、補助記憶装置から記憶部へストリング
をブロック単位で読込む几めのものである。
をブロック単位で読込む几めのものである。
併合処理手段は、記憶部の内部のブロックからレコード
を取出して併合処理手段うためのものである。
を取出して併合処理手段うためのものである。
先読み制御処理手段は、ストリングのブロック先読みを
制御する念めのものである。
制御する念めのものである。
(実施 例)
次に、本発明について図面を参照して詳細に説明する。
第1図は、本発明によるソートブロック先読み方式を実
現する友めの一実施例を示すブロック図である。第4図
において、1はソート処理の中間結果であるストリング
全格納しておくための補助記憶装置、2は補助記憶装置
llからストリングをブロック単位で読込む念めの入力
処理手段である。3はストリングを併合する友めにスト
リングのレコード會ブロック単位で格納する念めの記憶
部であり、本実施例では4個のブロックを格納できる大
きさ會もっている。
現する友めの一実施例を示すブロック図である。第4図
において、1はソート処理の中間結果であるストリング
全格納しておくための補助記憶装置、2は補助記憶装置
llからストリングをブロック単位で読込む念めの入力
処理手段である。3はストリングを併合する友めにスト
リングのレコード會ブロック単位で格納する念めの記憶
部であり、本実施例では4個のブロックを格納できる大
きさ會もっている。
4.5.6はそれぞれ、記憶部3を分割して設定し友人
カバツファであり、本実施例では3個の入カバツファケ
設定している。7i11.予備バッファ、8はストリン
グ1個合するための併合処理手段、9はストリングのブ
ロック先読みを行うための先読み制御処理手段である。
カバツファであり、本実施例では3個の入カバツファケ
設定している。7i11.予備バッファ、8はストリン
グ1個合するための併合処理手段、9はストリングのブ
ロック先読みを行うための先読み制御処理手段である。
10 、11.12゜13はそれぞれストリングである
。
。
主ソートプログラムの最初の処理の結果、補助記憶装置
1に順序付けられ几レコードを含む複数のブロックから
成る複数個のストリング10゜11 、12.13が格
納される。主ソートプログラムは全レコードをストリン
グとして補助記憶装置lに格納した後、併合処理手段8
に制a1に渡してストリングの併合処理を行わせる。第
1図は、主ソートプログラムの最初の処理後の、併合処
理時における構成を説明したブロック図である。
1に順序付けられ几レコードを含む複数のブロックから
成る複数個のストリング10゜11 、12.13が格
納される。主ソートプログラムは全レコードをストリン
グとして補助記憶装置lに格納した後、併合処理手段8
に制a1に渡してストリングの併合処理を行わせる。第
1図は、主ソートプログラムの最初の処理後の、併合処
理時における構成を説明したブロック図である。
まず、併合処理手段8は併合処理に先立って先読み制御
処理手段9に制御を渡し、ストリングのブロックと同一
の大きさに記憶部3を分割し、複数の入力バッファと、
1個の予備バッファとを設定せしめる。
処理手段9に制御を渡し、ストリングのブロックと同一
の大きさに記憶部3を分割し、複数の入力バッファと、
1個の予備バッファとを設定せしめる。
次に、併合処理手段8は各併合処理の最初に、再び先読
み制御処理手段9に制?B1’に渡す。先読み制御処理
手段9は、入力処理手段2を用いて補助記憶装[1から
各ストリングの先頭ブロックを人力バッファへ読込ませ
た後、各入カバッファに読込んだブロックのなかの最後
のレコードを取出してソートキイ全比較し、ソートキイ
に従って順序付は全行う。併合処理の結果、最も早くブ
ロック内の全レコードを併合し終るブロックが、上記順
序付けによって判定される。
み制御処理手段9に制?B1’に渡す。先読み制御処理
手段9は、入力処理手段2を用いて補助記憶装[1から
各ストリングの先頭ブロックを人力バッファへ読込ませ
た後、各入カバッファに読込んだブロックのなかの最後
のレコードを取出してソートキイ全比較し、ソートキイ
に従って順序付は全行う。併合処理の結果、最も早くブ
ロック内の全レコードを併合し終るブロックが、上記順
序付けによって判定される。
その後、先読み制御処理手段9は、最も早く併合処理を
完了するブロックが属するストリングから予備バッファ
7へ、次のブロックを入力処理手段2を用いて読込み、
併合処理手段8へ制御を戻す。
完了するブロックが属するストリングから予備バッファ
7へ、次のブロックを入力処理手段2を用いて読込み、
併合処理手段8へ制御を戻す。
併合処理手段8は、各人力バッファに読込まれているス
トリングのブロックからレコードを取出し、併合処理を
行って1個のストリングにまとめ、再び補助記憶装[1
へ書出す。しかし、成る1個の入力バッファに読込まれ
ているブロック内しコード七すべて併合し終ると、再び
先読み制御処理手段9へ制御を渡丁。
トリングのブロックからレコードを取出し、併合処理を
行って1個のストリングにまとめ、再び補助記憶装[1
へ書出す。しかし、成る1個の入力バッファに読込まれ
ているブロック内しコード七すべて併合し終ると、再び
先読み制御処理手段9へ制御を渡丁。
先読み制御処理手段9は、併合を完了したブロックを格
納している入力バッファと予備バッファとを交換して、
新たに入力バッファとして設定したバッファの内部のブ
ロックを、次のブロックであるとして併合処理手段8に
通知する。
納している入力バッファと予備バッファとを交換して、
新たに入力バッファとして設定したバッファの内部のブ
ロックを、次のブロックであるとして併合処理手段8に
通知する。
新几に入力バッファとして定義づけられたバッファの内
部のブロックと、併合t’fA了していないブロックと
から、ブロック内の最後のレコード金取出してソートキ
イを比較し、再び順序付は七行う。その後、併合処理の
結果、最も早くブロック内の全しコードヶ併合し終える
ブロックを判定し、そのブロックが属するストリングか
ら1次のブロックを新たに予備バッファとし次バッファ
へ、入力処理手段2を用いて読込み、併合処理手段8へ
制御を戻す。
部のブロックと、併合t’fA了していないブロックと
から、ブロック内の最後のレコード金取出してソートキ
イを比較し、再び順序付は七行う。その後、併合処理の
結果、最も早くブロック内の全しコードヶ併合し終える
ブロックを判定し、そのブロックが属するストリングか
ら1次のブロックを新たに予備バッファとし次バッファ
へ、入力処理手段2を用いて読込み、併合処理手段8へ
制御を戻す。
第2図は、ストリングのブロック先読みの制御を行う先
読み制御処理手段9の処理ステップを示す流れ図である
。
読み制御処理手段9の処理ステップを示す流れ図である
。
前述したように、併合処理手段8が先読み制御処理手段
9に制御1[すタイミングは、併合処理の前、各併合処
理の開始時、および併合処理の途中(成る1個の入力バ
ッファに読込まれているブロックの内部のレコード七す
べて併合し終った後)の3つのタイミングである。
9に制御1[すタイミングは、併合処理の前、各併合処
理の開始時、および併合処理の途中(成る1個の入力バ
ッファに読込まれているブロックの内部のレコード七す
べて併合し終った後)の3つのタイミングである。
まず、ステップ201では併合処理手段8がら制御を渡
されたタイミングを判定する。併合処理前の場合にはス
テップ202J−実行し友後、ストリングブロックの大
きさと同一の大きさ會有する複数の入力バッファIt
、 I2・・・・・・、INと予備バッファIyとに記
憶部3を分割する。七−の後、合併処理8へ制#を戻丁
。
されたタイミングを判定する。併合処理前の場合にはス
テップ202J−実行し友後、ストリングブロックの大
きさと同一の大きさ會有する複数の入力バッファIt
、 I2・・・・・・、INと予備バッファIyとに記
憶部3を分割する。七−の後、合併処理8へ制#を戻丁
。
併合処理前でなければ、ステップ203によって併合処
理の開始時であるか、あるいは併合処理途中であるか全
判定する。併合処理の開始時であれば、ステップ204
によって入力処理手段2を用いて各人力バッファIl、
I2・曲・、IN に各ストリングの第1のブロックを
入力した後、ステップ209以降會実行する。
理の開始時であるか、あるいは併合処理途中であるか全
判定する。併合処理の開始時であれば、ステップ204
によって入力処理手段2を用いて各人力バッファIl、
I2・曲・、IN に各ストリングの第1のブロックを
入力した後、ステップ209以降會実行する。
併合処理途中である場合には、ステップ205によって
併合を完了したブロックがストリングの最後のブロック
であれば、併合を完了したブロックに続く同一ストリン
グの内部のブロックは存在しない言上ステップ206に
より併合処理手段8に通知する。併合処理手段8に制御
金臭す併合を完了し九ブロックがス)IJソング最後の
ブロックでなければ、ステップ207i%行して、併合
全完了したブロックを格納していた入力バッファI、と
予備バッファIyとを交換する。ステップ208では、
新たに入力バッファとし之予備バッファIjの内部のブ
ロックが、併合を完了したブロックの属するストリング
の内部の次のブロックである旨を併合処理手段8へ通知
する。
併合を完了したブロックがストリングの最後のブロック
であれば、併合を完了したブロックに続く同一ストリン
グの内部のブロックは存在しない言上ステップ206に
より併合処理手段8に通知する。併合処理手段8に制御
金臭す併合を完了し九ブロックがス)IJソング最後の
ブロックでなければ、ステップ207i%行して、併合
全完了したブロックを格納していた入力バッファI、と
予備バッファIyとを交換する。ステップ208では、
新たに入力バッファとし之予備バッファIjの内部のブ
ロックが、併合を完了したブロックの属するストリング
の内部の次のブロックである旨を併合処理手段8へ通知
する。
ステップ209以降のステップに、ストIJングのブロ
ックを予備バッファIyへ先読みする処理のステップで
ある。まずステップ209では、入力バッファ11.
I2 、・・・・・・、INの内部のブロックが、すべ
てストリングの最後のブロックであるか否かを判定する
。すべて最後のブロックであるならば、ブロック先読み
ケ行う必要はないので併合処理手段8へ制仰ケ戻す。
ックを予備バッファIyへ先読みする処理のステップで
ある。まずステップ209では、入力バッファ11.
I2 、・・・・・・、INの内部のブロックが、すべ
てストリングの最後のブロックであるか否かを判定する
。すべて最後のブロックであるならば、ブロック先読み
ケ行う必要はないので併合処理手段8へ制仰ケ戻す。
入力バッファIf、I2・・・・・・、INの内部のブ
ロックで、ストリングの最後のブロックではないブロッ
クが存在する場合には、ステップ210〜212IJ!
行する。ステップ210では、ストリングの最後のブロ
ックではないブロックから、ブロック内の最後のレコー
ド全取出す。ステップ211では、取出したレコードの
ソートキイを比奴して順序付けを行う。ill序付けの
結果、第1位に順序付けられたレコードを含むブロック
が最も早く併@−會児了するブロックである。またステ
ップ212では、上記ブロックの団するストリングから
、次のブロックを入力処理手段2ケ用いて予備バッファ
Iyに入カレ、併合処理手段8へ制御を戻す。
ロックで、ストリングの最後のブロックではないブロッ
クが存在する場合には、ステップ210〜212IJ!
行する。ステップ210では、ストリングの最後のブロ
ックではないブロックから、ブロック内の最後のレコー
ド全取出す。ステップ211では、取出したレコードの
ソートキイを比奴して順序付けを行う。ill序付けの
結果、第1位に順序付けられたレコードを含むブロック
が最も早く併@−會児了するブロックである。またステ
ップ212では、上記ブロックの団するストリングから
、次のブロックを入力処理手段2ケ用いて予備バッファ
Iyに入カレ、併合処理手段8へ制御を戻す。
(発明の効果〕
以上説明し友ように本発明は、補助記憶装置ケ用いてソ
ート処理を行うソートプログラムにおいて、補助記憶装
置から複数のストリング全読込み併合処理に際して併合
するストリングの個数と同数の入力バッファと、1個の
予備バッファとを使用してストリングのブロック先読み
ケ行うことにより、1回の併合処理で併合できるストリ
ングの個数全1バツフア方式に比較して1個減するだけ
で、入力バッファへのブロック入力完了待ちによる処理
の中断をなくし、ソート実行処理効率全向上させること
ができるという効果がある。
ート処理を行うソートプログラムにおいて、補助記憶装
置から複数のストリング全読込み併合処理に際して併合
するストリングの個数と同数の入力バッファと、1個の
予備バッファとを使用してストリングのブロック先読み
ケ行うことにより、1回の併合処理で併合できるストリ
ングの個数全1バツフア方式に比較して1個減するだけ
で、入力バッファへのブロック入力完了待ちによる処理
の中断をなくし、ソート実行処理効率全向上させること
ができるという効果がある。
第1図は、本発明によるソートブロック先読み方式を実
現する一実施例ケ示すブロック図である。 第2図は、ストリングのブロック先読みの制御を行う先
読み制御処理の処理ステップを示す流れ図である。 1・・・補助記憶装置 2・・・入力処理手段3・・
・記憶部 4,5.6・・・入カバツファフ・・・予
備バッファ 8・・・併合処理手段9・・・先読み制
御処理手段
現する一実施例ケ示すブロック図である。 第2図は、ストリングのブロック先読みの制御を行う先
読み制御処理の処理ステップを示す流れ図である。 1・・・補助記憶装置 2・・・入力処理手段3・・
・記憶部 4,5.6・・・入カバツファフ・・・予
備バッファ 8・・・併合処理手段9・・・先読み制
御処理手段
Claims (1)
- レコードをソートするソート処理で中間結果として得ら
れた複数個のストリングを格納するための補助記憶装置
と、前記ストリングの併合処理を行うため複数個のブロ
ックより成る前記ストリングのレコードをブロック単位
に記憶しておくための記憶部と、前記補助記憶装置から
前記記憶部へ前記ストリングをブロック単位で読込むた
めの入力処理手段と、前記記憶部の内部の前記ブロック
から前記レコードを取出して併合処理を行うための併合
処理手段と、前記ストリングのブロック先読みを制御す
るための先読み制御処理手段とを具備して構成したこと
を特徴とするソートブロック先読み方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2100386A JPS62179026A (ja) | 1986-01-31 | 1986-01-31 | ソ−トブロツク先読み方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2100386A JPS62179026A (ja) | 1986-01-31 | 1986-01-31 | ソ−トブロツク先読み方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS62179026A true JPS62179026A (ja) | 1987-08-06 |
Family
ID=12042908
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2100386A Pending JPS62179026A (ja) | 1986-01-31 | 1986-01-31 | ソ−トブロツク先読み方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS62179026A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0275018A (ja) * | 1988-09-12 | 1990-03-14 | Fujitsu Ltd | マージ処理方法 |
| JPH0334015A (ja) * | 1989-06-30 | 1991-02-14 | Fujitsu Ltd | クイックソート技法における入出力の並行処理方法 |
| JPH05165604A (ja) * | 1991-12-17 | 1993-07-02 | Nec Corp | ソートワークファイルスペース管理方式 |
| JPH05274117A (ja) * | 1992-03-25 | 1993-10-22 | Masaru Kiregawa | ソート処理方式 |
| JP2008071191A (ja) * | 2006-09-14 | 2008-03-27 | Canon Inc | 情報表示装置及びメタ情報表示方法 |
-
1986
- 1986-01-31 JP JP2100386A patent/JPS62179026A/ja active Pending
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0275018A (ja) * | 1988-09-12 | 1990-03-14 | Fujitsu Ltd | マージ処理方法 |
| JPH0334015A (ja) * | 1989-06-30 | 1991-02-14 | Fujitsu Ltd | クイックソート技法における入出力の並行処理方法 |
| JPH05165604A (ja) * | 1991-12-17 | 1993-07-02 | Nec Corp | ソートワークファイルスペース管理方式 |
| JPH05274117A (ja) * | 1992-03-25 | 1993-10-22 | Masaru Kiregawa | ソート処理方式 |
| JP2008071191A (ja) * | 2006-09-14 | 2008-03-27 | Canon Inc | 情報表示装置及びメタ情報表示方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5276853A (en) | Cache system | |
| JP2734373B2 (ja) | 指紋照合処理装置 | |
| JP2003256193A (ja) | 並列ソート装置及び並列ソート方法並びにプログラム | |
| JPS6116112B2 (ja) | ||
| JPH0371226A (ja) | データ処理装置 | |
| JP3176319B2 (ja) | データ処理装置 | |
| JPH02257284A (ja) | データ処理装置 | |
| JPH02122328A (ja) | ファイル作成方式 | |
| JPH01279339A (ja) | ファイル書き出し処理方式 | |
| JPS62186328A (ja) | ソ−ト処理方式 | |
| JPS6191738A (ja) | 情報処理装置 | |
| JPH05114044A (ja) | 文字読取装置 | |
| JPS59123975A (ja) | ベクトルデ−タ記憶制御方式 | |
| JPH0418658A (ja) | 機能分散型計算機システム | |
| JPS61264465A (ja) | デ−タ転送制御方式 | |
| JPH0642248B2 (ja) | 情報検索装置 | |
| JPS60178547A (ja) | デ−タ処理方式 | |
| JPS61103234A (ja) | デイスク制御装置 | |
| JPS6299827A (ja) | バツフア制御方式 | |
| JPH01147720A (ja) | 分類処理方式 | |
| JPH0346033A (ja) | ジヨブ間データ転送制御方法 | |
| JPS61278933A (ja) | デ−タのソ−ト方式 | |
| JPS5925264B2 (ja) | ベクトル命令処理方式 | |
| JPH0221323A (ja) | データ転送方法 | |
| JPS62285130A (ja) | ソ−ト入出力方式 |