JPH031227A - ソート処理装置 - Google Patents

ソート処理装置

Info

Publication number
JPH031227A
JPH031227A JP13536589A JP13536589A JPH031227A JP H031227 A JPH031227 A JP H031227A JP 13536589 A JP13536589 A JP 13536589A JP 13536589 A JP13536589 A JP 13536589A JP H031227 A JPH031227 A JP H031227A
Authority
JP
Japan
Prior art keywords
sorting
record
records
length
sort
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
JP13536589A
Other languages
English (en)
Inventor
Tetsuji Sato
哲司 佐藤
Haruo Hayamizu
速水 治夫
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP13536589A priority Critical patent/JPH031227A/ja
Publication of JPH031227A publication Critical patent/JPH031227A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、関係データベース処理等の適用を狙いとする
大容量ソータを実現することを目的とし、特に、ソート
対象とするレコード長が長い場合。
あるいは、レコードの長さが不定である場合であって、
レコード長に依存しないハードウェア構成で小型・高性
能なソータを実現できるソート処理装置に関する。
〔従来の技術〕
一般に、ソート処理の対象となるデータをレコードとい
う。レコードの件数が極めて多い場合には、汎用の電子
計算機でソートすると膨大な処理時間を必要とする。専
用ハードウェアを用いてソート処理を高速化する従来技
術は、例えば特開昭61−42031号公報に開示され
ている装置により知られている。
この装置は、k(k:lより大きな整数)個のレコード
の内で最大もしくは最小のレコードを抽出するソート手
段と、予め昇順もしくは降順に並べ替えられたに個のレ
コード列を格納するレコード格納手段を有し、前記に個
のレコード列の各々の先頭レコードを前記ソート手段に
入力し、該ソート手段からレコードを出力する操作と、
該出力したレコードに基づいて前記レコード格納手段か
らレコードを読み出して該ソート手段に入力する入力操
作とを交互に実行するマージ操作を繰り返すことによっ
て、前記レコード格納手段に格納された複数のレコード
列をマージするソート処理装置であり、ハードウェアで
構成したソート回路でに個のレコードを並列に比較する
ことによって、kウェイのマージ処理を高速に実行し、
更に、にウェイマージ処理を繰り返すことで、大意レコ
ードをソートできる。
本ソート処理装置では、ソートできるレコード長が、k
個のレコードを格納して比較するソート回路におけるレ
コード格納用メモリの容量で決まり、ソートできるレコ
ード長を長くすると、ソート回路のハードウェアが大き
くなる構成であった。
また、本ソート処理装置では、レコードの比較をハード
ウェアで行っていることがら、1回のソート処理は、固
定長のレコードを対象としている。
このため、ソート対象とする個々のレコードの長さが異
なる場合、すなわち、可変長レコードをソート処理の対
象とする場合には、予めレコードの長さをソートするレ
コードの最大炎に合わせて固定長化しておく方法がとら
れる。
〔発明が解決しようとする課題〕
従来技術のソート処理装置では、レコードの並列比較を
行う専用ハードウェアを用いてソート処理の高速化を実
現しているが、レコードを直接に比較回路に入力してい
たことから、ソートできるレコードの最大炎がソート回
路(比較回路)の構成に依存し、ソートできるレコード
長を長くするとハードウェア量が増加する問題があった
。長いレコードがソートできるようにハードウェアを設
定すると、短いレコードのソートでは、予め用意したハ
ードウェアの一部しか使用しないために無駄が生じる問
題もあった。更に、−旦ハードウェアを実現してしまう
と、ソートできるレコード長の上限が規定され、それを
超える長さのレコードをソートできない問題もあった。
このため、ソート処理装置をデータベース処理等に適用
した場合には、ソート対象となるレコードは、数値を表
わす固定長10進数のようなレコード長が短いものや、
文字列のような比較的レコード長が長いものがあり、い
ずれの場合にも高速に比較できるハードウェアを実現す
ることは困難であった。
さらに1文字列のソートでは、1回のソートで対象とす
るレコードの長さが異なる可変長レコードのソートが必
要となるが、レコードを単位として比較を行っていたこ
とから、ハードウェアで実現することが困難であった。
このため、従来技術のソート処理装置では、予め、最大
レコード長に合わせてレコードを固定長化してからソー
トしていた。最大レコード長に固定長化するのは、ソー
トすべきレコード長が長くなることに相当するため、見
掛は上、ソート処理速度が低下する問題があった。
本発明の目的は、上記従来技術の問題点を解決して、ソ
ート対象とするレコード長に制限がなく、レコード長が
短い場合から長い場合まで高速にソートできるソート処
理装置を提供し、さらに、可変長レコードのソート処理
速度を向上できるソート処理装置を提供することにある
〔課題を解決するための手段〕
本発明は、長さi (i≧1の整数)のデータを比較し
て、データ相互の大小関係と一致関係を判定するソート
手段を備え、第1段階は、長さj(j>i)のレコード
の先頭から長さiの範囲を比較の対象としてソートを行
い、大小関係が確定したレコードの並びの領域と、一致
と判定されたレコードの並びの領域とに分離し、第m段
階は。
第(m−1)段階までのソートによって一致と判定され
たレコードの並びの領域に対して、レコードの先頭から
ix(m−1)の位置を開始位置として長さiの範囲を
比較の対象として、該ソート手段を用いてソートするこ
とによって、大小関係が確定したレコードの並びの領域
と、一致と判定されたレコードの並びの領域とに分離す
る操作を段階的に繰り返し、一致と判定されたレコード
の並びの領域が無くなるか、あるいは、比較の範囲の開
始位置がjを超えることでソートの終了を判定すること
で、該ソート手段で比較できるデータの長さを超えるレ
コードをソートすることを特徴とする。
更に、ソート対象とするレコードを単位として、あるい
は、複数個のレコードを単位として、比較を行う範囲を
示す範囲情報を指定して、該範囲情報に基づいて比較の
開始位置とソートの終了判定を行う手段を設ける。
〔作 用〕
前記ソート手段は、長さi (i≧1の整数)のデータ
を比較し、入力された複数のデータの内で最大、あるい
は、最小の値を持つデータを出力する。また、該ソート
手段は、順序性を持って出力される個々のデータが、直
前に出力されたデータと値が一致しているか否かを示す
信号を出力する。
長さj  (j>i)のレコードをソートする手順は、
最初に、レコードの先頭から長さiの範囲を比較の対象
として、前記ソート手段を用いてソートする。このソー
ト処理によって、複数個の入力レコードは、大小関係が
確定したレコードの並びの領域と、一致と判定されたレ
コードの並びの領域とに分離される。第m(m≧2)段
階のソート処理は、第(m−1)段階までのソートによ
って一致と判定されたレコードの並びの領域に対して、
レコードの先頭からix(m−1)の位置を開始位置と
して長さiの範囲を比較の対象として、該ソート手段を
用いてソートを行うことによって、大小関係が確定した
レコードの並びの領域と、−致と判定されたレコードの
並びの領域とに分離する。このような段階的なソート処
理を繰り返して、一致と判定されたレコードの並びの領
域が無くなるか、あるいは、比較の範囲の開始位置がj
を超えることでソートの終了を判定し、該ソート手段で
比較できるデータの長さを超えるレコードをソートする
更に、ソート対象とするレコードを単位として、あるい
は、複数個のレコードを単位として、比較を行う範囲を
示す範囲情報を指定して、該範囲情報に基づいて比較の
開始位置とソートの終了判定を行う手段を設けることに
よって、ソートするレコードの長さが異なる可変長レコ
ードのソートを実現する。
〔実施例〕
以下、本発明の実施例を図面に基づいて詳細に説明する
第1図は、本発明の一実施例を示すソート処理装置の構
成図である。図において、11はソート回路、12はバ
ッファメモリ、13は比較データ抽出回路、14はマー
ジ制御回路、15はソート領域分離回路、16は未ソー
ト領域登録表、17はソート済領域登録表、18はソー
ト結果出力回路、19は一致信号線、20は出力線であ
る。
本実施例では、予めバッファメモリ12に格納されたに
本のソート済みレコード列を、kウェイマージによって
1本のレコード列にマージして出力する昇順ソート処理
を示す。
ソート回路11は、少なくともに個(k≧1の整数)の
長さi(i≧1の整数)のデータを入力して、該入力し
たデータ相互の大小関係と一致関係を判定し、該入力し
たデータの内で最大、あるいは、最小のデータを出力す
るとともに、該出力したーデータが直前に出力したデー
タと一致してぃるか否かを示す信号を一致信号fi19
に出力する。
比較データ抽出回路13は、長さjのレコードから、ソ
ート回路11で比較を行う長さiのデータを抽出する回
路である。マージ制御回路14は、従来技術で示したに
ウェイマージ処理を実行する制御回路であり、にウェイ
マージ処理の繰り返しによって、レコードをソートする
ことができる。
ソート領域分離回路15は、ソート回路11から出力さ
れる一致信号の値とその変化を検出して、一致していな
い場合はソートが完了していると判定し、一致している
場合はソートが完了していないと判定する回路である。
未ソート領域登録表16とソート済領域登録表17は、
ソート領域分離回路15からの出力に基づいて、ソート
が完了していないレコードの並びの領域を登録する表と
、オでにソートが完了しているレコードの並びを登録す
る表である。ソート結果出力回路18は、ソート済み領
域登録表17に登録されたレコードの領域に含まれるレ
コードを、予め指定された昇順あるいは降順のソート類
に基づいて、出力線20からレコードを出力する回路で
ある。
第2図は、第1図に示したソート処理装置におけるソー
ト処理の手順を示す図である。ソート対象とするn個の
レコードは、固定長の長さjを持つとする。また、ソー
ト回路11で一度に比較できるデータの長さはi、デー
タの個数はkとする。
第1段階のソート処理では、長さjのレコードの先頭か
ら長さ主の範囲を比較データ抽出回路13によって切り
出してソート回路上1に入力する。
従来技術で示したように、ソート回路11とマージ制御
回路14によって、バッファメモリ12に格納されたに
本のレコード列は、1本のソート済みレコード列として
マージされる。ただし1本実施例では、レコードの一部
分を比較の対象としていることから、マージさ九たレコ
ード列内でソートが完了している部分と、ソートが完了
していない部分とに分離される。図の例では、領域Oか
らa、bからc、dからnがソート済みの領域としてソ
ート済み領域登録表17に登録し、領域aからす、cか
らdがソートが完了してない未ソート領域として未ソー
ト領域登録表16に登録する。
第2段階のソート処理は、第1段階のソート処理でソー
トが完了しなかった領域、すなわち、未ソート領域登録
表16に登録された領域に含まれるレコードをソートす
る。第2段階のソートを行う領域は、領域aからbと領
域Cからdであるから、まず領域aからbの範囲をソー
トし、次に、領域Cからdをソートする。第2段階のソ
ート処理によって、領域aからe、fからbとCからd
がソート済み領域となり、領域eからfが未ソート領域
となる。このため、領域eからfのレコードについて第
3段階以降のソート処理を継続して行う。
一方、ソート済み領域として登録された範囲のレコード
は、最小値側から、あるいは、最大値側からソート結果
として出力できるため、レコード全体のソート完了を待
たずに結果出力を開始できる。本実施例は、昇順ソート
の例であるから、第1段階のソート処理が完了した時点
で、第2段階のソート処理と並行して、あるいは、第2
段階のソート処理以前に、領域Oからaの範囲のレコー
ドを出力できる。更に、aからeの範囲のレコードに関
しても、eからfの範囲のソートを完了する以前に出力
できる。
この様に、本実施例によれば、レコード全体のソートが
完了する以前にソート済み領域のレコードを出力できる
ことから、ソートするレコードの入力が完了してから、
最初のソート結果であるレコードの出力までの時間を短
くできる。このための制御は、第1段階のソートが完了
した段階で、昇順ソートの場合は、レコードの値が小さ
い方から第2段階以降のソート処理を行い、降昇ソート
の場合は、レコードの値が大きい方から第2段階以降の
ソート処理を行えばよい。第2段階以降のソート処理は
、複数段階のソート処理を混在させることが可能であり
、レコードの値が小さい方、あるいは、大きい方から順
番にソートが完了するまで深さ方向(ソート処理の段数
が増える方向)を優先してソートを行うことができる。
本実施例では、予めバッファメモリ12に格納されたに
本のソート済みレコード列を、kウェイマージによって
1本のレコード列にマージする処理を示した。大斌レコ
ードのソートは、従来技術で示したように、本実施例で
示したにウェイマージ処理を繰り返すことで実現できる
。なお、本発明は、上記実施例に限られるべきものでは
なく、ソート対象とするレコードを分割して比較する処
理の繰り返しによってレコード全体をソートする方法で
あれば、kウェイマージ処理の繰り返しによるソート以
外の方法、例えば、従来より知られているクイックソー
ト法やバブルソート法等の他のソート法を用いてもソー
ト処理装置を実現できる。 また1本実施例では、ソー
ト回路のハードウェア条件で決まる長さiで、長さjの
レコードを分割して比較する場合を示したが、予め、レ
コード内の比較範囲を指定しておいて、指定された条件
に基づいて、レコードの分割を行い、更に、ソートの終
了を判定する構成も可能である。比較範囲は、ソート対
象とするレコードを単位として、あるいは、複数個のレ
コードを単位として、さらに、レコード全体に対して指
定できる。個々のレコードに対して比較範囲を指定した
場合には、レコードそのものの長さが異なる、いわゆる
可変長レコードのソートを実現できる。また、比較の開
始位置と、終了位置あるいは比較の長さを、レコード全
体あるいはレコード単位に指定した場合は、種々の属性
を持つキーを複数個連結してレコードを構成しておいて
、連結したキーの内で特定のキーあるいはキー群に対し
てソートを行うソート処理装置を容易に実現できる。
〔発明の効果〕
以上の説明で明らなように1本発明によれば、レコード
を分割してソートを行うことから、ソートできるレコー
ド長に依存しないハードウェア構成のソート処理装置を
実現できる。段階的に実行するソート処理は、ソート対
象とするレコードを、ソート済み領域と未ソート領域に
分離する処理であり、第2段階以降のソート処理は、第
1段階で未ソートと判定された領域を対象とすることか
ら、1回にソートするレコード数が少なく短時間で処理
できる。第1段階についても比較するデータ幅が小さい
ことから高速に処理できる。このため、従来のソート処
理装置と比較して、より短時間でソートを行うことがで
きる。また、1回に比較するデータ幅が小さいことから
装置の小型化を実現できる。
また、段階的に行うソートを制御することによって、第
2段階以降のソート処理と並行して、あるいは、ソート
処理を中断してソート結果の出力を開始できる。このた
め、ソート対象とするレコードの入力が完了してから、
最初のソート結果を出力するまでの時間を短縮でき、デ
ータベース処理等に適用した場合に、全体の処理時間を
短縮できる。
更に、個々のレコードに対して、特定の範囲を比較の対
象として指定することによって、種々の属性を持つキー
を複数個連結してレコードを構成しておいて、連結した
キーの内で特定のキーあるいはキー群に対してソートを
行うソート処理装置を容易に実現できる。また個々のレ
コードに比較を行う範囲を指定しておくことによって、
レコードそのものの長さが異なる、いわゆる可変長レコ
ードを対象としたソート処理装置を実現できる。
【図面の簡単な説明】
第1図は本発明の一実施例を示すソート処理装置の構成
図、第2図は上記実施例におけるソート処理の手順を示
す図である。 11・・・ソート回路、  12・・・バッファメモリ
、13・・・比較データ抽出回路、 14・・・マージ制御回路、 15・・・ソート領域分離回路、 16・・・未ソート領域登録表、 17・・・ソート済領域登録表。 18・・・ソート結果出力回路、 19・・・一致信号線、  2o・・・出力線。 狛所種

