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

ソート処理装置

Info

Publication number
JPH07120264B2
JPH07120264B2 JP62334117A JP33411787A JPH07120264B2 JP H07120264 B2 JPH07120264 B2 JP H07120264B2 JP 62334117 A JP62334117 A JP 62334117A JP 33411787 A JP33411787 A JP 33411787A JP H07120264 B2 JPH07120264 B2 JP H07120264B2
Authority
JP
Japan
Prior art keywords
record
records
sort
output
circuit
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.)
Expired - Fee Related
Application number
JP62334117A
Other languages
English (en)
Other versions
JPH01173230A (ja
Inventor
哲司 佐藤
英昭 武田
治夫 速水
秀樹 福岡
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 JP62334117A priority Critical patent/JPH07120264B2/ja
Publication of JPH01173230A publication Critical patent/JPH01173230A/ja
Publication of JPH07120264B2 publication Critical patent/JPH07120264B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マージ処理の繰返しによるソート処理装置に
係り、より詳細には、段階的に繰返すマージ処理過程に
於て、重複しているレコードを削除するのに好適なソー
ト処理装置に関する。
〔従来の技術〕
一般に、データベース処理で扱う個々のデータをレコー
ドという。レコードの件数が極めて大きい場合や、複数
のデータベースを処理対象とする場合は、汎用の電子計
算機で処理すると膨大な時間を必要とする。このため、
データベース処理の一部あるいは全体を直接ハードウェ
アで実行して高速化するソート処理装置が、例えば特開
昭61−42031号公報に開示されている。
第3図は、上述の特開昭61−42031号公報に開示されて
いるソート処理装置の構成を示すものである。図におい
て、11はソート回路、12はバッファメモリを示してお
り、50は制御回路、51は入力レジスタ、52は出力レジス
タ、53はバンクアドレス発生回路、54はソート入出力切
替回路、55は読出しアドレス発生回路、56は書込みアド
レス発生回路、57はアドレス切替回路、58はデータ切替
回路、59は切替制御線(ST)、60はバンクアドレス線
(BA)、61はI相信号線(I)、62はII相信号線(I
I)、63は状態制御線(INT)、64はソート入出力切替信
号線(PUP)、65は入力制御線(PUSH)、66は出力制御
線(POP)、67はデータ入出力線(DIO)を示している。
ソート回路11は、k個のレコードを格納して、その格納
したレコードを相互に比較し、k個のレコードの内で最
大あるいは最小となるレコードを出力する。バッファメ
モリ12は、ソート回路11を用いてソートしたソート済み
のレコード列を格納するための記憶回路である。
ソート処理過程は、初期ソート段階とマージ段階とから
なり、切替制御線(ST)59によって指定する。初期ソー
ト段階は、大量な件数のソート対象レコードを、ソート
回路11の容量分のレコード件数を単位として該ソート回
路11でソートし、その結果をソート済みのレコード列と
してバッファメモリ12内に格納する。マージ段階は、初
期ソート段階でバッファメモリ12内に格納した複数のレ
コード列を、ソート回路11を用いてマージする。一度に
マージできるレコード列の数は、ソート回路11の容量に
よって規定され、ソート回路11の容量がk個のレコード
を格納できれば、k個のレコード列を一度にマージでき
る。
初期ソート段階でバッファメモリ12内に格納するレコー
ド列は、ソート回路11で一度にソートできるレコード数
kに等しいことから、初期ソート段階とマージ段階によ
って、最大2k個のレコードを一度にソートできる。2k個
を越えるレコードをソートするには、上記のマージ段階
の処理で得られた出力レコード列を再度バッファメモリ
12に格納し、最大2k個のレコードからなるレコード列を
再度ソート回路11を用いてマージすることで実現でき
る。一度にk個のレコード列をマージするマージ処理
を、初期ソート段階も含めてi段階繰返すことによっ
て、最大ki個のレコードをマージすることが出来る。す
なわち、第3図に示す従来技術のソート処理装置は、ほ
ゞバッファメモリ12の容量で決まるレコード件数まで高
速にソートすることが出来る。なお、第3図の詳細動作
は同公開公報に記述されているので省略する。
ところで、ソート処理装置を用いて高速化を図るデータ
ベース処理は、処理対象とするデータベースの中から所
望の条件を満足するレコードを選択する処理、あるい
は、複数のデータベースを対象に所望の条件に基づいて
併合する処理等が多用されている。これらの処理を矛盾
なく実行するには、レコードを相互に比較して、その内
容が一致しているレコード、即ち、所定の条件に基づい
て2個のレコードを比較したとき、その内容が一致して
いて相互に判別できないような状態にあるとき、それら
のレコードは重複していると称して、1個のレコードに
まとめる重複レコードの除去(あるいは単に重複除去と
いう)を行うのが一般的である。
重複除去の例として、名前と年齢からなるレコードを年
齢でソートする場合には、年齢の範囲が高々100程度で
あることから、入力レコード数に関わらず重複除去によ
って出力レコード数は100程度となる。第3図に示す如
きソート処理装置では、ほゞ装置の入出力時間でソート
できることから、上述する例のような場合には、重複除
去によって出力レコード数を削除すれば、ソート処理時
間を短縮できることから、ソート処理の早い段階で重複
レコードを検出し、除去することが望まれていた。
従来、重複レコードを検出し除去する方法としては、例
えば、K.Iwata et alによる“Design and Implementati
on of a Two−Way Merge−Sorter and its Application
to Relational Database Processing"(ICOT Technica
l Report TR−066,1984)に開示されている方法を挙げ
ることが出来る。第4図はその構成例を示したものであ
り、同図中の70は入力回路、71はソート処理回路、72は
マージャ、73から75は12個のソーティングセル、76はソ
ーティングチェッカ、77は共通制御線である。即ち、こ
れは12個のソーティングセル(73から75)からなるソー
ト処理回路の後段に配置したソーティグチェッカ76によ
って、ソート処理装置71内を連続して流れてくるレコー
ドの重複を検出し、検出結果を、ソート処理装置71の後
段に配置したマージャ72に与えて、こゝで重複レコード
の出力を抑止するものである。
〔発明が解決しようとする問題点〕
上記従来技術においては、ソート処理装置に入力したレ
コードを完全にソートした後に、該ソート処理装置の出
力段階で重複レコードを検出して除去するように構成さ
れているため、入力レコード中に存在する重複レコード
の件数によらずに、一定のソート処理時間を必要とする
問題があった。また、入力レコード中に大量の重複が存
在する場合であっても、ソートできるレコード件数は、
入力レコード件数によって規定される問題もあった。
本発明は、上記従来技術の問題点を解決することを目的
として、重複レコードを除去しながら段階的にマージ処
理を進めるソート処理装置を提供することにある。
〔問題点を解決するための手段〕
本発明は、入力レコードを相互に比較して、そのうちか
ら最大あるいは最小となるレコードを抽出するソート手
段と、あらかじめソートされたレコード列を格納するレ
コード格納手段とを有し、両者の間で出力操作と入力操
作を交互に行って、レコード格納手段に格納されたソー
ト済みレコード列をマージするマージ処理を段階的に繰
返すソート処理装置において、ソート手段の出力側とレ
コード格納手段の入力側の間に重複除去手段を設け、繰
返し実行するマージ処理過程の出力操作時に、ソート手
段からの出力レコードが直前に該ソート手段から出力し
たレコードと重複している場合、該重複しているレコー
ドをレコード格納手段に格納せずに次の入力操作に移る
ことを特徴とするものである。
〔作用〕
最終的なソート結果からは除去される重複レコードを、
段階的に繰返すマージ処理の早い段階で除去することに
より、入力レコード中に大量の重複が存在した場合に、
ソート処理時間を短縮し、更に、重複除去を行った出力
レコード件数(一般に入力レコード件数より小さい)で
規定される件数までソート可能なレコード件数を拡大で
きる。
〔実施例〕
以下、本発明の一実施例に基づいて詳細に説明する。
第1図は、本発明の一実施例を示す構成図である。図に
おいて、11はソート回路、12はバッファメモリ、13はマ
ージ制御回路、14は重複除去回路、15はレコード入力端
子、16はレコード出力端子、17は切替回路である。
ソート回路11およびバッファメモリ12は第3図に示した
ソート処理装置と同様であり、ソート回路11は入力レコ
ードの内から最大あるいは最小となるレコードを抽出す
る回路、バッファメモリ12はソート済みレコード列を格
納する回路である。マージ制御回路13は、第3図のソー
ト処理装置におけるマージ操作を実行するための回路と
同様である。重複除去回路14は、ソート回路11から連続
に出力されるレコードを順次比較し、重複しているレコ
ードを削除する回路であり、例えば、第4図に示した重
複除去回路で構成することもできる。
本実施例における重複レコードを除去しながらのマージ
処理は、ソート回路11から出力されたソート済みのレコ
ードを重複除去回路14に入力し、重複を除去したレコー
ド列をバッファメモリ12に格納することで実現する。従
って、バッファメモリ12内には、常に重複がないことを
保証したレコード列が格納される。但し、レコード列間
での重複、即ち、異なるレコード列に属するレコードの
間での重複はチェックしていない。このレコード列間で
の重複を除去するのは、そのレコード列をマージする段
階で行い、最終的に1個のレコード列としてマージして
出力するまでの、何れかのマージ段階で全ての重複レコ
ードを除去できる。
第2図は、第1図に示した本実施例におけるマージ処理
の手順を示すものである。これは、初期ソート段階、第
1マージ段階、第2マージ段階の3段階のマージ処理を
行う例であり、3段階の2ウェイマージによって8個の
レコードを降順にソートする場合を示している。図中の
表示は、段階的に繰返し使用するソート回路11とバッフ
ァメモリ12に格納するレコードを表している。
ソートするレコードは、2,3,1,2,5,5,2,3の1桁の整数
であり、この順序で第1図のソート処理装置に入力し
て、2ウェイマージを繰返す。入力時には、切替回路17
を操作して、レコード入力端子15からソート回路11にレ
コードを入力する。
初期ソート段階の出力は、2個のレコードからなるレコ
ード列としてソート回路11から出力され、バッファメモ
リ12に格納される。こゝで、バッファメモリ12に格納す
る1番目、2番目、4番目のレコード列は、レコード列
内に重複がないため、それぞれ2個のレコードで構成さ
れる(2と3、1と2、2と3)。3番目のレコード列
は、(5,5)と重複してソート回路11から出力されるた
め、重複除去回路14によってレコード1個を除去して、
レコード列(5)をバッファメモリ12に格納する。
次の第1マージ段階は、初期ソート段階でバッファメモ
リ12内に格納された1番目と2番目のレコード列をマー
ジする処理と、3番目と4番目のレコード列をマージす
る処理とからなる。この段階でも、1番目と2番目のマ
ージで、重複しているレコード2が除去され、(1,2,
3)と(2,3,5)のレコード列をバッファメモリ12に格納
する。第2マージ段階でも、重複レコードの除去が行わ
れ、最終的にレコード出力端子16からは(5,3,2,1)の
4個のレコードがソート結果として出力される。
この様にして、重複レコードを除去しながらマージ処理
を段階的に繰返して行くことによって、バッファメモリ
12に格納するレコード数を削減して行くことができる。
第2図の例で重複除去されたレコードの数は、初期ソー
ト段階と第1マージ段階で各1レコード、第2レコード
段階で2レコードである。
マージ処理の繰返しによるソート処理装置では、ソート
回路に入力するのべレコード数によって、ソート処理時
間が決まることから、本発明による段階的な重複除去に
よって、全体のソート処理時を短縮することができる。
第2図の例で、重複除去を行わない、あるいは、従来技
術で示したソート処理後に重複除去を行う場合には、ソ
ート回路に入力するのべ入力レコード数は、 8×3=24 である。これに対して、第2図の例に示した本実施例の
ソート処理装置におけるのべ入力レコード数は、 8+7+6=21 と削減されている。入力レコード中に占める重複レコー
ドの比率が高い場合には、この効果は更に顕著になり、
全体のソート処理時間を短縮することができる。
さらに、第1図に示す構成のソート処理装置では、最大
k個のレコード列を一度にマージする操作を段階的に繰
返すことによって、バッファメモリの容量を越えない範
囲で大量のレコードをソートすることができる。従っ
て、段階的に重複除去を行い、バッファメモリに格納す
るレコード数を削減することによって、ソート可能なレ
コード数を越えてレコードを入力し、処理することがで
きる。
〔発明の効果〕
本発明の重複除去手段を適用してソート処理装置を構成
することによって、ソート処理時間を短縮し、ソート可
能なレコード数を越えてレコードを入力し、処理するこ
とができる。本発明では、段階的に繰り返されるマージ
処理の早い段階で重複レコードが除去されるため、入力
レコード中に占める重複レコードの比率が高い場合に
は、本発明の効果は更に顕著になり、全体のソート処理
時間を大幅に短縮することができる。
【図面の簡単な説明】
第1図は本発明の一実施例を示す構成図、第2図は第1
図におけるマージ処理の手順を説明する図、第3図はソ
ート処理装置の一例を示す構成図、第4図はレコードの
重複除去を行う従来の構成例を示す図である。 11……ソート回路、12……バッファメモリ、13……マー
ジ制御回路、14……重複除去回路、15……レコード入力
端子、16……レコード出力端子、17……切替回路。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 福岡 秀樹 東京都千代田区内幸町1丁目1番6号 日 本電信電話株式会社内 (56)参考文献 特開 昭61−42031(JP,A) ICOT Technical Rep ort:TR−066(1984)K.Iwat a.“Design and Imple mentation of a Two− way Merge−Sorter an d Its Application t o Relational Databa se Processing

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】最大k(>1:整数)個のレコードを格納で
    き、該レコードを相互に比較して最大あるいは最小とな
    るレコードを抽出するソート手段と、あらかじめソート
    されたレコード列を格納するレコード格納手段とを有
    し、前記ソート手段からソート済レコードを出力して前
    記レコード格納手段に格納する出力操作と、該出力レコ
    ードに基づいて前記レコード格納手段からソート済レコ
    ード列の各先頭レコードを最大k個まで読出して前記ソ
    ート手段に入力する入力操作とを交互に行って、前記レ
    コード格納手段に格納されたソート済みレコード列をマ
    ージするマージ処理を段階的に繰返すことによって、前
    記レコード格納手段に格納されたk個を越えるレコード
    列をマージして出力するソート処理装置において、 前記繰返し実行するマージ処理過程の出力操作時に、前
    記ソート手段からの出力レコードが直前に該ソート手段
    から出力したレコードと重複している場合、該重複して
    いるレコードを除去して前記レコード格納手段への格納
    を省略する重複除去手段を、前記ソート手段の出力側と
    前記レコード格納手段の入力側の間に設けたことを特徴
    とするソート処理装置。
