JPH02178730A - 分割法を用いた内部ソート方式 - Google Patents

分割法を用いた内部ソート方式

Info

Publication number
JPH02178730A
JPH02178730A JP63333587A JP33358788A JPH02178730A JP H02178730 A JPH02178730 A JP H02178730A JP 63333587 A JP63333587 A JP 63333587A JP 33358788 A JP33358788 A JP 33358788A JP H02178730 A JPH02178730 A JP H02178730A
Authority
JP
Japan
Prior art keywords
record
division
records
division information
boundary value
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
JP63333587A
Other languages
English (en)
Inventor
Sakae Inoue
栄 井上
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP63333587A priority Critical patent/JPH02178730A/ja
Priority to US07/458,361 priority patent/US5175857A/en
Publication of JPH02178730A publication Critical patent/JPH02178730A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/24Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/22Indexing scheme relating to groups G06F7/22 - G06F7/36
    • G06F2207/222Binary data tree
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99937Sorting

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は分割法を用いた内部ソート方式に関し、特に
入力ファイルにランダムに並んで格納されているソート
対象となるレコード群を所定の順序に整列化されたレコ
ード列に分割してソートストリングを生成する分割法を
用いた内部ソート方式に関する。
(従来の技術) 一般に、ソートとは、入力ファイル中のデータをいくつ
かのソートストリングと称される整列化されたデータ列
に分け、このソートストリング群を併合することによっ
て全体を整列化する処理のことを云う。つまり、ソート
プログラムの構造は、ソートストリングの生成段階と、
ソートストリングの併合段階に大きく分類することがで
きる。
従来、分割法を用いてソートストリングを生成する場合
は、まず入力ファイルからレコードを読出して、それを
メインメモリ内に格納する。次いで、メインメモリに格
納されたレコードの中から分割処理に必要な境界値を選
択し、この境界値をもとにして処理対象レコードを境界
値より小さい部分と大きいか等しい部分とに並べ変える
作業を行なう。この時、境界値より小さい部分が左側、
大きいか等しい部分が右側になるように各レコードはメ
インメモリ内で移動される。そして、左側部分と右側部
分で各々境界値を再選択し、各レコードをその対応する
境界値と比較し、小さい部分が左側、大きいか等しい部
分が右側になるようにメインメモリ内を移動させてレコ
ードの並べ弯えを行なう。このように並べ変え処理を順
次繰返し実行することによって、メインメモリ内に1本
の整列化されたソートストリングを作成する。
しかしながら、このソート方式においては、メインメモ
リ内における各レコードの配置を実際に並べ麦えている
ので、メインメモリ上に整列化の対象となるレコードが
全て入力されるまでは分割処理を実行できない。また、
並べ変えを行なう場合、レコードの長さが大きいとかな
り長い時間が必要になり、ソート処理に時間がかかる欠
点がある。
(発明が解決しようとする課題) この発明は前述の事情に鑑みなされたもので、従来では
メモリ内を実際に移動させてレコードの並べかえを行な
っておりソート処理に時間がかかった点を改善し、各レ
コードにアドレスを付加し、そのアドレスの内容を並べ
変え順に応じた値に更新することによってソート処理を
実行できるようにし、処理速度の速い分割法を用いた内
部ソート方式を提供することを目的とする。
[発明の構成] (課題を解決するための手段) この発明は、入力ファイルに格納されているソート対象
となるレコード群を整列化されたレコード列に分割して
ソートストリングを生成するソート方式であって、前記
入力ファイルから物理ブロック単位で読出されたレコー
ドを格納する入力バッファ手段と、分割処理を実行する
ための各種分割情報が格納される分割情報格納手段と、
前記分割情報に対応づけられたレコードを格納するレコ
ード格納手段と、前記入力バッファ手段に読込まれたレ
コードを前記レコード格納手段に移動する時に、各レコ
ードを所定の第1の境界値と比較し、その境界値との大
小関係に基づいて各レコードを2つに分類するための第
1の分割情報を生成して前記分割情報格納手段に格納す
る手段と、前記レコード手段に移動された各レコードに
対して前記第1の分割情報に対応したアドレスを付加す
る手段と、各分類毎に所定の第2の境界値をそれぞれ設
定し、各レコードを対応する第2の境界値と比較してそ
の境界値との大小関係に基づいて各レコードを各分類毎
にさらに2つに分類するための第2の分割情報を生成し
て前記分割情報格納手段に格納する手段と、前記第2の
分割情報に基づいて前記レコード格納手段に格納されて
いる各レコードのアドレスを更新する手段とを具備し、
アドレスの更新によりレコード群を整列化されたレコー
ド列に分割することを特徴とする。
(作用) この分割法を用いた内部ソート方式においては、各レコ
ードと境界値との大小関係に応じた分割情報に基づいて
アドレスの付は変えが実行される。したがって、メモリ
内を実際に移動させることなくレコードを整列化させる
ことが可能になる。
したがって、処理速度の速いソート方式を実現できる。
(実施例) 以下、図面を参照してこの発明の実施例を説明する。
第1図にこの発明の一実施例に係るシステム構成を示す
。入力ファイル1には、ソート対象となるレコード(デ
ータ)群がランダムに並んで格納されている。メインメ
モリの記憶エリアは、プログラム格納領域2と、入力バ
ッファ4と、分割情報格納領域5と、レコード格納領域
6と、出力バッファ7に分割されている。プログラム領
域2には分割法を用いる整列化処理を実行するCPUの
動作を制御するプログラムが格納されている。入力バッ
フ74は入力ファイル1から物理ブロック単位で読出さ
れたレコード群を一時的に保存するためのもので、この
入力バッファ4に格納されたレコードによって第1回分
割処理のための第1の境界値が設定される。分割情報格
納領域5はCPUが分割処理を実行するために必要な各
種分割情報を格納するものであり、入力バッファ4に格
納された各レコードと第1の境界値との大小関係に基づ
いた第1回分割処理のための情報や、後述する第2回以
降の分割処理のための情報が格納される。レコード格納
領域6には、分割情報格納領域5に格納された分割情報
とリンクのとれた状態でレコードが格納れる。この場合
、各レコードにはアドレス格納領域が付加され、そのア
ドレス格納領域には分割情報に基づいたアドレス値が書
込まれる。出力バッファ7は作業ファイル3に物理ブロ
ック単位でレコードを書込むためにデータ群を一時的に
格納するものであり、作業ファイル3には作成されたソ
ートストリングが格納される。
第2図に第1図のシステムで使用される各レコードのデ
ータフォーマットを示す。図中、11はアドレス格納領
域であり、分割情報格納領域5に格納されている分割情
報に対応したアドレス値、すなわち分割内における次の
レコードのアドレスが格納される。12は入カフアイル
内しコード部であり、入力ファイルのレコードそのもの
が格納されている。
第3図は第1回分割処理終了時の分割情報格納領域5お
よびレコード格納領域6の状態を概念的に示す図である
。図示のように、分割情報格納領域5には、分割レベル
番号領域2L分割レベル内整列番号領域22、左端分割
リンクポインタ23、左端分割内レコード数領域24、
右端分割リンクポインタ25、右端分割内レコード数領
域2Gが設けられている。
分割レベル番号領域21には分割処理の実行回数が記録
され、分割レベル内整列番号領域22にはレベル内の分
割の順序すなわち分割を集合ととらえた時の整列番号が
記録される。左端分割リンクポインタ23は、次レベル
の分割情報格納領域5またはレコード群(分割集合)に
対するアドレスを示すものである。左端分割内レコード
数領域24には、分割後のレコード数が記憶される。右
端分割リンクポインタ25は、次レベルの分割情報格納
領域5またはレコード群(分割集合)に対するアドレス
を示すものである。右端分割内レコード数領域26には
、分割後のレコード数が記録される。
すなわち、第1回分割処理が終了した時点では、レコー
ド格納領域6には境界値よりも小さいレコードが左端分
割部分、大きいか等しいレコードが右端分割部分として
分割して格納される。そして、各レコードのアドレス格
納領域には左端分割リンクポインタ23、右端分割リン
クポインタ25によって指定される次レコードアドレス
がそれぞれ書込まれる。
第4図は2回口以降の分割処理終了時の分割情報格納領
域5およびレコード格納領域8の状態を概念的に示す図
である。図中、31aはレベル1左端分割リンクポイン
タであり、次レベルの分割情報のための左端分割部のア
ドレスが格納されている。31bはレベル1右端分割リ
ンクポインタであり、次レベルの分割情報のための右端
分割部のアドレスが格納されている。32はレベル2整
列番号l左端分割リンクポインタであり、第2レベルに
おけるレコード群へのアドレスが格納されている。
33はレベル2!1列番号2左端分割リンクポインタで
あり、第2レベルにおけるレコード群へのアドレスが格
納されている。34はレベル2整列番号l右端分割リン
クポインタであり、第2レベルにおけるレコード群への
アドレスが格納されている。
35はレベル2整列番号2右端分割リンクポインタであ
り、レコード群へのアドレスが格納されている。
このように、第1回分割処理で左端分割部と右端分割部
に分類されたレコード群は、第2回分割処理によって各
分割部毎にさらに左端分割部と右端分割部とに分割され
る。この場合、その分割処理はレコードの格納位置を変
えるのではなく、レコードのアドレスを付は変えること
によって実行される。
次に第5図のフローチャートを参照して第1図乃至第4
図で示したこの発明のシステムにおけるソート動作を説
明する。
まず、入力ファイルイ1から物理ブロック単位でレコー
ドを読込み、入力バッファ4に格納する(ステップSl
)。次いで、その入力バッファ4に格納されたデータの
中から第1回分割処理のための境界値を選択する(ステ
ップS2)。次に、大力バッファ4からレコード格納領
域5にレコードを移動する時、各レコードに第2図に示
したようなアドレス格納領域を付加すると共に、各レコ
ードを入力バッファ4の内容によって求めた境界値と比
較してその大小関係に基づいたアドレスを代入する(ス
テップS3)。そして、レコード格納領域6が満たされ
るまでステップS3の処理を行なうと、分割情報格納領
域5およびレコード格納領域6の状態は第3図に示した
ようになる。
次いで、左端分割部と右端分割部とでそれぞれ第2回分
割処理のための境界値を設定し、各分割部毎にレコード
と境界値との大小関係を比較決定し、その大小関係に基
づいて各レコードに付加されているアドレスを変更する
(ステップS4)。
このステップS4の処理を繰返し実行することにより、
1本のソートストリングを作成する。最後に、ソートス
トリングを出力バッファ7に移動して、ブロック単位に
作業ファイル3への書込み処理を行なう(ステップS5
)。
[発明の効果コ 以上のように、この発明によれば、実際にレコードを主
記憶装置内を移動して並べ変えるのではなく、アドレス
の付は変えによって大小関係を表現していくので、分割
処理を高速に実行することができる。
【図面の簡単な説明】
第1図はこの発明の一実施例に係るシステム構成を示す
図、第2図は第1図に示したシステムで使用される各レ
コードのデータ形式を示す図、第3図および第4図はそ
れぞれ第1図のシステムに設けられた分割情報格納領域
とレコード格納領域のデータ格納状態を概念的に示す図
、第5図は第1図に示したシステムのソート動作を説明
するフローチャートである。 l・・・入力ファイル、2・・・プログラム格納領域、
3・・・作業ファイル、4・・・入力バッファ、5・・
・分割情報格納領域、6・・・レコード格納領域、7・
・・出力バッファ。 第5図 出願人代理人 弁理士 鈴江武彦

Claims (1)

  1. 【特許請求の範囲】 入力ファイルに格納されているソート対象となるレコー
    ド群を整列化されたレコード列に分割してソートストリ
    ングを生成するソート方式であって、 前記入力ファイルから物理ブロック単位で読出されたレ
    コードを格納する入力バッファ手段と、分割処理を実行
    するための各種分割情報が格納される分割情報格納手段
    と、前記分割情報に対応づけられたレコードを格納する
    レコード格納手段と、前記入力バッファ手段に読込まれ
    たレコードを前記レコード格納手段に移動する時に、各
    レコードを所定の第1の境界値と比較し、その境界値と
    の大小関係に基づいて各レコードを2つに分類するため
    の第1の分割情報を生成して前記分割情報格納手段に格
    納する手段と、前記レコード手段に移動された各レコー
    ドに対して前記第1の分割情報に対応したアドレスを付
    加する手段と、各分類毎に所定の第2の境界値をそれぞ
    れ設定し、各レコードを対応する第2の境界値と比較し
    てその境界値との大小関係に基づいて各レコードを各分
    類毎にさらに2つに分類するための第2の分割情報を生
    成して前記分割情報格納手段に格納する手段と、前記第
    2の分割情報に基づいて前記レコード格納手段に格納さ
    れている各レコードのアドレスを更新する手段とを具備
    し、アドレスの更新によりレコード群を整列化されたレ
    コード列に分割することを特徴とする分割法を用いた内
    部ソート方式。
JP63333587A 1988-12-28 1988-12-28 分割法を用いた内部ソート方式 Pending JPH02178730A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP63333587A JPH02178730A (ja) 1988-12-28 1988-12-28 分割法を用いた内部ソート方式
US07/458,361 US5175857A (en) 1988-12-28 1989-12-28 System for sorting records having sorted strings each having a plurality of linked elements each element storing next record address

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63333587A JPH02178730A (ja) 1988-12-28 1988-12-28 分割法を用いた内部ソート方式

Publications (1)

Publication Number Publication Date
JPH02178730A true JPH02178730A (ja) 1990-07-11

Family

ID=18267713

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63333587A Pending JPH02178730A (ja) 1988-12-28 1988-12-28 分割法を用いた内部ソート方式

Country Status (2)

Country Link
US (1) US5175857A (ja)
JP (1) JPH02178730A (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5465371A (en) * 1991-01-29 1995-11-07 Ricoh Company Ltd. Sorter for sorting data based on a plurality of reference value data
US5263160A (en) * 1991-01-31 1993-11-16 Digital Equipment Corporation Augmented doubly-linked list search and management method for a system having data stored in a list of data elements in memory
JP3152466B2 (ja) * 1991-04-04 2001-04-03 三菱電機株式会社 ソーティング装置およびソーティング方法
US5396622A (en) * 1991-12-23 1995-03-07 International Business Machines Corporation Efficient radix sorting system employing a dynamic branch table
US5355478A (en) * 1991-12-23 1994-10-11 International Business Machines Corporation Method for avoiding cache misses during external tournament tree replacement sorting procedures
US5410722A (en) * 1993-01-21 1995-04-25 Conner Peripherals, Inc. Queue system for dynamically allocating and moving memory registers between a plurality of pseudo queues
JP3515810B2 (ja) * 1994-08-16 2004-04-05 富士通株式会社 ソート処理方法および装置
TW283220B (ja) * 1994-09-28 1996-08-11 I2 Technologies Inc
US5630123A (en) * 1994-09-28 1997-05-13 I2 Technologies, Inc. Software system utilizing a filtered priority queue and method of operation
US5845258A (en) * 1995-06-16 1998-12-01 I2 Technologies, Inc. Strategy driven planning system and method of operation
US5832532A (en) * 1995-06-16 1998-11-03 I2 Technologies, Inc. Model-independent and interactive report generation system and method of operation
US5764543A (en) * 1995-06-16 1998-06-09 I2 Technologies, Inc. Extensible model network representation system for process planning
US7085729B1 (en) 1995-06-16 2006-08-01 I2 Technologies Us, Inc. System and method for allocating manufactured products to sellers
US6188989B1 (en) 1995-06-16 2001-02-13 I2 Technologies, Inc. System and method for managing available to promised product (ATP)
US5671406A (en) * 1995-10-18 1997-09-23 Digital Equipment Corporation Data structure enhancements for in-place sorting of a singly linked list
US6963847B1 (en) 1998-09-18 2005-11-08 I2 Technologies Us, Inc. System and method for managing ATP data in a distributed supply chain planning environment
US7039602B1 (en) 1999-06-14 2006-05-02 I2 Technologies Us, Inc. Configuring products with default sections determined according to optimization functions
WO2001090879A1 (en) * 2000-05-26 2001-11-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for displaying information
US7249044B2 (en) * 2000-10-05 2007-07-24 I2 Technologies Us, Inc. Fulfillment management system for managing ATP data in a distributed supply chain environment
US7065499B1 (en) 2001-03-19 2006-06-20 I2 Technologies Us, Inc. Intelligent order promising
US7024371B2 (en) * 2001-04-13 2006-04-04 I2 Technologies Us, Inc. High availability planning and scheduling architecture
US7043444B2 (en) * 2001-04-13 2006-05-09 I2 Technologies Us, Inc. Synchronization of planning information in a high availability planning and scheduling architecture
US10089379B2 (en) * 2008-08-18 2018-10-02 International Business Machines Corporation Method for sorting data
US20100241638A1 (en) * 2009-03-18 2010-09-23 O'sullivan Patrick Joseph Sorting contacts

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4086628A (en) * 1971-11-10 1978-04-25 International Business Machines Corporation Directory generation system having efficiency increase with sorted input
US3931612A (en) * 1974-05-10 1976-01-06 Triad Systems Corporation Sort apparatus and data processing system
US4031520A (en) * 1975-12-22 1977-06-21 The Singer Company Multistage sorter having pushdown stacks with concurrent access to interstage buffer memories for arranging an input list into numerical order
US4209845A (en) * 1977-01-25 1980-06-24 International Business Machines Corporation File qualifying and sorting system
US4279015A (en) * 1979-06-13 1981-07-14 Ford Motor Company Binary output processing in a digital computer using a time-sorted stack
US4510567A (en) * 1981-05-18 1985-04-09 International Business Machines Corp. Qualifying and sorting file record data
US4499555A (en) * 1982-05-06 1985-02-12 At&T Bell Laboratories Sorting technique
US4611310A (en) * 1982-08-23 1986-09-09 Canevari Timber Co. Method and system for rearranging data records in accordance with keyfield values
US4520456A (en) * 1983-02-18 1985-05-28 International Business Machines Corporation Dual reciprocating pipelined sorter
US4567572A (en) * 1983-02-22 1986-01-28 The United States Of America As Represented By The Director Of The National Security Agency Fast parallel sorting processor
WO1984003970A1 (en) * 1983-03-30 1984-10-11 Siemens Ag Hybrid associative memory and method for the retrieval and sorting of data contained therein
US4575798A (en) * 1983-06-03 1986-03-11 International Business Machines Corporation External sorting using key value distribution and range formation
DE3322706A1 (de) * 1983-06-24 1985-01-10 Fa. Carl Zeiss, 7920 Heidenheim Schaltungsanordnung zur schnellen rangordnungsauswahl oder -sortierung
US4611280A (en) * 1984-03-12 1986-09-09 At&T Bell Laboratories Sorting method
US4679139A (en) * 1984-05-01 1987-07-07 Canevari Timber Co., Inc. Method and system for determination of data record order based on keyfield values
US4674039A (en) * 1984-10-09 1987-06-16 Chouery Farid A Method for determining whether a given value is included in an ordered table of values stored in a computer readable memory
US4799152A (en) * 1984-10-12 1989-01-17 University Of Pittsburgh Pipeline feedback array sorter with multi-string sort array and merge tree array
US4809158A (en) * 1985-10-23 1989-02-28 Mccauley Peter B Sorting method and apparatus
US4962451A (en) * 1985-11-07 1990-10-09 International Business Machines Corporation Cache-effective sort string generation method
US4873625A (en) * 1987-11-17 1989-10-10 International Business Machines Corporation Method and apparatus for extending collation functions of a sorting program
US4991134A (en) * 1988-03-30 1991-02-05 International Business Machines Corporation Concurrent sorting apparatus and method using FIFO stacks

Also Published As

Publication number Publication date
US5175857A (en) 1992-12-29

Similar Documents

Publication Publication Date Title
JPH02178730A (ja) 分割法を用いた内部ソート方式
US5222235A (en) Databases system for permitting concurrent indexing and reloading of data by early simulating the reload process to determine final locations of the data
US4514826A (en) Relational algebra engine
US20020065793A1 (en) Sorting system and method executed by plural computers for sorting and distributing data to selected output nodes
JP3251138B2 (ja) ハッシュ方式
JP3515810B2 (ja) ソート処理方法および装置
US7096462B2 (en) System and method for using data address sequences of a program in a software development tool
CN110377601B (zh) 一种基于B树数据结构的MapReduce计算过程优化方法
KR100289087B1 (ko) 비플러스트리에다수의키값을추가하기위한방법
JPS6172333A (ja) 複数ファイルのマージ方法
US20220138338A1 (en) Data replacement apparatus, data replacement method, and program
JPS6266326A (ja) 日本語デ−タ整列処理方式
JPS6143338A (ja) 連想技術を使用して稀薄なデータベースをサーチする方法
JPH0239225A (ja) ファイルシステム
JP2926803B2 (ja) ソート処理方法
JPH03202934A (ja) データ処理装置
JPH0145648B2 (ja)
JPS6143339A (ja) 連想マトリツクスのサーチ方法
JP3293551B2 (ja) ソート処理方法
JP2507399B2 (ja) デ―タベ―ス装置
JPH0291725A (ja) 併合処理方式
JPH0275018A (ja) マージ処理方法
JPH0199125A (ja) リンク分類方式
JPH02165325A (ja) ランダムアクセス可能なファイルのソート方式
JPH04353944A (ja) 索引順編成ファイルのレコード追加方式