Claims (2)

    【特許請求の範囲】
  1. (1)少なくともk個(k≧1の整数)の長さi(i≧
    1の整数)のデータを比較して、該入力したデータ相互
    の大小関係と一致関係を判定し、該入力したデータの内
    で最大、あるいは、最小のデータを抽出する手段と、該
    抽出したデータが直前に抽出したデータと一致している
    か否かを判定する手段とからなるソート手段を具備し、
    第1段階は、長さj(j>i)からなる複数のレコード
    を、該レコードの先頭から重さiの範囲を比較の対象と
    し、該ソート手段を用いてソートすることによって、大
    小関係が確定したレコードの並びの領域と、一致と判定
    されたレコードの並びの領域とに分離し、 第m(m≧2)段階は、第(m−1)段階までのソート
    によって一致と判定されたレコードの並びの領域に対し
    て、レコードの先頭からix(m−1)の位置を開始位
    置として長さiの範囲を比較の対象として、該ソート手
    段を用いてソートすることによって、大小関係が確定し
    たレコードの並びの領域と、一致と判定されたレコード
    の並びの領域とに分離する操作を段階的に繰り返し、一
    致と判定されたレコードの並びの領域が無くなるか、あ
    るいは、比較の範囲の開始位置がjを超えることでソー
    トの終了を判定することを特徴とするソート処理装置。
  2. (2)ソート対象とするレコードを単位として、あるい
    は、複数個のレコードを単位として指定された、比較を
    行う範囲を示す範囲情報に基づいて、個々のレコードか
    ら比較の対象となる範囲のデータを切り出すことを特徴
    とする請求項(1)記載のソート処理装置。