JP62334117A 1987-12-28 1987-12-28 ソート処理装置 Expired - Fee Related JPH07120264B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62334117A JPH07120264B2 (ja) 1987-12-28 1987-12-28 ソート処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62334117A JPH07120264B2 (ja) 1987-12-28 1987-12-28 ソート処理装置

Publications (2)

Publication Number Publication Date
JPH01173230A JPH01173230A (ja) 1989-07-07
JPH07120264B2 true JPH07120264B2 (ja) 1995-12-20

Family

ID=18273712

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62334117A Expired - Fee Related JPH07120264B2 (ja) 1987-12-28 1987-12-28 ソート処理装置

Country Status (1)

Country Link
JP (1) JPH07120264B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2587447B2 (ja) * 1988-04-05 1997-03-05 株式会社日立製作所 ソート処理装置
US8180739B2 (en) 2009-07-27 2012-05-15 International Business Machines Corporation Duplicate filtering in a data processing environment
JP2013178685A (ja) * 2012-02-29 2013-09-09 Nec Corp 非同期バックアップ機能を有するデータ処理システム、フロントシステム、バックアップ方法、及びそのためのプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0666050B2 (ja) * 1984-08-03 1994-08-24 日本電信電話株式会社 ソート処理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ICOTTechnicalReport:TR−066(1984)K.Iwata."DesignandImplementationofaTwo−wayMerge−SorterandItsApplicationtoRelationalDatabaseProcessing

