JPS61131043A - Inter-task queue controlling system - Google Patents

Inter-task queue controlling system

Info

Publication number
JPS61131043A
JPS61131043A JP59251756A JP25175684A JPS61131043A JP S61131043 A JPS61131043 A JP S61131043A JP 59251756 A JP59251756 A JP 59251756A JP 25175684 A JP25175684 A JP 25175684A JP S61131043 A JPS61131043 A JP S61131043A
Authority
JP
Japan
Prior art keywords
entry
task
queue
que
inter
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
JP59251756A
Other languages
Japanese (ja)
Other versions
JPH0456341B2 (en
Inventor
Tetsuya Wakai
若井 哲也
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 JP59251756A priority Critical patent/JPS61131043A/en
Publication of JPS61131043A publication Critical patent/JPS61131043A/en
Publication of JPH0456341B2 publication Critical patent/JPH0456341B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)

Abstract

PURPOSE:To cope with a fault by only recording and erasing a relevant QUEUE entry in and from a check point file, by setting implementing order information indicating the implementing order of QUEUE entries in a relevant task in each QUEUE entry. CONSTITUTION:When a system fault occurs, a CPU 41 first reads the content of a check point file 46 in an external storage device 44 into a QUEUE entry pool 60. Then the CPU 41 checks all QUEUE entries in the pool 60 and couples tasks by setting next entry pointers in the order of serial numbers at every task ID. Thereafter, the CPU 41 sets the location of a QUEUE entry 62 restored in the pool 60 in the first entry pointer of a control entry 61 in a queue control table 50 and the location of another QUEUE entry 63 in the final entry pointer. Furthermore, the CPU 41 sets the serial number 3 of the entry 63 in the serial number counter of the control entry 51.

Description

【発明の詳細な説明】 [発明の技術分野] この発明は、オンラインタスク処理におけるタスク間キ
ュー制御方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Technical Field of the Invention] The present invention relates to an inter-task queue control method in online task processing.