JP13536589A 1989-05-29 1989-05-29 ソート処理装置 Pending JPH031227A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13536589A JPH031227A (ja) 1989-05-29 1989-05-29 ソート処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13536589A JPH031227A (ja) 1989-05-29 1989-05-29 ソート処理装置

Publications (1)

Publication Number Publication Date
JPH031227A true JPH031227A (ja) 1991-01-07

Family

ID=15150027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13536589A Pending JPH031227A (ja) 1989-05-29 1989-05-29 ソート処理装置

Country Status (1)

Country Link
JP (1) JPH031227A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH056261A (ja) * 1991-04-04 1993-01-14 Mitsubishi Electric Corp データのためのソーテイング装置およびソーテイング方法
JP2008129723A (ja) * 2006-11-17 2008-06-05 Nec Corp データレプリケーションシステム、データレプリケーション方法、データレプリケーションプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH056261A (ja) * 1991-04-04 1993-01-14 Mitsubishi Electric Corp データのためのソーテイング装置およびソーテイング方法
JP2008129723A (ja) * 2006-11-17 2008-06-05 Nec Corp データレプリケーションシステム、データレプリケーション方法、データレプリケーションプログラム
JP4636008B2 (ja) * 2006-11-17 2011-02-23 日本電気株式会社 データレプリケーションシステム、データレプリケーション方法、データレプリケーションプログラム

