JPH04127321A - 相対キーを利用したカウント分類法によるソート方式 - Google Patents

相対キーを利用したカウント分類法によるソート方式

Info

Publication number
JPH04127321A
JPH04127321A JP24924190A JP24924190A JPH04127321A JP H04127321 A JPH04127321 A JP H04127321A JP 24924190 A JP24924190 A JP 24924190A JP 24924190 A JP24924190 A JP 24924190A JP H04127321 A JPH04127321 A JP H04127321A
Authority
JP
Japan
Prior art keywords
key
value
record
records
relative
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.)
Granted
Application number
JP24924190A
Other languages
English (en)
Other versions
JP3151820B2 (ja
Inventor
Kiyomitsu Hiyoshi
日吉 清充
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP24924190A priority Critical patent/JP3151820B2/ja
Publication of JPH04127321A publication Critical patent/JPH04127321A/ja
Application granted granted Critical
Publication of JP3151820B2 publication Critical patent/JP3151820B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔概要] 相対キーを利用したカウント分類法によるソート方式に
関し、 ハードウェア量を少なくシ、且つ、高速に、多量のレコ
ードを、キー値の順にソートする方式を提供することを
目的とし、 複数個のレコードを格納する入力用バッファと出力用バ
ッファと、該複数個の入力レコードの作業領域と、各レ
コードの順番を付けるカウンタ領域と備えて、該入力用
バッファに格納されたレコードのキー値の順にソートし
て出力用バッファに格納するのに、上記カウンタ領域を
、唯1つ設けて、上記入力用バッファに入力される複数
個のレコードに対して、特定のレコードのキー値を基準
値として設定し、そのキー値を′0゛とし、その他のレ
コードのキー値に対して、上記基準値のキーとの相対値
である相対キーを、相対キー=(変換前のキー)−(基
準値のキー)で算出して、各レコードの相対キーを上記
作業領域に格納し、該格納した作業領域の相対キーが「
負」であるならば、上記カウンタ領域に“‘1’を加算
し、該相対キーが「正J、又は、「0」ならば、その儘
にする処理を繰り返し、上記入力用バッファの全レコー
ドに対して終了したとき、上記カウンタ領域に設定され
ている値だけ「空き」の出力用バッファをスキップした
場所に、上記基準値として設定したレコードを転送する
ことを繰り返してソートするように構成する。
〔産業上の利用分野〕
本発明は、相対キーを利用したカウント分類法によるソ
ート方式に関する。
最近、各種の分野において、計算機システムによるデー
タ処理が行われているが、該データが多量のレコードか
ら構成されている場合、該レコード中の特定の情報をキ
ーとしてソートすることが行われる。
この場合、できる限り、少ないノへ−ドウェア量(例え
ば、メモリ量)で、高速にソートできることが要求され
る。
〔従来の技術と発明が解決しようとする課題〕第2図は
従来のカウント分類法によるソート方式を説明する図で
あり、(a)はノー−ドウニア構成ノ例ヲ示し、(bl
)〜(b4)は、カウント分類法によるソート方式を模
式的示している。
カウント分類法によって、複数個のレコードをソートす
る場合には、(a)図に示したように、入力用バッファ
1と、出力用バッファ2と、入力レコードの作業領域3
と、各レコードの順番を付けるカウンタ領域(以下、カ
ウンタということがある)4とを必要とする。
以下、カウント分類法によるソート方式の手順を(bl
)〜(b4)によって説明する。
1)先ず、カウンタ4の値を°0゛にし、最初のレコー
ド(レコード1)のキ一部のキー値(8”)を作業領域
3に入力し、入力用バッファ 1をポイントするが、そ
れ以外は何も行わない。((bl)図参照) 2)次のレコードのキー値を、該作業領域3に入力し、
既に、入力済みのレコードのキー値との検査を行う。該
検査は、以下の規則により行い、その結果に基づいて、
カウンタ4の値を調整する。
(イ)すでに入力済みのレコードのキー値が、最新のレ
コードのキー値より小さい(キー値として強い)時、最
新のレコードのカウンタ4にl゛を加える。
(ロ)すでに入力済みのレコードのキー値が、最新のレ
コードのキー値より大きい(キー値として弱い)時、入
力済みのレコードのカウンタ4に°1°を加える。
3) 上記2)の処理を、入力用バッファ1に入力され
ている全てのレコード(本例では、レコード1〜4)に
ついて繰り返す。
具体例で説明すると、レコード2のキー値(’3’)を
作業領域3に入力したとき、すでに、入力済みのレコー
ドlのキー値(’8’)  との間で上記の検査を行う
該入力済みのレコード1のキー値が、最新のレコード2
のキー値より弱い(具体的には、キー値が大きい)ので
、上記(ロ)の規則に従って、入力済みのレコードのカ
ウンタ4に°1”が加算される結果、該カウンタ4は(
b2)図に示した通りとなる。
次に、最新のレコード3のキー値(°2”)が作業領域
3に入力された時点では、該レコード3のキー値と、入
力済みのレコード1.2の各キー値との間で上記の検査
が行われるが、上記(ロ)の規則に従う結果、各レコー
ド1,2.3のカウンタ4の値は、「2」 「1」 「
0」となる。
次に、最新のレコード4のキー値(’7’)が作業領域
3に入力され、該レコード3のキー値と、入力済みのレ
コード1,2の各キー値との間で上記の検査が行われる
場合、レコードlとの間では、上記規則(ロ)に従い、
レコード2,3との間では、上記規則(イ)に従う結果
、レコード1のカウンタ3の値は“2°→“3′ とな
り、レコード2゜3のカウンタ3の値は、その優となり
、レコード4のカウンタ3には、r+1+1・2」とな
って、結局、(b3)図に示したようになる。
4)入力用バッファ1に入力されている全てのレコード
のキー値に対する上記検査が終了したら、各レコードの
カウンタの値より、例えば、“l゛大きい位置の出力用
バッファ2に転送する。((b4)図参照) 上記の処理を、ソート対象の全てのレコードにツイテ、
例エバ、入力用バッファ 1のレコード数を単位にして
繰り返す。
上記、従来のカウンタ分類法でソートを行う場合、入力
用バッファ1を構成している個数と同じ数のカウンタ4
を必要とする問題と、該入力用バッファlに入力されて
いる全てのレコードに対する検査が終了するまで、出力
用バッファ2にレコードを転送することができない問題
と、該ソートの手順には、レコード間のキー値を比較す
る命令を実行する必要があり、時間がかかる問題があっ
た。
本発明は上記従来の欠点に鑑み、相対キーを利用したカ
ウント分類法によってソートを行うのに、ハードウェア
量を少なくシ、且つ、高速に、多量のレコードを、キー
値の順にソートする方式を捉供することを目的とするも
のである。
〔課題を解決するための手段〕
上記の問題点は下記の如くに構成した相対キーを利用し
たカウント分類法によるソート方式によって解決される
複数個のレコードを格納する入力用バッファと出力用バ
ッファと、該複数個の入力レコードの作業領域と、各レ
コードの順番を付けるカウンタ領域と備えて、該入力用
バッファに格納されたレコードのキー値の順にソートし
て出力用バッファに格納する方式であって、 上記カウンタ領域を、唯1つ設けて、 上記入力用バッファに入力される複数個のレコードに対
しで、特定のレコードのキー値を基準値として設定し、
そのキー値を°0゛とし、その他のレコードのキー値に
対して、上記基準値のキーとの相対値である相対キーを
、相対キー=(変換前のキー)−(基準値のキー)で算
出して、各レコードの相対キー値を上記作業領域に格納
し、 該格納した作業領域の相対キーが「負」であるならば、
上記カウンタ領域に°‘1’を加算し、該相対キーが「
正」、又は、「0」ならば、その侭にする処理を繰り返
し、上記入力用バッファの全レコードに対して終了した
とき、上記カウンタ領域(4a)に設定されている値だ
け「空き」の出力用バッファをスキップした場所に、上
記基準値として設定したレコードを転送することを繰り
返してソートするように構成する。
〔作用〕
即ち、本発明によれば、複数個のレコードを格納する入
力用バッファと出力用バッファと、該複数個の入力レコ
ードの作業用領域と、各レコードの順番を付けるカウン
タ領域と備えて、該入力用バッファに格納されたレコー
ドのキー値の順にソートして出力用バッファに格納する
のに、唯1つのカウンタを設けて、例えば、入力用バッ
ファの最初に入力されているレコードのキー値を基準値
として、該基準値のレコードのキー値と各レコードのキ
ー値との差を 相対キー=(変換前のキー)=(基準値のキー)として
計算し、その相対キーが、「負」であるならば、上記カ
ウンタに′1′を加算し、該相対キーが、「正」、又は
、「0」であるときは、該カウンタの値をその優とする
処理を、該入力用バッファに格納されている全てのレコ
ードに対して行う。
この処理により、基準キーより強いキー値(具体的には
、キー値が小さい)を持つレコードが存在すると、その
レコードの数が、カウンタでは計数されることになるの
で、該基準キーを有するレコードを、その数だけ弱い方
向にスキップして転送することを繰り返すことでソート
を行うことができる。
更に、このソート方式では、レコード間の演算は、従来
のカウント分類法の比較演算ではなく、単なる減算で済
むので、それだけ、高速にソートを行うことができる。
又、カウンタは、1組の入力用バッファに対して、唯1
個で済み、ハードウェア量を削減することができ、それ
だけ、多くのレコードを処理することができる。又、こ
のカウント分類法は、入力レコードを全て入力用バッフ
ァに読み込んでソートする内部ソート技法(即ち、入力
用バッファに入力レコードを全て読み込んでソートする
技法)であるが、前述のように、入力用バッファに入力
された最初の基準レコードに対して、他の全てのレコー
ドとの相対キーを求めた時点で、該基準となったレコー
ドを出力用バッファに転送でき、その空いた入力用バッ
ファに後続する新たなレコードを入力することができる
ので、レコードの移動とキー作成、即ち、入力用バッフ
ァへの新たなレコードの入力と、該レコードのキー値、
又は、相対キー値を作業領域に転送し、入力用バッファ
をポイントする処理が並行して行える。その結果、入力
レコードが、該入力用バッファより多くて、上記内部ソ
ート技法を利用できない場合に行う、所謂、外部ソート
技法において、該入力用バッファ分のソート結果である
ストリングを生成する時に、本発明のカウント分類法を
活用することができる効果が得られる。
〔実施例〕
以下本発明の実施例を図面によって詳述する。
第1図が本発明の一実施例を示した図であって、(a)
は構成例を示し、(bl)〜(b6)は本発明のカウン
ト分類法によるソートの動作を模式的に示している。
本発明においては、複数個のレコードを格納する入力用
バッファ1と出力用バッファ2と、該複数個の入力レコ
ードの作業領域3と、各レコードの順番を付けるカウン
タ領域4aとを備えて、該入力用バッファ1に格納され
たレコードのキー値の順にソートして出力用バッファ2
に格納するのに、上記カウンタ領域4aを、唯1つ設け
て、上記入力用バッファ1に入力される複数個のレコー
ドに対して、特定のレコードのキー値を基準値として設
定し、そのキー値を°0゛とじ、その他のレコードのキ
ー値に対して、上記基準値のキーとの相対値である相対
キーを、 相対キー=(変換前のキー)−(基準値のキー)で算出
して、各レコードを上記作業領域3に格納し、該格納し
た作業領域の相対キーが「負」であるならば、上記カウ
ンタ領域4に“1“を加算し、該相対キーが「正j、又
は、「0」ならば、その儘にする処理を繰り返し、上記
入力用バッファlの全レコードに対して終了したとき、
上記カウンタ領域4aに設定されている値だけ「空き」
の出力用バッファ2をスキップした場所に、上記基準値
として設定したレコードを転送することを繰り返してソ
ートする手段が、本発明を実施するのに必要な手段であ
る。尚、全図を通して同じ符号は同じ対象物を示してい
る。
以下、第1図に従って、本発明による相対キーを利用し
たカウント分類法によるソート方式を説明する。
本発明においては、(a)図に示したように、入力用バ
ッファl、出力用バッファ2.入力レコードのキー値を
格納する作業領域3と、唯一つのカウンタ領域(カウン
タ) 4aを設ける。
(1)先ず、カウンタ4aの値を′O°にし、最初のレ
コードlのキ一部のキー値を相対キーの基準値として、
作業領域3に該キー値を格納し、該最初のレコードの格
納されている入力用バッファ1をポイントする。  (
(bl)図参照)(2)次のレコード2のキ一部と、上
記基準値となっているレコード1のキ一部を利用して、
相対キーを、 相対キー−(変換前のキー)−(基準値のキー)の算出
式で生成し、作業領域3に格納する。((b2)図参照
) (3)このとき、該作業領域3に格納した相対キーが「
負」ならば、カウンタ4aを°+1′シ、該相対キーが
「正」、又は、「0」ならば、該カウンタ4aは、その
侭にしておく。
(4)上記(2) 、 (3)の処理を、入力用バッフ
ァ1に格納されている全てのレコード(本実施例では、
レコード1〜4)に対して行う。((b3) 、 (b
4)図参照) (5)全てのレコードに対して、上記の処理が終了した
とき、カウンタ4aの値だけ、空きの出力用バッファ2
をスキップして、その場所に、上記基準値として設定し
たレコード(レコード1)を転送する。
何故ならば、該カウンタ4aの値は、上記基準値となっ
ているキー値を持つレコードより強いキー値(具体的に
は、キー値が小さい)を持つレコードの数を示している
からである。((b5)図参照)(6)最初のレコード
1の転送が終了したら、2番目に入力したレコード2を
次の基準値を持つレコードとして設定し、上記カウンタ
4aの値を“0′にして、上記(2)〜(6)を繰り返
す。((b6)図参照) 最後のレコード(本実施例では、レコード4)を、その
時点で空いている場所に転送して、該入力用バッファ1
に格納されていたレコード1〜4に対するソート処理を
終了する。
若し、ソート対象のレコードの数が、上記入力用バッフ
ァ1の数より多いとき、上記(5)の転送処理後に空い
た入力用バッファ1に、次のブロックの最初のレコード
(本実施例では、レコード5〜)から入力して、最初の
レコードでは、そのキー値を、次のレコード以降では、
該ブロックの最初のレコードを基準値とした相対キーを
生成して、作業領域3に格納し、カウンタ4aを上記の
ように調整することを繰り返し、該入力用バッファに一
杯になった時点で、上記基準値のレコードを出力用バッ
ファに転送することを繰り返してソートを行う。
この繰り返し処理で生成されるソート結果(これを、前
述のように、ストリングという)が全て集まった時点で
、各ストリングの先頭のレコードを生成順に取り出し、
並び変えて1本のストリングを生成することにより、該
入力用バッファ lの数より多いレコードに対するソー
トを行うことができる。このソート技法を、前述のよう
に、外部ソート技法という。
本発明の相対キーを利用したカウント分類法によるソー
ト方式は、上記のように、外部ソート技法のストリング
生成にも活用することができるのである。
〔発明の効果〕
以上、詳細に説明したように、本発明の相対キーを利用
したカウント分類法によるソート方式は、従来のカウン
ト分類法が、入力用バッファに入力されているルコード
に対して1つのカウンタ領域(カウンタ)を必要とした
のに対して、相対キーを利用することにより、カウンタ
領域が1つで済むことになり、それだけ、多くのレコー
ドを処理することができる。又、該カウント分類法は内
部ソート技法であるが、相対キーを導入することにより
、残りの全レコードに対して、相対キーを作成した時点
で、基準値としたレコードを出力用バッファに移動する
ことができるため、該レコードの移動と、次のブロック
の最初のレコードを該入力用バッファに入力し、且つ、
作業領域に、該レコードのキー値の設定、相対キーの設
定といったキー作成を並行して行うことができる。従っ
て、前述のように、外部ソート技法のストリング生成に
、本発明の相対キーを利用したカウント分類法によるソ
ート技法を活用することができる効果がある。又、相対
キーの利用により、従来のカウント分類法で必要であっ
た比較命令を極力抑えることができ、ソート実行時間を
削減することができる。
【図面の簡単な説明】
第1図は本発明の一実施例を示した図。 第2図は従来のカウント分類法によるソーを説明する図
。 である。 ト方式 図面において、 1は入力用バッファ、 2は出力用バッファ。 3は作業領域。 4.4aはカウンタ領域(カウンタ)。 をそれぞれ示す。 入力用バッファ 作業領域 カウンタ領域 出力用バッファ (b3) 入力用バッファ 作業領域 カウンタ領域 出力用バンファ (b4) 第 図 (その2) 入力用バッファ イ1ヨiβ11域 (a) 入力用バッファ 作業領域 (bl 入力用バッファ 作業領域 (b2: カウンタ領域 出力用バッファ カウンタ領域 出力用バッファ カウンタ領域 出力用バッファ

Claims (1)

  1. 【特許請求の範囲】  複数個のレコードを格納する入力用バッファ(1)と
    出力用バッファ(2)と、該複数個の入力レコードの作
    業領域(3)と、各レコードの順番を付けるカウンタ領
    域(4a)と備えて、該入力用バッファ(1)に格納さ
    れたレコードのキー値の順にソートして出力用バッファ
    (2)に格納する方式であって、上記カウンタ領域(4
    a)を、唯1つ設けて、上記入力用バッファ(1)に入
    力される複数個のレコードに対して、特定のレコードの
    キー値を基準値として設定し、そのキー値を‘0’とし
    、その他のレコードのキー値に対して、上記基準値のキ
    ーとの相対値である相対キーを、 相対キー=(変換前のキー)−(基準値のキー)で算出
    して、各レコードの相対キー値を上記作業領域(3)に
    格納し、 該格納した作業領域の相対キーが「負」であるならば、
    上記カウンタ領域(4)に‘1’を加算し、該相対キー
    が「正」、又は、「0」ならば、その儘にする処理を繰
    り返し、上記入力用バッファ(1)の全レコードに対し
    て終了したとき、上記カウンタ領域(4a)に設定され
    ている値だけ「空き」の出力用バッファ(2)をスキッ
    プした場所に、上記基準値として設定したレコードを転
    送することを繰り返してソートすることを特徴とする相
    対キーを利用したカウント分類法によるソート方式。
JP24924190A 1990-09-19 1990-09-19 相対キーを利用したカウント分類法によるソート方式 Expired - Fee Related JP3151820B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24924190A JP3151820B2 (ja) 1990-09-19 1990-09-19 相対キーを利用したカウント分類法によるソート方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24924190A JP3151820B2 (ja) 1990-09-19 1990-09-19 相対キーを利用したカウント分類法によるソート方式

Publications (2)

Publication Number Publication Date
JPH04127321A true JPH04127321A (ja) 1992-04-28
JP3151820B2 JP3151820B2 (ja) 2001-04-03

Family

ID=17190028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24924190A Expired - Fee Related JP3151820B2 (ja) 1990-09-19 1990-09-19 相対キーを利用したカウント分類法によるソート方式

Country Status (1)

Country Link
JP (1) JP3151820B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011021347A1 (ja) * 2009-08-18 2011-02-24 株式会社エスグランツ ビット列データソート装置、ソート方法及びプログラム
WO2011024376A1 (ja) * 2009-08-30 2011-03-03 株式会社エスグランツ ビット列データソート装置、方法及びプログラム
US8185525B2 (en) 2004-11-30 2012-05-22 International Business Machines Corporation Ordering query results based on value range filtering
US8515976B2 (en) 2008-12-22 2013-08-20 KOUSOKUYA, Inc. Bit string data sorting apparatus, sorting method, and program

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8185525B2 (en) 2004-11-30 2012-05-22 International Business Machines Corporation Ordering query results based on value range filtering
US8380708B2 (en) * 2004-11-30 2013-02-19 International Business Machines Corporation Methods and systems for ordering query results based on annotations
US8515976B2 (en) 2008-12-22 2013-08-20 KOUSOKUYA, Inc. Bit string data sorting apparatus, sorting method, and program
WO2011021347A1 (ja) * 2009-08-18 2011-02-24 株式会社エスグランツ ビット列データソート装置、ソート方法及びプログラム
JP2011040009A (ja) * 2009-08-18 2011-02-24 S Grants Co Ltd ビット列データソート装置、ソート方法及びプログラム
WO2011024376A1 (ja) * 2009-08-30 2011-03-03 株式会社エスグランツ ビット列データソート装置、方法及びプログラム
JP2011048801A (ja) * 2009-08-30 2011-03-10 S Grants Co Ltd ビット列データソート装置、方法及びプログラム

Also Published As

Publication number Publication date
JP3151820B2 (ja) 2001-04-03

Similar Documents

Publication Publication Date Title
JP2520541B2 (ja) 併合装置及び併合方法
Sawik An exact approach for batch scheduling in flexible flow lines with limited intermediate buffers
US6424970B1 (en) Sorting system and method executed by plural computers for sorting and distributing data to selected output nodes
JPH02178730A (ja) 分割法を用いた内部ソート方式
Kim et al. Cyclic scheduling of cluster tools with nonidentical chamber access times between parallel chambers
JPH04127321A (ja) 相対キーを利用したカウント分類法によるソート方式
JP4136594B2 (ja) データ処理方法およびデータ処理プログラム
CN112764749B (zh) 一种软件功能界面组的生成方法及系统
US7917459B2 (en) System and method for executing complex IF-THEN clauses
JPH0855013A (ja) ソート処理方法および装置
JPH03129521A (ja) 分類加速装置の安定分類
KUMAR et al. A nonlinear goal programming model for the loading problem in a flexible manufacturing system
JPH02289005A (ja) 計数情報の整列処理方式
JPH01134525A (ja) データ処理装置におけるアクセス方式
Murphy et al. A mathematical programming approach to the scheduling of sorting operations
Gan et al. Managing event traces for a web front-end to a parallel simulation
Rysgaard Diagrams in External Memory
Park et al. Enhancing the flexibility of algebraic deadlock avoidance policies through petri net structural analysis
JPH04114207A (ja) Nc加工機用加工データ作成方式
JPS63126030A (ja) ソ−ト処理方式
Choi et al. A machine‐order search space for job‐shop scheduling problems
CN120448596A (zh) 一种电力场景下基于并行处理的模糊地址匹配方法
JPS6358534A (ja) キ−ソ−ト手法における最終処理フエ−ズ制御方式
Ripon et al. Formalizing cCSP synchronous semantics in PVS
JPH01177124A (ja) ソータ記憶管理方式

Legal Events

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