[発明の技術的背景] 一般にオンラインシステムを構築する場合、応答性能の
向上およびモジュール構成の確立のために、第4図に示
すように、処理を機能毎に処理タスク(第4図の例では
、タスクA、B、C)に分7 解している。そして、各
タスク間は、タスク間キュー機構を介し、処理要求(タ
スク間待ち行列、即ちタスク間キュー、以後タスク間Q
LJEと称する)を受渡しして処理している。
[Technical Background of the Invention] Generally, when constructing an online system, in order to improve response performance and establish a module configuration, processing is divided into processing tasks for each function (in the example of , tasks A, B, and C). Processing requests (intertask queue, i.e., intertask queue, hereinafter referred to as intertask Q
(referred to as LJE) is transferred and processed.

タスク間QUEは、第5図に示すように、CPU1lを
有する計算櫟本体12の主記憶装置13に確保されたQ
UEエントリプール14の空きQUEエントリに作成さ
れる。これをタスク間キューエントリ(QUEエントリ
)の生成と呼ぶ。第5図には、ト タスクAのQUEエントリー5〜17、およびタスクB
のQtJEエントリー8が生成されている状態が示され
ている。QUEエントリー5〜18は、該当タスクに渡
されたタスク間キュー情報(以下QUE情報と称する)
を有する。QUE情報の取出しは、ファーストイン・フ
ァーストアウトの方式に基づき、入力順に行なわれる。
As shown in FIG.
It is created in a free QUE entry in the UE entry pool 14. This is called generation of an intertask queue entry (QUE entry). FIG. 5 shows QUE entries 5 to 17 for task A and task B.
A state in which QtJE entry 8 is generated is shown. QUE entries 5 to 18 are inter-task queue information (hereinafter referred to as QUE information) passed to the corresponding task.
has. QUE information is retrieved in the order of input based on a first-in, first-out method.

そこで、ファーストイン・ファーストアウト方式を実現
するために、第5図に示すように、各タスク毎のQUE
エントリを管理する待ち行列制御テーブル20が、主記
憶装置13に確保される。待ち行列制御テーブル20に
は、各タスクに固有の制御エントリが用意される。第5
図には、タスクA用の制御エントリ21およびタスクB
用の制御エントリ22が示されている。制御エントリ2
1.22には、該当タスクに属する全てのQLJEエン
トリのうちの先頭エントリの位置を示す先頭エントリポ
インタと、RRエントリの位置を示す最終エントリポイ
ンタとが設定される。しかして、先頭エントリポインタ
により、該当タスクにおいて次に取出すべきQIJEエ
ントリが、最終エントリポインタにより、新たに生成さ
れるQLIEエントリに連結(リンク)すべきQUEエ
ントリが求められる。
Therefore, in order to realize the first-in, first-out method, as shown in Figure 5, the QUE for each task is
A queue control table 20 for managing entries is secured in the main storage device 13. In the queue control table 20, control entries specific to each task are prepared. Fifth
The figure shows a control entry 21 for task A and a control entry 21 for task B.
A control entry 22 for is shown. control entry 2
1.22, a first entry pointer indicating the position of the first entry among all QLJE entries belonging to the relevant task, and a last entry pointer indicating the position of the RR entry are set. The first entry pointer determines the QIJE entry to be retrieved next in the relevant task, and the final entry pointer determines the QUE entry to be linked to the newly generated QLIE entry.

また、QUEエントリ15〜18には、同エントリの次
に処理されるQUEエントリの位置を示す次エントリポ
インタが設定され(但しQUEエントリ17、18はタ
スクA、Bの最終QLIEエントリのため、次エントリ
ポインタとして0が設定される)同一タスクに属する各
QuEエントリが入力順にリンクされる。
In addition, next entry pointers indicating the position of the QUE entry to be processed next to the same entry are set in QUE entries 15 to 18 (however, since QUE entries 17 and 18 are the final QLIE entries for tasks A and B, (0 is set as the entry pointer) QuE entries belonging to the same task are linked in the order of input.

したがって、主記憶装置13に確保された、待ち行列制
御テーブル20およびQUEエントリプール14の内容
により、各QUE情報の取出と処理、およびQtJEエ
ントリの生成・消滅が正しく実行できる。しかし、シス
テム障害があった場合には、待ち行列制御テーブル20
およびQUEエントリプール14の内容は、破壊または
消滅する恐れがある。
Therefore, the contents of the queue control table 20 and the QUE entry pool 14 secured in the main storage device 13 allow the extraction and processing of each QUE information and the creation and deletion of QtJE entries to be executed correctly. However, if there is a system failure, the queue control table 20
And the contents of the QUE entry pool 14 may be destroyed or lost.

そこで従来は、ポインタ情報の更新を伴うQLJEエン
トリの生成・消滅時には、持ち行列制御テーブル20お
よびQtJEエントリプール14の全体をチェックポイ
ントとして、磁気ディスク装置などの外部記憶装置23
に用意されたチェックポイントファイル24に書込むよ
うにしている。この方式によれば、たとえシステム障害
が発生しても、チェックポイントファイル24の内容を
用いることにより、待ち行列制御テーブル20およびQ
UEエントリブ−ル14を障害発生前の状態に復元でき
る。
Therefore, conventionally, when a QLJE entry is created or deleted with update of pointer information, the entire queue control table 20 and the QtJE entry pool 14 are used as a checkpoint, and an external storage device 22 such as a magnetic disk device is used.
The data is written to the checkpoint file 24 prepared in the. According to this method, even if a system failure occurs, by using the contents of the checkpoint file 24, the queue control table 20 and Q
The UE entry boolean 14 can be restored to the state before the failure occurred.

[背景技術の問題点] しかし、上記したような、待ち行列11i11 I21
1テーブルおよびQUEエントリブール全体をチェック
ポイントとして書込む方式では、特にQUEエントリブ
ールが大型化する大規模システムの場合、チェックポイ
ント書込みに長時間を要し、応答性能が低下する問題が
あった。
[Problems with the background art] However, as described above, the queue 11i11 I21
In the method of writing one table and the entire QUE entry bool as a checkpoint, especially in the case of a large-scale system in which the QUE entry bool becomes large, there is a problem that writing the checkpoint takes a long time and the response performance deteriorates.

[発明の目的コ この発明は上記事情に鑑みてなされたものでその目的は
、システム障害発生に備えて行なわれるチェックポイン
ト書込みでの、書込みデータロを減少でき、もってチェ
ックポイント書込み時間の短縮が図れ、応答性能の一層
の向上が図れるタスク間キュー制御方式を提供すること
にある。
[Purpose of the Invention] This invention was made in view of the above circumstances, and its purpose is to reduce write data loss during checkpoint writing performed in preparation for the occurrence of a system failure, thereby shortening checkpoint writing time. The object of the present invention is to provide an inter-task queue control method that can further improve response performance.

[発明の概要コ この発明では、主記憶装置に用意されたQUE(キュー
)エントリブールに保持されるQUEエントリ(タスク
間キューエントリ)は、タスク間QUE(キュー)情報
および次エントリポインタは勿論、同エントリが属する
タスクを示すタスクIDも有する。また、主記憶装置に
は、上記QUEエントリプールのタスク毎の先頭キュー
エントリポインタおよび最終キューエントリポインタが
設定される待ち行列刈面テーブルが用意される。
[Summary of the Invention] In this invention, the QUE entries (intertask queue entries) held in the QUE (queue) entry boolean prepared in the main memory contain not only intertask QUE (queue) information and next entry pointers, but also It also has a task ID indicating the task to which the entry belongs. Further, the main storage device is provided with a queue cut surface table in which a first queue entry pointer and a last queue entry pointer are set for each task in the QUE entry pool.

更に、この発明では、チェックポイントファイルが用意
される。このチェックポイントファイルには、上記QU
EエントリブールにおけるQIJEエントリの生成に際
し、該当QUEエントリが記録される。また、QtJE
エントリブールにおけるQUEエントリの消滅に際して
は、チェックボイントフフイルに記録されている該当Q
UEエントリは消去される。
Furthermore, in this invention, a checkpoint file is prepared. This checkpoint file contains the above QU
When generating a QIJE entry in the E entry boolean, the corresponding QUE entry is recorded. Also, QtJE
When a QUE entry disappears in the entry boolean, the corresponding QUE recorded in the checkpoint file will be deleted.
The UE entry is cleared.

この発明によれば、システム障害が発生した場合には、
上記チェックポイントファイルに記録された各QUEエ
ントリを、そのリカバリ処理においてQUEエントリプ
ールに読込み、各QUEエントリ内の次エントリポイン
タを、共通のタスクID毎に設定して連結することによ
り、QUEエントリブールの内容を復元するとと共に、
上記復・ 元されたQUEエントリブールにおけるタス
ク毎の先頭および最終QUEエントリの位置を待ち行列
制御テーブルに設定することにより、同テーブルの内容
を復元する。
According to this invention, when a system failure occurs,
Each QUE entry recorded in the above checkpoint file is read into the QUE entry pool during the recovery process, and the next entry pointer in each QUE entry is set for each common task ID and concatenated. In addition to restoring the contents of
By setting the positions of the first and last QUE entries for each task in the restored QUE entry boolean in the queue control table, the contents of the table are restored.

また、この発明では、QUEエントリブールの内容を、
QUEエントリの生成順通りに復元する必要があるシス
テムのために、各QUEエントリに、該当タスク内での
同エントリの生成順を示す生成順情報を設定するように
している。この場合、チェックポイントファイルに記録
された各QUEエントリを、システム障害後にQUEエ
ントリブールに読込むと、各QUEエントリの次エント
リポインタを、共通のタスクID毎に上記生成順情報の
示す生成順に設定して連結することにより、QUEエン
トリブールの内容をシステム障害前のQUEエントリの
生成順通りに復元する。また、このようにして復元され
たQUEエントリブールにおけるタスク毎の先頭および
最終QUEエントリの位置を上記待ち行列制御テーブル
に設定することにより、同テーブルの内容を復元する。
In addition, in this invention, the contents of the QUE entry boolean are
For systems that require restoration in the order in which QUE entries are created, each QUE entry is set with creation order information indicating the order in which the same entry is created within the corresponding task. In this case, when each QUE entry recorded in the checkpoint file is read into the QUE entry boolean after a system failure, the next entry pointer of each QUE entry is set in the generation order indicated by the above generation order information for each common task ID. By concatenating them, the contents of the QUE entry Boolean are restored to the order in which the QUE entries were created before the system failure. Furthermore, the contents of the queue control table are restored by setting the positions of the first and last QUE entries for each task in the QUE entry boolean thus restored.

[発明の実施例] 以下、第1図乃至第3図を参照してこの発明の一実施例
を説明する。
[Embodiment of the Invention] An embodiment of the invention will be described below with reference to FIGS. 1 to 3.

第1図において、CPU41および主記憶装置42を有
する計算機本体43と磁気ディスク装置などの外部記憶
装置44とが、チャネル(図示せず)、外部バス45等
を介して接続されている。主記憶装置42は、タスク毎
のタスク間QUEエントリを管理する待ち行列制郊テー
ブル50、およびシステム全体のタスク間QUEエント
リを保持するQUEエントリプール60を有している。
In FIG. 1, a computer main body 43 having a CPU 41 and a main storage device 42 and an external storage device 44 such as a magnetic disk device are connected via a channel (not shown), an external bus 45, and the like. The main storage device 42 has a queue control table 50 that manages intertask QUE entries for each task, and a QUE entry pool 60 that holds intertask QUE entries for the entire system.

侍ら行列制御テーブル50には、タスクA、BのQUE
エントリを示すための制御エントリ51.52など、各
タスクに固有の制御エントリが用意されている。制御エ
ントリ51.52は、該当タスク(A、B)への先頭Q
UEエントリの位置を示す先頭エントリポインタと、該
当タスクへの最終QUEエントリの位置を示すR終エン
トリポインタと、該当タスクへのQUEエントリの生成
数を示す通番カウンタとを有している。
In the samurai matrix control table 50, the QUE of tasks A and B is
Control entries specific to each task are provided, such as control entries 51 and 52 for indicating the entry. Control entries 51 and 52 are the first Q to the corresponding task (A, B).
It has a first entry pointer indicating the position of the UE entry, an R end entry pointer indicating the position of the final QUE entry for the corresponding task, and a serial number counter indicating the number of QUE entries generated for the corresponding task.

QtJEエントリブール60にはQtJEエントリの領
域が確保されており、その空き領域に、必要に応じてQ
UEエントリが生成される。第1図には、タスクAへの
QUEエントリ61〜63、およびタスクBへのQUE
エントリ64が生成されている状態が示されている。Q
UEエントリ61〜64は、当該エントリの次に処理さ
れるべきQUEエントリの位置を示す次エントリポイン
タおよび該当タスクに渡されたQUE情報(タスク間Q
UE情報)の周知の情報の他に、当該QUEエントリの
宛先タスクを示すタスクIDと、該当するタスク内での
当該QUEエントリの生成順(即ち処理順)を示すタス
ク内一連番号(以下、単に一連番号と称する)を有する
The QtJE entry boolean 60 has an area reserved for QtJE entries, and QtJE entries can be added to the empty area as needed.
A UE entry is generated. FIG. 1 shows QUE entries 61 to 63 for task A and QUE entries 61 to 63 for task A.
A state in which an entry 64 is generated is shown. Q
The UE entries 61 to 64 contain a next entry pointer indicating the position of the QUE entry to be processed next to the relevant entry, and QUE information (inter-task QUE) passed to the relevant task.
In addition to the well-known information such as UE information), a task ID indicating the destination task of the QUE entry and an intra-task serial number (hereinafter simply (referred to as a serial number).

この例において、タスクAのQUEエントリは、QUE
エントリ61、QUEエントリ62、モしてQUEエン
トリ63の順に生成されている。このため、QUEエン
トリ61.62.63の一連番号は、それぞれ1.2.
3に設定されている。また、QUEエントリ61の次エ
ントリポインタはQUEエントリ62の位置を指し□、
QIJEエントリ62の次エントリポインタはQIJE
エントリ63の位置を指すように設定されている。この
QIJEエントリ63は、その時点におけるタスクAの
最終QUEエントリであるので、次エントリポインタは
0に設定されている。一方、QUEエントリ64は、タ
スクBへの最初のQUEエントリであり、且つその時点
における最終QUEエントリでもある。したがって、Q
UEエントリ64の次エントリポインタは0に設定され
、一連番号は1に設定されている。
In this example, task A's QUE entry is QUE
Entry 61, QUE entry 62, and finally QUE entry 63 are generated in this order. Therefore, the sequence numbers of QUE entries 61, 62, 63 are 1, 2, .
It is set to 3. Further, the next entry pointer of the QUE entry 61 points to the position of the QUE entry 62 □,
The next entry pointer of QIJE entry 62 is QIJE
It is set to point to the position of entry 63. Since this QIJE entry 63 is the final QUE entry for task A at that point, the next entry pointer is set to 0. On the other hand, QUE entry 64 is the first QUE entry to task B, and is also the final QUE entry at that point. Therefore, Q
The next entry pointer of the UE entry 64 is set to 0 and the sequence number is set to 1.

外部記憶装置44は、チェックポイントファイル46を
有している。チェックポイントファイル46には、QU
Eエントリプール60内の各QUEエントリ領域に対応
するエントリ領域が確保されている。
The external storage device 44 has a checkpoint file 46. Checkpoint file 46 contains QU
An entry area corresponding to each QUE entry area in the E entry pool 60 is reserved.

そして、QUEエントリプール60内のQUEエントリ
が生成される毎に、そのQuEエントリが、チェックポ
イントファイル46内の対応するエントリ領域に書込ま
れる。また、チェックポイントファイル46に書込まれ
たQUEエントリは、QUEエントリブール60におけ
る該当QUEエントリの消滅に応じて消去(例えば0ク
リア)される。したがって、QUEエントリプール60
にQUEエントリ61〜64が生成されているこの例で
は、チェックポイントファイル46には、第1図に示す
ように、QUEエントリ61〜64がQtJEエントリ
71〜14として書込まれている。QUEエントリの書
込みは、上記したように当該エントリの生成時であるた
め、QLIEエントリ71〜74の次エントリポインタ
は、いずれもOに設定されている。
Each time a QUE entry in the QUE entry pool 60 is generated, the QUE entry is written to the corresponding entry area in the checkpoint file 46. Further, the QUE entry written in the checkpoint file 46 is erased (for example, cleared to 0) in response to the disappearance of the corresponding QUE entry in the QUE entry boolean 60. Therefore, the QUE entry pool 60
In this example, QUE entries 61-64 are generated in the checkpoint file 46, as shown in FIG. 1, QUE entries 61-64 are written as QtJE entries 71-14. Since a QUE entry is written when the entry is generated as described above, the next entry pointers of the QLIE entries 71 to 74 are all set to O.

次に、この発明の一実施例の動作を、タスクAが先頭Q
UEエントリ61内のQUE情報を取出して処理し、し
かる後タスクBへのQUEエントリを生成する場合を例
にとって説明する。QUEエントリ61のQUE情報の
処理が終了すると、CPtJ41は当該QUEエントリ
61を消滅するために、待ち行列制御テーブル50に用
意されているタスクA用の制御エントリ51の先頭エン
トリポインタを、QUEエントリ61内の次エントリポ
インタの内容に更新する。これにより、制御エントリ5
1の先頭エントリポインタは、第2図に示すように、Q
UEエントリ61の次に処理されるべきQLJEエント
リ62の位置を指すようになる。
Next, the operation of an embodiment of the present invention will be explained in which task A is at the head of task Q.
An example will be explained in which QUE information in the UE entry 61 is extracted and processed, and then a QUE entry for task B is generated. When the processing of the QUE information of the QUE entry 61 is completed, the CPtJ 41 transfers the start entry pointer of the control entry 51 for task A prepared in the queue control table 50 to the QUE entry 61 in order to delete the QUE entry 61. Update the contents of the next entry pointer within. This causes control entry 5
The first entry pointer of 1 is Q as shown in Figure 2.
It now points to the position of the QLJE entry 62 to be processed next to the UE entry 61.

次にCP U 41は、タスクBへのQUEエントリを
、タスクAが処理中であったQUEエントリ61にオー
バーレイして作成する。即ちCPU41は、QLJEエ
ントリ61にタスクBへのQUE情報(タスク間QUE
情報)を保存し、続いて次エントリポインタをOに設定
する。また、CP U 41は、待ち行列制御テーブル
50に用意されているタスクB用の制御エントリ52の
最終エントリポインタを、上記オーバーレイにより生成
されたQtJEエントリの位置を指すように更新し、且
つ通番カウンタを+1して2とする。また、c p U
 41は、制皿エントリ52の最終エントリポインタが
それまで指していたQUEエントリ64の次エントリポ
インタに、上記生成されたQUEエントリの位置を設定
する。
Next, the CPU 41 creates a QUE entry for task B by overlaying it on the QUE entry 61 that task A was processing. That is, the CPU 41 writes QUE information to task B (inter-task QUE information) to the QLJE entry 61.
information) and then sets the next entry pointer to O. Further, the CPU 41 updates the final entry pointer of the control entry 52 for task B prepared in the queue control table 50 to point to the position of the QtJE entry generated by the above-described overlay, and updates the serial number counter. Add +1 to 2. Also, c p U
41 sets the position of the generated QUE entry to the next entry pointer of the QUE entry 64 that the last entry pointer of the control entry 52 has been pointing to.

これにより、上記生成されたQUEエントリが、同エン
トリ生成前に最終QUEエントリで(あり且つ先頭QU
Eエントリでも)あったQUEエントリ64に連結され
る。更にCP U 41は、上記生成されたQtJEエ
ントリのタスクIDがタスクBを示すように更新し、且
つ一連番号を上記計数後の通番カウンタの値(2)に設
定する。このようにして、タスクAへのQLIEエント
リ61の8i域に、第2図に示すように、タスクBへの
QUEエントリ65が生成される。即ち、QtJEエン
トリ61の消滅と共に、QUEエントリ65が生成され
る。
As a result, the QUE entry generated above is the last QUE entry (and the first QUE entry is
(also the E entry) is connected to the QUE entry 64 that was there. Further, the CPU 41 updates the task ID of the generated QtJE entry to indicate task B, and sets the serial number to the value (2) of the serial number counter after the counting. In this way, the QUE entry 65 for task B is generated in the 8i area of the QLIE entry 61 for task A, as shown in FIG. That is, when the QtJE entry 61 disappears, the QUE entry 65 is generated.

c p U 41は、タスクBへのQtJEエントリ6
5を生成すると、QUEエントリプール60内の同エン
トリ65の領域に対応する、(外部記憶装置44上の)
チェックポイントファイル46内aji!にQLJEエ
ントリ65の内容を書込む。即ちCP U 41は、Q
UEエントリ61に対応するQUEエントリ71の領域
に、QUEエントリ65の内容を第2図に示すようにQ
UEエントリ75としてオーバーレイする。即ち、Q(
JEエントリ61に対応するQ(JEエントリ11の消
去とQUEエントリ65に対応するQtJEエントリ7
5の記録とが同時に行なわれる。なお、消滅すべきQU
Eエントリの領域とは別の領域にQUEエントリを生成
する場合には、QUEエントリの消滅時においてチェッ
クポイントファイル46の対応する領域の内容を消去す
る必要がある。
c p U 41 is QtJE entry 6 to task B
5, the area corresponding to the same entry 65 in the QUE entry pool 60 (on the external storage device 44)
aji in checkpoint file 46! Write the contents of QLJE entry 65 to . That is, the CPU 41 has Q
The contents of the QUE entry 65 are stored in the area of the QUE entry 71 corresponding to the UE entry 61 as shown in FIG.
Overlaid as UE entry 75. That is, Q(
Q corresponding to JE entry 61 (delete JE entry 11 and Qt corresponding to QUE entry 65)
5 recording is performed simultaneously. In addition, the QU that should disappear
When creating a QUE entry in an area different from the E entry area, it is necessary to erase the contents of the corresponding area of the checkpoint file 46 when the QUE entry disappears.

さて、第2図に示す状態において、システム障害が発生
したものとする。この場合、主記憶装置42内の持ち行
列制御テーブル50およびQUEエントリプール60の
内容は破壊または消滅している恐れがある。このため、
システム障害後のリカバリ処理において、待ち行列制御
テーブル50およびQUEエントリブール60の内容を
システム障害発生直前の状態に復元する必要がある。そ
こで、まずCP U 41は、外部記憶装置44内のチ
ェックポイントファイル46の内容を、QLJEエント
リブール60に読込む。この結果、チェックポイントフ
ァイル46内のQUEエントリー2〜75の内容が、第
3図に示すように、QtJEエントリ82〜85として
QLJEエントリプール60に書込まれる。
Now, assume that a system failure occurs in the state shown in FIG. In this case, the contents of the queue control table 50 and the QUE entry pool 60 in the main storage device 42 may be destroyed or lost. For this reason,
In recovery processing after a system failure, it is necessary to restore the contents of the queue control table 50 and QUE entry boolean 60 to the state immediately before the system failure occurred. Therefore, the CPU 41 first reads the contents of the checkpoint file 46 in the external storage device 44 into the QLJE entry boolean 60. As a result, the contents of QUE entries 2 to 75 in the checkpoint file 46 are written to the QLJE entry pool 60 as QtJE entries 82 to 85, as shown in FIG.

次にCP U 41は、QUEエントリプール60内の
全QUEエントリを調べ、タスクID毎に一連番号の昇
順に次エントリポインタを設定して連結する。例えば、
タスクAへのQUEエントリは、QUEエントリ82.
83の2つであり、その一連番号は、2,3である。し
たがってCP U 41は、QUEエントリ82の次エ
ントリポインタに、QUEエントリ83の位置を設定し
、QtJEエントリ83の次エントリポインタにOを設
定する。これにより、QIJEエントリ82.83は、
第2図のQLJEエントリ62.63として復元する。
Next, the CPU 41 examines all QUE entries in the QUE entry pool 60, sets and connects next entry pointers in ascending order of serial numbers for each task ID. for example,
The QUE entry for task A is QUE entry 82.
83, and their serial numbers are 2 and 3. Therefore, the CPU 41 sets the next entry pointer of the QUE entry 82 to the position of the QUE entry 83 and sets the next entry pointer of the QtJE entry 83 to O. As a result, QIJE entry 82.83 becomes
Restore as QLJE entry 62.63 in FIG.

続いてCP tJ 41は、待ち行列制御テーブル50
内の制御エントリ51の先頭エントリポインタに、QU
Eエントリプール60に復元されたQtJEエントリ6
2(タスクAへの先頭QUEエントリ)の位置を設定し
、同じく最終エントリポインタにQUEエントリ63(
タスクAへの先頭QLIEエントリ)の位置を設定する
。モしてCP U 41は、最終QUEエントリである
QLIEエントリ63の一連番号(3)を制御エントリ
51の通番カウンタに設定する。これにより、制御エン
トリ51の内容が復元される。以上の処理が、QUEエ
ントリブール60内の全有効タスク分実施されることに
より、待ち行列制御テーブル50およびQUEエントリ
ブール6゜の内容が復元される。
Subsequently, the CP tJ 41 reads the queue control table 50.
The first entry pointer of the control entry 51 in
QtJE entry 6 restored to E entry pool 60
2 (first QUE entry to task A), and also set the position of QUE entry 63 (first QUE entry to task A) to the last entry pointer.
Set the position of the first QLIE entry to task A. Then, the CPU 41 sets the serial number (3) of the QLIE entry 63, which is the final QUE entry, in the serial number counter of the control entry 51. As a result, the contents of the control entry 51 are restored. By performing the above processing for all valid tasks in the QUE entry bool 60, the contents of the queue control table 50 and the QUE entry bool 6° are restored.

なお、前記実施例では、制御エントリ内に通番カウンタ
が用意されている場合について説明したが、これに限る
ものではない。例えば、QUEエントリの生成に際し、
その時点における最終QUEエントリの一連番号(タス
ク内一連番号)に1を加えた値を、生成QUEエントリ
の一連番号とすることにより、制御エントリ内の通番カ
ウンタを不要とすることができる。また、前記実施例で
は、(タスク毎の)QUEエントリの生成順を示す情報
として一連番号(タスク内一連番号)を適用した場合に
ついて説明したが、例えばシステムクロック等による時
間情報を用いることも可能である。要は、待ち行列制御
テーブルおよびQUEエントリプールを復元する際に、
(タスク毎の)QIJEエントリを生成順に連結できる
情報であればよい。
In the above embodiment, a case has been described in which a serial number counter is provided in the control entry, but the present invention is not limited to this. For example, when generating a QUE entry,
By setting the value obtained by adding 1 to the sequence number (intra-task sequence number) of the final QUE entry at that time as the sequence number of the generated QUE entry, it is possible to eliminate the need for a serial number counter in the control entry. Furthermore, in the above embodiment, a case has been described in which a serial number (intra-task serial number) is applied as information indicating the generation order of QUE entries (for each task), but it is also possible to use time information based on the system clock, etc. It is. In short, when restoring the queue control table and QUE entry pool,
Any information that can connect QIJE entries (for each task) in the order of generation is sufficient.

更に、前記実施例では、QLIEエントリの生成順も完
全に復元する場合について説明したが、生成順通りに復
元する必要がないシステムでは、宛先タスクが識別でき
ればよく、(通番カウンタは勿論)一連番号は不要であ
る。
Furthermore, in the above embodiment, a case was explained in which the generation order of QLIE entries is also completely restored, but in a system where it is not necessary to restore the QLIE entries in the generation order, it is sufficient that the destination task can be identified, and the sequence number (not to mention the serial number counter) is sufficient. is not necessary.

[発明の効果] 以上詳述したようにこの発明によれば、QUEエントリ
の生成・消滅時において、チェックポイントファイルに
対して該当QUEエントリだけの記録・消去を行なうだ
けで、システム障害の発生に対処できる。このため、待
ち行列制御テーブルおよびQtJEエントリブール全体
をチェックポイント書込みの対象とする従来方式に比べ
、チェックポイント書込み時間の短縮が図れ、応答性能
の一層の向上が図れる。
[Effects of the Invention] As detailed above, according to the present invention, when a QUE entry is created or deleted, only the relevant QUE entry is recorded or deleted from the checkpoint file, and system failures can be prevented. I can handle it. Therefore, compared to the conventional method in which the entire queue control table and QtJE entry boolean are subjected to checkpoint writing, the checkpoint writing time can be shortened and the response performance can be further improved.

【図面の簡単な説明】[Brief explanation of the drawing]

第1因はこの発明の一実施例におけるQUEエントリ生
成前の待ち行列制御テーブルとQUEエントリブールと
チェックポイントファイルとの相関図、第2図は第1図
におけるQUEエントリ生成後の状態を示す図、第3図
は第2図におけるシステム障害発生後にチェックポイン
トファイルの内容をQUEエントリに読込んだ状態を示
す図、第4図はタスクとタスク間キュー(QUE)との
関係を説明する図、第5図は従来技術におけるQUEエ
ントリ生成前の待ち行列制御テーブルとQUEエントリ
プールとチェックポイントファイルとの相関図である。 41・・・CPtJ、42・・・主記憶装置、46・・
・チェックポイントファイル、50・・・待ち行列制御
テーブル、51゜52・・・制御エントリ、60・・・
QUE(キュー)エントリブール、61〜65.71〜
75.82〜85・・・QtJEエントリ(タスク間キ
ューエントリ)。
The first reason is a correlation diagram between the queue control table, QUE entry boolean, and checkpoint file before QUE entry generation in an embodiment of the present invention, and FIG. 2 is a diagram showing the state after QUE entry generation in FIG. 1. , FIG. 3 is a diagram showing the state in which the contents of the checkpoint file are read into the QUE entry after the system failure occurs in FIG. 2, and FIG. 4 is a diagram explaining the relationship between tasks and intertask queues (QUE). FIG. 5 is a correlation diagram between a queue control table, a QUE entry pool, and a checkpoint file before QUE entry generation in the prior art. 41...CPtJ, 42...Main storage device, 46...
- Checkpoint file, 50... Queue control table, 51° 52... Control entry, 60...
QUE (queue) entry boolean, 61~65.71~
75.82-85...QtJE entry (intertask queue entry).

Claims (2)

【特許請求の範囲】[Claims] (1)各タスクがタスク間キュー情報を受渡しして処理
を行なうシステムにおいて、上記タスク間キュー情報を
有するタスク間キューエントリであって、同エントリが
属するタスクを示すタスクID、および同エントリの次
に処理されるタスク間キューエントリの位置を示す次エ
ントリポインタを更に有するタスク間キューエントリを
保持する、主記憶装置上に形成されたキューエントリプ
ールと、上記キューエントリプールのタスク毎の先頭キ
ューエントリポインタおよび最終キューエントリポイン
タを有し、上記主記憶装置上に形成された待ち行列制御
テーブルと、上記タスク間キューエントリの生成・消滅
に際し、該当タスク間キューエントリが記録・消去され
るチェックポイントファイルとを備え、上記チェックポ
イントファイルに記録された上記各タスク間キューエン
トリを、システム障害後に上記キューエントリプールに
読込み、上記各タスク間キューエントリの次エントリポ
インタを、共通のタスクID毎に設定して連結すること
により、上記キューエントリプールの内容を復元すると
共に、上記復元されたキューエントリプールにおけるタ
スク毎の先頭および最終キューエントリの位置を上記待
ち行列制御テーブルに設定することにより、同テーブル
の内容を復元することを特徴とするタスク間キュー制御
方式。
(1) In a system where each task performs processing by passing inter-task queue information, an inter-task queue entry having the above-mentioned inter-task queue information, the task ID indicating the task to which the entry belongs, and the task next to the same entry. a queue entry pool formed on the main storage device that holds an intertask queue entry further having a next entry pointer indicating the position of the intertask queue entry to be processed; and a first queue entry for each task in the queue entry pool. A queue control table that has a pointer and a final queue entry pointer and is formed on the main memory, and a checkpoint file in which the inter-task queue entries are recorded and deleted when the inter-task queue entries are created and deleted. and reads each of the inter-task queue entries recorded in the checkpoint file into the queue entry pool after a system failure, and sets the next entry pointer of each of the inter-task queue entries for each common task ID. The contents of the queue entry pool are restored by concatenating with An intertask cue control method characterized by content restoration.
(2)各タスクがタスク間キュー情報を受渡しして処理
を行なうシステムにおいて、上記タスク間キュー情報を
有するタスク間キューエントリであって、同エントリが
属するタスクを示すタスクID、該当タスク内での同エ
ントリの生成順を示す生成順情報、および同エントリの
次に処理されるタスク間キューエントリの位置を示す次
エントリポインタを更に有するタスク間キューエントリ
を保持する、主記憶装置上に形成されたキューエントリ
プールと、上記キューエントリプールのタスク毎の先頭
キューエントリポインタおよび最終キューエントリポイ
ンタを有し、上記主記憶装置上に形成された待ち行列制
御テーブルと、上記タスク間キューエントリの生成・消
滅に際し、該当タスク間キューエントリが記録・消去さ
れるチェックポイントファイルとを備え、上記チェック
ポイントファイルに記録された上記各タスク間キューエ
ントリを、システム障害後に上記キューエントリプール
に読込み、上記各タスク間キューエントリの次エントリ
ポインタを、共通のタスクID毎に上記生成順情報の示
す生成順に設定して連結することにより、上記キューエ
ントリプールの内容を復元すると共に、上記復元された
キューエントリプールにおけるタスク毎の先頭および最
終キューエントリの位置を上記待ち行列制御テーブルに
設定することにより、同テーブルの内容を復元すること
を特徴とするタスク間キュー制御方式。
(2) In a system in which each task performs processing by passing inter-task queue information, an inter-task queue entry having the above-mentioned inter-task queue information, the task ID indicating the task to which the entry belongs, and the task ID within the corresponding task. A system formed on the main memory that holds an inter-task queue entry that further includes generation order information indicating the generation order of the same entry and a next entry pointer indicating the position of the inter-task queue entry to be processed next after the same entry. A queue control table having a queue entry pool, a first queue entry pointer and a last queue entry pointer for each task in the queue entry pool, and formed on the main storage device, and creation/destruction of the inter-task queue entries. In this case, a checkpoint file is provided in which the corresponding inter-task queue entries are recorded and deleted, and each of the above-mentioned inter-task queue entries recorded in the above-mentioned checkpoint file is read into the above-mentioned queue entry pool after a system failure, and the above-mentioned inter-task queue entries are recorded and deleted. By setting and concatenating the next entry pointers of queue entries in the generation order indicated by the generation order information for each common task ID, the contents of the queue entry pool are restored, and the tasks in the restored queue entry pool are An inter-task queue control method characterized in that the contents of the queue control table are restored by setting the positions of the first and last queue entries for each queue in the queue control table.
JP59251756A 1984-11-30 1984-11-30 Inter-task queue controlling system Granted JPS61131043A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59251756A JPS61131043A (en) 1984-11-30 1984-11-30 Inter-task queue controlling system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59251756A JPS61131043A (en) 1984-11-30 1984-11-30 Inter-task queue controlling system

Publications (2)

Publication Number Publication Date
JPS61131043A true JPS61131043A (en) 1986-06-18
JPH0456341B2 JPH0456341B2 (en) 1992-09-08

Family

ID=17227453

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59251756A Granted JPS61131043A (en) 1984-11-30 1984-11-30 Inter-task queue controlling system

Country Status (1)

Country Link
JP (1) JPS61131043A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0227441A (en) * 1988-06-30 1990-01-30 Internatl Business Mach Corp <Ibm> Computer system
JPH11238046A (en) * 1997-11-21 1999-08-31 Fuji Xerox Co Ltd Computer system
US6886048B2 (en) * 2001-11-15 2005-04-26 Hewlett-Packard Development Company, L.P. Techniques for processing out-of-order requests in a processor-based system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0227441A (en) * 1988-06-30 1990-01-30 Internatl Business Mach Corp <Ibm> Computer system
JPH11238046A (en) * 1997-11-21 1999-08-31 Fuji Xerox Co Ltd Computer system
US6886048B2 (en) * 2001-11-15 2005-04-26 Hewlett-Packard Development Company, L.P. Techniques for processing out-of-order requests in a processor-based system

Also Published As

Publication number Publication date
JPH0456341B2 (en) 1992-09-08

Similar Documents

Publication Publication Date Title
US6618794B1 (en) System for generating a point-in-time copy of data in a data storage system
KR100238925B1 (en) A recoverable disk control system with a non-volatile memory
JPH0423144A (en) Journal system
JPH06250906A (en) Backup/recovery system for data developed in main storage device
JP3135714B2 (en) Checkpoint restart method
JPS61131043A (en) Inter-task queue controlling system
JP3037183B2 (en) Hard disk device management method and method
JPH06149485A (en) Data completion guarantee processing method
JPH033046A (en) Log record control system
JPH0744440A (en) Data save device
JPH0594356A (en) On-memory table data fault restoration system
JPH06309209A (en) File backup system
JPS6159538A (en) Queue control system between tasks
JPS6186831A (en) Data processor
JP2638451B2 (en) Information processing device
JP2776608B2 (en) Reformat processing method of auxiliary storage device
JPH0619808A (en) Information processor
CN118012669A (en) File metadata recovery system and method for distributed file system
JPS6286426A (en) Data base backup system
JPS6386042A (en) Restoring system for erasion file
JP2526726B2 (en) Multiplexed file recovery method
JPH01240943A (en) Data content recovery system
JPH039449A (en) Electronic disk subsystem
JPH0157382B2 (en)
WO1995019599A9 (en) File backup system