Also Published As

Publication number Publication date
JPH01173230A (ja) 1989-07-07

Similar Documents

Publication Publication Date Title
US4514826A (en) Relational algebra engine
US5842208A (en) High performance recover/build index system by unloading database files in parallel
JPH0728624A (ja) ソート装置及びソート方法
JPH07120264B2 (ja) ソート処理装置
JPH0262683A (ja) 文字認識装置及び文字認識方法
JPS6142031A (ja) ソ−ト処理装置
JP2587447B2 (ja) ソート処理装置
JP2536572B2 (ja) ソ―ト処理装置
JPH08221254A (ja) マージソート方法及びマージソート装置
JPH01171021A (ja) ソート処理装置
JPH07101382B2 (ja) マ−ジ処理装置
JP3447180B2 (ja) データ演算回路
JPS6266326A (ja) 日本語デ−タ整列処理方式
JPH03259329A (ja) 大容量データのキー相対アドレス分類方式
JPH0324617A (ja) データ処理方式
JPH0437455B2 (ja)
JPH031227A (ja) ソート処理装置
JPH03116226A (ja) フィルタリング処理回路
JPH0731686B2 (ja) デ−タ選別装置
JPH0926872A (ja) パイプラインマージソータ
JPH02206830A (ja) マージ処理方法
JPH0797311B2 (ja) データソート装置
JPS627579B2 (ja)
JPS6385823A (ja) マルチキ−・ソ−タ
JPH06274391A (ja) マスタファイル高速更新処理方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees