JPH0312736A - Method and device for processing merge - Google Patents
Method and device for processing mergeInfo
- Publication number
- JPH0312736A JPH0312736A JP14859189A JP14859189A JPH0312736A JP H0312736 A JPH0312736 A JP H0312736A JP 14859189 A JP14859189 A JP 14859189A JP 14859189 A JP14859189 A JP 14859189A JP H0312736 A JPH0312736 A JP H0312736A
- Authority
- JP
- Japan
- Prior art keywords
- record
- string
- circuit
- identifier
- output
- 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
- 238000000034 method Methods 0.000 title claims abstract description 14
- 238000003672 processing method Methods 0.000 claims description 4
- 208000009766 Blau syndrome Diseases 0.000 abstract 3
- 238000010586 diagram Methods 0.000 description 8
- 230000001174 ascending effect Effects 0.000 description 2
- 101100313164 Caenorhabditis elegans sea-1 gene Proteins 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はあらかじめソート済みの複数のレコード列をマ
ージして1個のレコード列にするマージ処理に係り、特
に複数のマージ出力をさらにマージする多段マージ処理
などに好適なマージ処理方法及び装置に関する。[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to merging processing of merging a plurality of pre-sorted record strings into a single record string, and particularly relates to merging of a plurality of merged outputs. The present invention relates to a merge processing method and apparatus suitable for multi-stage merge processing.
一般にマージ処理は、メモリに格納しているソート済み
の複数のレコード列をソート回路を用いて1個のレコー
ド列にソートし直すことで行われる0通常、このマージ
処理は二つの処理フェーズからなる。第一の処理フェー
ズでは、メモリに格納された複数のレコード列の各々か
ら1番目のレコードを読み出してソート回路に入力する
。ソート回路は、入力された複数のレコードから最小あ
るいは最大のレコードを選択し、1回目のマージ結果と
して出力する。残りのレコードはソート回路内に保持し
ておく0次に、第2の処理フェーズでは、マージ結果と
して出力したレコードが属するレコード列の2番目のレ
コードをメモリから読み出してソート回路に入力する。Generally, merging processing is performed by re-sorting multiple sorted record strings stored in memory into a single record string using a sorting circuit.Normally, this merging processing consists of two processing phases. . In the first processing phase, the first record is read from each of a plurality of record strings stored in the memory and input to the sorting circuit. The sorting circuit selects the smallest or largest record from the plurality of input records and outputs it as the first merge result. The remaining records are held in the sorting circuit.Next, in the second processing phase, the second record of the record string to which the record output as the merge result belongs is read from the memory and input to the sorting circuit.
ソート回路は、保持されているレコードと入力されたレ
コードから最小あるいは最大のレコードを選択し、2回
目のマージ結果として出力する。以後、この第2の処理
フェーズを、複数のレコード列の全てのレコードがメモ
リから読み出されるまで繰り返すことにより、マージ処
理が完了する。The sorting circuit selects the smallest or largest record from the held records and the input records, and outputs it as the second merge result. Thereafter, the merging process is completed by repeating this second processing phase until all records of the plurality of record strings are read from the memory.
従来、上記第2の処理フェーズを行うにあたり。Conventionally, in performing the above second processing phase.
ソート回路へ入力するレコードに、該レコードが属する
レコード列を識別するための識別子(例えばバンクアド
レス)をあらかじめ付加しておき、ソート回路から出力
されたレコードの該識別子を参照することにより、次に
メモリから読み出すべきレコードの属するレコード列を
決定している。An identifier (for example, a bank address) for identifying the record string to which the record belongs is added to the record input to the sorting circuit in advance, and by referring to the identifier of the record output from the sorting circuit, the next The record column to which the record to be read from memory belongs is determined.
なお、この種のマージ処理に関連する公知文献としては
1例えば特開昭61−42031号公報が挙げられる。Note that, as a known document related to this type of merging process, for example, Japanese Patent Laid-Open No. 61-42031 can be cited.
上記従来技術では、あるレコード列内の全レコードの出
力完了を検出することについては配慮されておらず、個
々のレコード列に含まれるレコード数を一定とするか、
あるいは、レコード数が異なる場合はその個数をあらか
じめ知ってお(必要があり、個々のデータ列に含まれる
レコード数が未知の場合にはマージ処理が不可能であっ
た。なお、レコード列の終りに例えば必ず値110 I
+のソートデータ (キー)を配置して、レコード列の
終了を示すことが考えられるが、レコードの表現するデ
ータとして“0′″が含められない、値11011のレ
コードをソート対象とするので(ソート結果、レコード
列の終りと判定)、時間的損失がある等の問題が生じる
。The above-mentioned conventional technology does not consider detecting the completion of output of all records in a certain record string, and either sets the number of records included in each record string to be constant, or
Alternatively, if the number of records is different, it is necessary to know the number in advance. If the number of records included in each data string is unknown, merging processing is impossible. For example, always have the value 110 I
It is conceivable to place + sort data (key) to indicate the end of the record string, but since "0'" cannot be included as the data expressed by the record, and the record with the value 11011 is to be sorted ( Problems such as sorting results (judgment that the record string is at the end), time loss, etc. occur.
本発明の目的は1個々のレコード列に含まれるレコード
数が未知であっても容易にマージ処理を可能とするマー
ジ処理方法及び装置を提供することにある。SUMMARY OF THE INVENTION An object of the present invention is to provide a merging method and apparatus that allows easy merging even if the number of records included in each record string is unknown.
本発明の他の目的は複数のマージ出力レコード列をさら
にマージする多段マージ処理が容易に実現可能なマージ
処理方法及び装置を提供することにある。Another object of the present invention is to provide a merge processing method and apparatus that can easily implement multi-stage merge processing for further merging a plurality of merge output record strings.
上記目的を達するために、本発明は、複数のあらかじめ
ソート済みのレコード列をマージして1本のソート済み
のレコード列を出力するマージ処理において、複数のあ
らかじめソート済みのレコード列中の各々のレコードに
、該レコードが属するレコード列中の最終レコードであ
るか否かを示す最終レコード識別子と、該レコードが属
するレコード列を識別するレコード列識別子を付加する
ことを特徴とする。さらに、上記1本にソートされるレ
コード列の各々のレコードにも、該レコード列を識別す
るレコード列識別子と、最終レコードであるか否かを示
す最終レコード識別子を付加して出力するようにする。In order to achieve the above object, the present invention provides a method for merging multiple pre-sorted record columns to output one sorted record column. The present invention is characterized in that a final record identifier indicating whether or not the record is the last record in the record string to which the record belongs, and a record string identifier for identifying the record string to which the record belongs are added to the record. Furthermore, each record in the record string to be sorted into one record string is outputted with a record string identifier that identifies the record string and a final record identifier that indicates whether or not it is the final record. .
ソート回路から出力されるレコードのレコード列識別子
により1次にメモリから読み出すべきレコードの属する
レコード列を判別して、該当レコードをメモリから読み
出す。この操作を繰り返して実行し、その間、レコード
列の最終を示す最終レコード列識別子の付加されたレコ
ードが出力される回数を計数する。この計数値がマージ
処理対象のレコード列の個数に一致した時、未処理のレ
コードが一つも残っていないことを意味するので、マー
ジ処理を終了とする。これにより1個々のレコード列に
含まれるレコード数が未知であっても、レコード列の終
りに値110 I+等のソートデータを配置することな
く容易にマージ処理が可能になる。The record string to which the record to be read from the memory belongs is determined based on the record string identifier of the record output from the sorting circuit, and the corresponding record is read from the memory. This operation is repeated and the number of times a record with a final record string identifier indicating the end of the record string is output is counted. When this count value matches the number of record strings to be merged, it means that there are no unprocessed records left, so the merge process is terminated. As a result, even if the number of records included in each record string is unknown, merging processing can be easily performed without placing sort data such as the value 110 I+ at the end of the record string.
また、1本にソートされたレコード列の各々のレコード
にレコード列識別子と最終レコード識別子を付加するこ
とにより、複数のマージ結果のレコード列を更にマージ
する多段マージ処理が、同様の処理形態で容易に実現で
きる。In addition, by adding a record string identifier and a final record identifier to each record in a sorted record string, multi-stage merging processing that further merges record strings resulting from multiple merges can be easily performed using the same processing format. can be realized.
以下、本発明の一実施例について図面に従い説明する。 An embodiment of the present invention will be described below with reference to the drawings.
第1図は本発明の実施例の構成図である。各々は任意の
数のレコードを含むあらかじめソート済みのに個(K>
1)のレコード列がメモリ21に格納されている。入力
回路1はアドレス線23に選択したレコード列の先頭の
アドレスを与え、メモリ21からデータ線22を介して
該当レコード列のルコードを読み出す、メモリ21から
読み出されたレコードを、最大に個のレコードをソート
できるソート回路2でソートし、データ弁別回路3を介
して出力回路5から出力線10に出力する。各レコード
は、第2図に示すようにKEY。FIG. 1 is a block diagram of an embodiment of the present invention. Each contains an arbitrary number of records (K>
The record string 1) is stored in the memory 21. The input circuit 1 gives the start address of the selected record string to the address line 23, reads the code of the selected record string from the memory 21 via the data line 22, and divides the records read from the memory 21 into the maximum number of records. Records are sorted by a sorting circuit 2 capable of sorting records, and output from an output circuit 5 to an output line 10 via a data discrimination circuit 3. Each record has a KEY as shown in Figure 2.
SID、EO5の各部からなり、それぞれソートデータ
、レコード列識別子、最終レコード識別子である。メモ
リ21に格納されるに本のレコード列中i番目のレコー
ド列(i=1,2.・・・、K)に含まれるレコード列
識別子SIDはすべてiとなっている。また、K本のレ
コード列のそれぞれの最後のレコードは最終レコード識
別子EO5が1で、それ以外のレコードではEO5はO
である。It consists of parts SID and EO5, which are sort data, record string identifier, and final record identifier, respectively. The record string identifier SID included in the i-th record string (i=1, 2, . . . , K) among the book record strings stored in the memory 21 is all i. Also, the last record of each of the K record strings has a final record identifier EO5 of 1, and for other records, EO5 is 0.
It is.
データ弁別回路3はソート回路2からの出力レコードを
ソートデータKEY、レコード列識別子SID、最終レ
コードEO5に弁別し、それぞれ出力回路5、セレクタ
1,8、制御回路7に送る。出力回路5では弁別回路3
からのソートデータKEY、制御回路7より与える新デ
ータ列識別子9および新最終レコード識別子17をまと
めて出力レコードを作る。制御回路7はマージ処理全体
を制御する。The data discrimination circuit 3 discriminates the output records from the sorting circuit 2 into sort data KEY, record string identifier SID, and final record EO5, and sends them to the output circuit 5, selectors 1 and 8, and control circuit 7, respectively. In the output circuit 5, the discrimination circuit 3
The sort data KEY from , the new data string identifier 9 given from the control circuit 7 and the new final record identifier 17 are put together to create an output record. A control circuit 7 controls the entire merge process.
次に、第3図および第4図に従い本マージ処理装置の動
作を説明する。昇順ソート、降順ソートの違いは動作の
説明上重要ではないので、以後、昇順ソートの説明を行
うが、降順ソートも同様にして可能である。第3図はマ
ージ処理のタイムチャートを示す図である。また、第4
図はマージ処理の制御を示フローチャートである。マー
ジ処理はマージ1とマージ2の二つのフェーズからなる
。Next, the operation of the present merge processing apparatus will be explained with reference to FIGS. 3 and 4. Since the difference between ascending order sorting and descending order sorting is not important in explaining the operation, ascending order sorting will be explained hereafter, but descending order sorting is also possible in the same way. FIG. 3 is a diagram showing a time chart of merge processing. Also, the fourth
The figure is a flowchart showing control of merge processing. The merge process consists of two phases: merge 1 and merge 2.
マージ1では、メモリ21からに個のレコード列の各々
の先頭のレコードを1つずつ取り出してソート回路2に
格納する。制御回路7はに個のレコード列を計数するカ
ウンタを有し、信号l;A19で制御されるセレクタ1
8を介して、入力回路1に該カウント値20をレコード
列識別信号24として設定する共に信号線14からGE
T信号を送る。入力回路1は、メモリ21に格納されて
いるに個のレコード列に対応したに個のアドレスレジス
タを有し、レコード列識別信号24に対応するアドレス
レジスタを選択し、アドレス線23を介してメモリ21
に出力する。そして、入力回路1はGET信号が入力す
ると、メモリ21から出力データ線22に読み出された
レコードを人力する。In the merge 1, the first records of each record string are taken out one by one from the memory 21 and stored in the sorting circuit 2. The control circuit 7 has a counter for counting record strings, and has a selector 1 controlled by a signal 1; A19.
8, the count value 20 is set in the input circuit 1 as the record string identification signal 24, and the signal line 14 is connected to the GE
Send T signal. The input circuit 1 has address registers corresponding to the record strings stored in the memory 21, selects the address register corresponding to the record string identification signal 24, and inputs the address register to the memory via the address line 23. 21
Output to. When the input circuit 1 receives the GET signal, it manually inputs the record read from the memory 21 to the output data line 22.
さらに、入力回路1は、該当レコード列中の次に小さな
値を有するレコードのアドレスとなるように、レコード
列識別信号24に対応するアドレスレジスタの内容を更
新し1次に同一のレコード列への要求が来る場合に備え
る。次に、制御回路7はソート回路2に信号線15から
P U S H信号を送る。この信号によりソート回路
2は入力回路1からルーコード読み込み、それまでに内
部に保持されているレコードと比較を行う。Furthermore, the input circuit 1 updates the contents of the address register corresponding to the record string identification signal 24 so that it becomes the address of the record having the next smallest value in the corresponding record string, and the input circuit 1 updates the contents of the address register corresponding to the record string identification signal 24 so that it becomes the address of the record having the next smallest value in the corresponding record string. Be prepared in case a request comes. Next, the control circuit 7 sends a PUSH signal to the sorting circuit 2 from the signal line 15. In response to this signal, the sorting circuit 2 reads the Lou code from the input circuit 1 and compares it with the record held internally up to that point.
以上の動作を、制御回路7が内部のカウンタに■を加え
、上限値にと比較し、カウンタかに以下の値を示してい
る間繰り返す。メモリ21の各々のレコード列はあらか
じめソートされているので。The control circuit 7 adds ■ to the internal counter, compares it with the upper limit value, and repeats the above operation while the counter shows the following value. Each record column in memory 21 is sorted in advance.
ソー1−回路2で読み込んだ先頭のレコードは、各レコ
ード列中のそれぞれの最小の値を有することになる。The first record read in So 1-Circuit 2 will have the respective minimum value in each record string.
マージ1が終了した時点で、ソー1〜回路2のなかには
に個の異なる510を有するレコードが格納され、ソー
ト回路2は、このに個のレコードをソートして、その中
からさらに最小のレコードを決定する。入力したレコー
ドは各レコード列の最小のレコードであるから、マージ
1で決定した最小レコードは、すべてのレコード中最小
のレコードである。ソート回路2はレコードの取り出し
の要求を受けると、内部に保持する最大に個のレコード
のうち最小のレコードを出力するので、引き続くマージ
2で最初に出力されるレコードはすべてのレコード中最
小のレコードである。When merge 1 is completed, records with different numbers of 510 are stored in sort 1 to circuit 2, and sort circuit 2 sorts these records and selects the smallest record from among them. decide. Since the input record is the smallest record in each record string, the smallest record determined in merge 1 is the smallest record among all records. When sorting circuit 2 receives a request to retrieve records, it outputs the smallest record out of the maximum number of records it holds internally, so the first record output in the subsequent merge 2 is the smallest record out of all the records. It is.
マージ2では、ソート回路2からルーコードを取り出し
データ弁別回路3を介して出力回路5から出力したのち
、入力回路1によりメモリ21から次のレコードを取り
出してソート回路2に格納しソート(マージ)する動作
をに個のEO8がソート回路2から出力されるまで繰り
返す。In merge 2, the roux code is taken out from the sorting circuit 2 and outputted from the output circuit 5 via the data discrimination circuit 3, and then the next record is taken out from the memory 21 by the input circuit 1, stored in the sorting circuit 2, and sorted (merged). This operation is repeated until EO8 are output from the sorting circuit 2.
制御回路7は、まずデータ弁別回路3の出力SIDが入
力回路1のレコード識別信号24になるようにセレクタ
18を信号線19で制御すると共に、内部のカウンタを
初期化する。次に制御回路7がソート回路2に信号線1
6からP OP信号を送ると、ソート回路2は、内部に
格納するレコードのうちもっとも小さなレコードをデー
タ弁別回路3に出力する。データ弁別回路3では、入力
したレコードをSID、KEY、EO8に弁別し、それ
ぞれ信号線18,13.12に出力する。出力回路5は
、データ弁別回路3からのソートデータKEYと制御回
路7からの新データ列識別子9、新最終データ識別子1
7を受け、第2図に示すレコード形式のデータとして出
力線10から出力する。ここで、新データ列識別子9は
、制御回路7から固定値が設定されている。該固定値は
に個のレコードをマージして得られるレコード列を示す
。The control circuit 7 first controls the selector 18 via the signal line 19 so that the output SID of the data discrimination circuit 3 becomes the record identification signal 24 of the input circuit 1, and also initializes an internal counter. Next, the control circuit 7 sends the signal line 1 to the sorting circuit 2.
When a POP signal is sent from the sorting circuit 6, the sorting circuit 2 outputs the smallest record among the records stored therein to the data discrimination circuit 3. The data discrimination circuit 3 discriminates the input record into SID, KEY, and EO8, and outputs them to signal lines 18, 13.12, respectively. The output circuit 5 outputs the sort data KEY from the data discrimination circuit 3, the new data string identifier 9 and the new final data identifier 1 from the control circuit 7.
7 and outputs it from the output line 10 as data in the record format shown in FIG. Here, the new data string identifier 9 is set to a fixed value by the control circuit 7. The fixed value indicates a record string obtained by merging records.
新最終データ識別子17は、後述するようにに個のEO
8が出力されたときに1となる信号であり、K個目のE
O8に対応する出力データに対してのみ1となり、それ
以外の出力データに対してはOである。The new final data identifier 17 is the number of EOs as described below.
This is a signal that becomes 1 when 8 is output, and the Kth E
It is 1 only for output data corresponding to O8, and is O for other output data.
制御回路7はデータ弁別回路3の出力EO8が1のとき
に内部カウンタに1を加える。EO8が1のレコードは
、そのレコード列の最後のレコードであり、このレコー
ド列の中でもっとも大きいレコードであるので、このレ
コードが出力されたことは、このレコードが属していた
レコード列が全てメモリ21から読み出されたことを表
す。内部カウンタがKより大きい値になったとき、制御
口・路7は新最終データ識別子17を1とし、出力デー
タが作成中の部分レコード列の最後のレコードであるこ
とを示す、このときに個のレコード列はすべて出力され
ているのでマージ処理は終了する。The control circuit 7 adds 1 to the internal counter when the output EO8 of the data discrimination circuit 3 is 1. A record with EO8 of 1 is the last record in the record string and is the largest record in this record string, so the fact that this record was output means that all the record strings to which this record belonged are in memory. 21. When the internal counter reaches a value greater than K, the control port/path 7 sets the new final data identifier 17 to 1, indicating that the output data is the last record of the partial record sequence being created. Since all of the record columns have been output, the merge process ends.
EO8がOの場合、出力したレコードはSIDで示すレ
コード列のデータであり、該レコード列にはまだ処理す
べきレコードが存在する。このとき、次に出力すべきす
なわち次に小さなレコードの候補としては、ソート回路
2の中のレコードもしくはメモリ21の中の該SIDで
示すレコード列の次のレコードがある。そこで、これら
のレコードを比較するため、データ弁別回路3の出力S
IDで示すレコード列の次のレコードをメモリ21から
読み出し、ソート回路2に人力しなければならない。If EO8 is O, the output record is the data of the record string indicated by SID, and there are still records to be processed in the record string. At this time, candidates for the next smallest record to be output include the record in the sorting circuit 2 or the next record in the record string indicated by the SID in the memory 21. Therefore, in order to compare these records, the output S of the data discrimination circuit 3
The next record in the record string indicated by the ID must be read from the memory 21 and input to the sorting circuit 2 manually.
第3図のタイムチャートのマージ2の先頭では、SID
がiであるキーをソート回路2が出力しており、このE
O5はOであるから、制御回路7はGET信号を入力回
路1に与える。このときデータ弁別回路3からセレクタ
18を介し、5ID(i)がレコード識別信号24とし
て入力回路1に与えられるので、入力回路1は1番1]
のレコード列のアドレスレジスタを選択してそのアドレ
スをメモリ21に出力し、i番目のレコード列から次の
ルコード取り出す、そして、入力回路1では、このアド
レスレジスタの内容(1番[1のレコード列の先頭レコ
ードのアドレス)を更新する。At the beginning of merge 2 in the time chart in Figure 3, the SID
The sorting circuit 2 outputs a key whose value is i, and this E
Since O5 is O, the control circuit 7 provides the GET signal to the input circuit 1. At this time, 5ID(i) is given to the input circuit 1 as the record identification signal 24 from the data discrimination circuit 3 via the selector 18, so the input circuit 1 is set to 1]
The input circuit 1 selects the address register of the record string, outputs the address to the memory 21, takes out the next code from the (address of the first record).
続いて、制御回路7は信号線15よりP U S II
倍信号ソート回路2に出力する。これにより、該レコー
ドがソート回路2に取り込まれる。ソート回路2では、
内部に保持するレコードと取り込んだレコードの比較を
行い、次に出力するレコードを決定する。第3図では次
の出力レコードは5番目のレコード列のレコードである
。その後、同様の動作を繰り返し、第3図ではi番目の
レコード列の最後のレコードをソート回路2から取り出
した時、EO8が1となる。この時、制御回路7は内部
カウンタに1を加えると共に、引き続< G E T
。Subsequently, the control circuit 7 connects the signal line 15 to the PUS II
It is output to the double signal sorting circuit 2. As a result, the record is taken into the sorting circuit 2. In sorting circuit 2,
Compares the record held internally with the record imported and determines the next record to be output. In FIG. 3, the next output record is the record of the fifth record string. Thereafter, similar operations are repeated, and in FIG. 3, when the last record of the i-th record string is taken out from the sorting circuit 2, EO8 becomes 1. At this time, the control circuit 7 adds 1 to the internal counter and continues < G E T
.
PUSHの各信号は出力せず、P OI)信号のみをソ
ート回路2に出力する。ソート回路2では、内部に保持
する最小のレコードを出力する。The PUSH signals are not output, and only the POI) signal is output to the sorting circuit 2. The sorting circuit 2 outputs the smallest record held internally.
以上の一連の操作を、制御回路7の内部カウンタかに個
のEO3をカウントするまで繰り返すことにより、に個
のレコード列のマージ処理が達成される。By repeating the above series of operations until the internal counter of the control circuit 7 counts EO3, merging of record strings is accomplished.
第5図は入力回路1の構成例である。入力回路1は、レ
コードバッファ101、アドレスレジスタ102.加算
器103からなる。レコード列識別信号24はアドレス
レジスタ102のに個のレジスタのうち1個のレジスタ
を選択し、その値をアドレス線23に出力する。制御回
路7からGET信号14を入力すると、レコードバッフ
ァ101に出力データ線22のデータを取り込む。この
時、レコード列識別信号24により選択されたアドレス
レジスタ102の該当レジスタに対し、加算器103に
よりレコード長だけ更新したアドレスを設定する。FIG. 5 shows an example of the configuration of the input circuit 1. The input circuit 1 includes a record buffer 101, an address register 102 . It consists of an adder 103. The record string identification signal 24 selects one of the registers in the address register 102 and outputs its value to the address line 23. When the GET signal 14 is input from the control circuit 7, the data on the output data line 22 is taken into the record buffer 101. At this time, an address updated by the record length by the adder 103 is set in the corresponding register of the address register 102 selected by the record string identification signal 24.
第6図は出力回路5の構成例である。出力レコードを保
持するレジスタ501はKEY、SID。FIG. 6 shows an example of the configuration of the output circuit 5. Registers 501 that hold output records are KEY and SID.
EO8の各部分からなり、それぞれデータ弁別回路3か
らのKEY出力信号13.制御回路7からの新データ列
識別子9.新最終データ識別子17を入力とする。出力
線10には、この3つの信号をまとめて出力する。The KEY output signals 13 . New data string identifier 9 from control circuit 7. The new final data identifier 17 is input. These three signals are output together to the output line 10.
第7図はソート回路2の構成例である。ソー1−回路2
は、比較転送部203と第1のメモリ202、第2のメ
モリ204からなるソートセル201を、K/2個直列
に配列して構成する。図示しないソート制御信号PUS
H,POPがすべてのソートセルのデータ転送方向を決
定する。すなわち、P U S H信号が与えられると
、各ソー1−セルは第1または第2のメモリのうち、大
きな値を持つメモリのレコードを右側に転送する。この
とき、各ソー1−セルは左側のセルまたは入力端子20
6から前記転送で空いたメモリにレコー1−を人力し、
同時に残ったメモリのレコードと人力レコードの比較を
行う。POP信号が入力すると、逆に各ソートセルは第
1または第2のメモリのうち小さな値を持つメモリのレ
コードを左側に転送し、出力端子205から最小のレコ
ードを出力する。このとき、各ソートセルは右側のセル
から前記転送で空いたメモリにレコードを人力し、同時
に残ったメモリと入力レコードの比較を行う。このよう
にして、ソート回路2は、ソート入力端子206から入
力する最大に個のレコードを入力と同時に比較転送し、
出力要求が来たときには、人力したレコードのうち最小
のレコードを出力端子205から出力する。FIG. 7 shows an example of the configuration of the sorting circuit 2. Saw 1-Circuit 2
is configured by arranging K/2 sort cells 201 in series, each consisting of a comparison transfer unit 203, a first memory 202, and a second memory 204. Sort control signal PUS (not shown)
H,POP determines the data transfer direction of all sort cells. That is, when the PUSH signal is applied, each saw 1-cell transfers the record in the first or second memory having the larger value to the right. At this time, each saw 1-cell is connected to the left cell or the input terminal 20.
Manually input record 1- from 6 to the memory vacated by the transfer,
At the same time, the remaining memory records and human records are compared. When the POP signal is input, each sorting cell conversely transfers the record in the first or second memory having a smaller value to the left side, and outputs the smallest record from the output terminal 205. At this time, each sort cell manually inputs records from the right cell to the memory vacated by the transfer, and at the same time compares the input record with the remaining memory. In this way, the sort circuit 2 compares and transfers the maximum number of records input from the sort input terminal 206 at the same time as the input,
When an output request comes, the smallest record among the manually input records is output from the output terminal 205.
以上本発明の一実施例を説明したが、本発明は上記実施
例に限るものではなく、例えば、レコード列識別子の特
定の値をもって最終レコード識別子とすることや、入力
データ列をメモリからとり出したり、出力データ列をメ
モリに出力したり、最終レコードおよびレコード列識別
子をソート類に影響しない範囲でデータ中の任意の位I
nに設定したり、レコード列識別子をソート回路の前後
だけで付加するなどの多くの変形が可能である。Although one embodiment of the present invention has been described above, the present invention is not limited to the above embodiment. , output the output data string to memory, or input the last record and record string identifier at any position in the data as long as it does not affect sorting.
Many modifications are possible, such as setting it to n or adding record string identifiers only before and after the sorting circuit.
以上の説明から明らかな如く、本発明によれば次のよう
な効果が得られる。As is clear from the above description, the following effects can be obtained according to the present invention.
(1)個々のデータ列に含まれるレコード数が未知の場
合でもマージ処理が可能であり、比較的少ないハードウ
ェア址でレコード列の終了にともなう制御の変更を行う
ことができる。(1) Merge processing is possible even when the number of records included in each data string is unknown, and control can be changed as the record string ends with a relatively small amount of hardware.
(2)マージ処理装置の出力データ列と入力データ列を
同一の形式とするこが容易であり、マージ結果を複数集
めて更にマージする多段マージが容易に行える。(2) It is easy to make the output data string and the input data string of the merging processing device have the same format, and it is easy to perform multi-stage merging in which a plurality of merge results are collected and further merged.
(3)マージすべきレコード列の最終レコードの判定が
容易であり、比較的少ないハードウェアで容易にレコー
ド列の終了にかかる制御が可能である。(3) It is easy to determine the last record of a record string to be merged, and the end of the record string can be easily controlled with relatively little hardware.
第1図は本発明のマージ処理装置の一実施例の構成図、
第2図はレコードのフォーマット例を示す図、第3図は
第1図の動作を説明するためのタイミングチャート、第
4図は第1図の制御回路のフローチャート、第5図は第
1図の入力回路の具体的構成図、第6図は第1図の出力
回路の具体的構成図、第7図は第1図のソート回路の具
体的構成図である。
1・・・入力回路、 2・・・ソート回路。
3・・・データ弁別回路、 5・・・出力回路、7・・
・制御回路、 21・・・メモリ、KEY・・・ソー
トデータ、
SID・・・レコード列識別子、
EO8・・・最終レコード識別子。
第2
第
区
第3図
(TF、T
PLle3?I
oP
oS
jTLロー−=Jlゴm−−−−−日一一−「シ日−,
−fし」u−+++++ 71L++* =
i−、−JTIJロー−0,−−一」1−一一一
□?−シ゛1 マージ゛2□
N4
図
で−ジ1
第5
図
第6
図FIG. 1 is a configuration diagram of an embodiment of a merge processing device of the present invention,
Fig. 2 is a diagram showing an example of a record format, Fig. 3 is a timing chart for explaining the operation of Fig. 1, Fig. 4 is a flowchart of the control circuit of Fig. 1, and Fig. 5 is a diagram of the control circuit of Fig. 1. FIG. 6 is a specific configuration diagram of the input circuit, FIG. 6 is a specific configuration diagram of the output circuit of FIG. 1, and FIG. 7 is a specific configuration diagram of the sorting circuit of FIG. 1. 1... Input circuit, 2... Sorting circuit. 3...Data discrimination circuit, 5...Output circuit, 7...
- Control circuit, 21...Memory, KEY...Sort data, SID...Record string identifier, EO8...Last record identifier. 2nd Ward Figure 3 (TF, T PLle3?I oP oS jTLlow-=Jlgom-----day 11-"shi day-,
-f" u-++++++ 71L++* =
i-, -JTIJ low-0,--1''1-111□? - Sea 1 Merge 2 □
N4 Figure-1 Figure 5 Figure 6
Claims (3)
ジして1本のソート済みレコード列を出力する方法にお
いて、複数のあらかじめソート済みのレコード列中の各
々のレコードに、該レコードが属するレコード列中の最
終レコードであるか否かを示す最終レコード識別子と、
該レコードが属するレコード列を識別するレコード列識
別子を付加し、出力レコードのレコード列識別子により
次に選択すべきレコードのレコード列を判別すると共に
、最終レコード識別子により当該レコード列の終了を判
別することを特徴とするマージ処理方法。(1) In a method of merging multiple pre-sorted record strings to output one sorted record string, each record in the plurality of pre-sorted record strings is given the information in the record string to which the record belongs. a final record identifier indicating whether it is the final record of
Adding a record string identifier that identifies the record string to which the record belongs, determining the record string of the next record to be selected using the record string identifier of the output record, and determining the end of the record string using the final record identifier. A merge processing method characterized by:
にも、該レコード列を識別するレコード列識別子と、最
終レコードであるか否かを示す最終レコード列識別子を
付加して出力することを特徴とする請求項(1)記載の
マージ処理方法。(2) For each record in a record string that is sorted into one record string, a record string identifier that identifies the record string and a final record string identifier that indicates whether or not it is the last record are added and output. A merge processing method according to claim (1).
ジして1本のソート済みレコード列を出力するマージ処
理装置において、 各々のレコードに該レコードが属するレコード列中の最
終レコードであるか否かを示す最終レコード識別子と該
レコードが属するレコード列を識別するレコード列識別
子が付加されたソート済みのK個(K>1)のレコード
列を格納するメモリ、 最大K個のレコードを保持し、そのうちの最大もしくは
最小のレコードを選択して出力するソート手段、 第1段階では、前記メモリから各レコード列の第1番目
のレコードを読み出して前記ソート手段に入力し、第2
段階では、前記ソート手段から出力されるレコードのレ
コード列識別子に対応するレコード列の次のレコードを
前記メモリから読み出して前記ソート手段に入力して、
これを最終レコード識別子が当該レコード列の最終を示
すレコードをK個出力するまで繰り返す制御手段、 を有することを特徴とするマージ処理装置。(3) In a merge processing device that merges multiple pre-sorted record strings and outputs one sorted record string, each record is the last record in the record string to which it belongs. A memory that stores K (K>1) sorted record strings to which a final record identifier indicating whether or not the record belongs and a record string identifier that identifies the record string to which the record belongs; , sorting means for selecting and outputting the largest or smallest record among them; in the first stage, the first record of each record string is read from the memory and inputted to the sorting means;
In the step, reading the next record of the record string corresponding to the record string identifier of the record output from the sorting means from the memory and inputting it to the sorting means;
A merge processing device comprising: control means that repeats this process until K records whose final record identifier indicates the end of the record string are output.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14859189A JPH0312736A (en) | 1989-06-12 | 1989-06-12 | Method and device for processing merge |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14859189A JPH0312736A (en) | 1989-06-12 | 1989-06-12 | Method and device for processing merge |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0312736A true JPH0312736A (en) | 1991-01-21 |
Family
ID=15456177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14859189A Pending JPH0312736A (en) | 1989-06-12 | 1989-06-12 | Method and device for processing merge |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0312736A (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57117167A (en) * | 1981-01-14 | 1982-07-21 | Agency Of Ind Science & Technol | Discrimination system for data end |
JPS6142031A (en) * | 1984-08-03 | 1986-02-28 | Nippon Telegr & Teleph Corp <Ntt> | Sorting processor |
-
1989
- 1989-06-12 JP JP14859189A patent/JPH0312736A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57117167A (en) * | 1981-01-14 | 1982-07-21 | Agency Of Ind Science & Technol | Discrimination system for data end |
JPS6142031A (en) * | 1984-08-03 | 1986-02-28 | Nippon Telegr & Teleph Corp <Ntt> | Sorting processor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0728624A (en) | Device and method for sorting | |
US6760737B2 (en) | Spatial median filter | |
JPH0666050B2 (en) | Sort processing method | |
JPH0312736A (en) | Method and device for processing merge | |
JPS61245256A (en) | Information storing system | |
JP3534471B2 (en) | Merge sort method and merge sort device | |
JPS59121436A (en) | Sorting method of data group | |
JPH07101382B2 (en) | Margin processing device | |
JP2519245B2 (en) | Information retrieval device | |
JPS6243752A (en) | Signal controller | |
JPS6266326A (en) | Array processing system for japanese data | |
JP2734023B2 (en) | Index search method | |
JPH07120264B2 (en) | Sort processing device | |
JPH07302187A (en) | Data sorting method and sorter | |
JPH02287880A (en) | Correct cell selecting device for logic circuit | |
JPS61151737A (en) | Sort cell | |
JPH031227A (en) | Sort processor | |
JPH04199431A (en) | Queue control system with priority | |
JPH09330322A (en) | Data retrieval device | |
JPH06274391A (en) | Master file quick update processing system | |
JPS61278933A (en) | Data sorting out system | |
JPS6385823A (en) | Multi-key sorter | |
JPH0642248B2 (en) | Information retrieval device | |
JPH02150920A (en) | Retrieving system for maximum value data | |
JPS62212726A (en) | Compression processing system for index key |