Similar Documents

Publication Publication Date Title
JPH031227A (ja) ソート処理装置
JPH0666050B2 (ja) ソート処理方法
JP3534471B2 (ja) マージソート方法及びマージソート装置
JPH05135102A (ja) 文書検索方式
JPH01171021A (ja) ソート処理装置
JPH06162096A (ja) レコード検索方法
JPH04114278A (ja) 文字列比較方式
JPH07120264B2 (ja) ソート処理装置
JPH02206830A (ja) マージ処理方法
JPS63254522A (ja) キ−ワ−ド抽出装置
JP2535655B2 (ja) 辞書検索方式
JPS63153632A (ja) 文字列検索方式
JPH01102636A (ja) ソーティング回路
JPH0589174A (ja) 辞書検索方法
JPH05225248A (ja) データベース検索システム
JPH02206828A (ja) 分類計数装置
JPH06161995A (ja) 氏名データ整形方法および装置
JPH01226026A (ja) 検索回路
JPH01177124A (ja) ソータ記憶管理方式
JPS63263590A (ja) 文字認識方式
JP2001195408A (ja) 大量文書類似検索システム
JPH0285921A (ja) 併合処理装置
JPH0452967A (ja) 集合ファイルに対する論理積演算処理方式
JPH03216729A (ja) 電子計算機
JPH03216730A (ja) 電子計算機