JPH0456341B2 - - Google Patents

Info

Publication number
JPH0456341B2
JPH0456341B2 JP59251756A JP25175684A JPH0456341B2 JP H0456341 B2 JPH0456341 B2 JP H0456341B2 JP 59251756 A JP59251756 A JP 59251756A JP 25175684 A JP25175684 A JP 25175684A JP H0456341 B2 JPH0456341 B2 JP H0456341B2
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.)
Expired - Lifetime
Application number
JP59251756A
Other languages
Japanese (ja)
Other versions
JPS61131043A (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
Tokyo Shibaura Electric Co 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 Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
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)

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)に分
解している。そして、各タスク間は、タスク間キ
ユー機構を介し、処理要求(タスク間待ち行列、
即ちタスク間キユー、以後タスク間QUEと称す
る)を受渡しして処理している。
[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 shown in Fig. 4), as shown in Fig. 4. , tasks A, B, and C). Processing requests (inter-task queues,
That is, inter-task queues (hereinafter referred to as inter-task QUEs) are transferred and processed.

タスク間QUEは、第5図に示すように、CPU
11有する計算機本体12の主記憶装置13に確
保されたQUEエントリプール14の空きQUEエ
ントリに作成される。これをタスク間キユーエン
トリ(QUEエントリ)の生成と呼ぶ。第5図に
は、タスクAのQUEエントリ15〜17、およ
びタスクBのQUEエントリ18が生成されてい
る状態が示されている。QUEエントリ15〜1
8は、該当タスクに渡されたタスク間キユー情報
(以下QUE情報と称する)を有する。QUE情報
の取出しは、フアーストイン・フアーストアウト
の方式に基づき、入力順に行なわれる。
As shown in Figure 5, the inter-task QUE
The QUE entry is created in a free QUE entry in the QUE entry pool 14 secured in the main storage device 13 of the computer main body 12 having 11. This is called generation of an inter-task queue entry (QUE entry). FIG. 5 shows a state in which QUE entries 15 to 17 for task A and QUE entry 18 for task B are generated. QUE entry 15-1
8 has inter-task queue information (hereinafter referred to as QUE information) passed to the corresponding task. 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には、該当タスクに属する全てのQUE
エントリのうちの先頭エントリの位置を示す先頭
エントリポインタと、最終エントリの位置を示す
最終エントリポインタとが設定される。しかし
て、先頭エントリポインタにより、該当タスクに
おいて次に取出すべきQUEエントリが、最終エ
ントリポインタにより、新たに生成されるQUE
エントリに連結(リンク)すべきQUEエントリ
が求められる。また、QUEエントリ15〜18
には、同エントリの次に処理されるQUEエント
リの位置を示す次エントリポインタが設定され
(但しQUEエントリ17,18はタスクA,Bの
最終QUEエントリのため、次エントリポインタ
として0が設定される)同一タスクに属する各
QUEエントリが入力順にリンクされる。
Therefore, in order to implement the first-in, first-out method, a queue control table 20 for managing QUE entries for each task is secured in the main storage device 13, as shown in FIG.
In the queue control table 20, control entries specific to each task are prepared. In FIG. 5, a control entry 21 for task A and a control entry 22 for task B are shown. control entry 2
1 and 22 contain all QUEs belonging to the relevant task.
A first entry pointer indicating the position of the first entry among the entries and a last entry pointer indicating the position of the last entry are set. Therefore, the first entry pointer indicates the next QUE entry to be retrieved in the task, and the last entry pointer indicates the newly generated QUE entry.
A QUE entry to be connected (linked) to the entry is required. Also, QUE entries 15 to 18
A next entry pointer indicating the position of the QUE entry to be processed next to the same entry is set in (However, since QUE entries 17 and 18 are the final QUE entries for tasks A and B, 0 is set as the next entry pointer. ) each belonging to the same task
QUE entries are linked in the order they are entered.

したがつて、主記憶装置13に確保された、待
ち行列制御テーブル20およびQUEエントリプ
ール14の内容により、各QUE情報の取出と処
理、およびQUEエントリの生成・消滅が正しく
実行できる。しかし、システム障害があつた場合
には、待ち行列制御テーブル20およびQUEエ
ントリプール14の内容は、破壊または消滅する
恐れがある。そこで従来は、ポインタ情報の更新
を併うQUEエントリの生成・消滅時には、待ち
行列制御テーブル20およびQUEエントリプー
ル14の全体をチエツクポイントとして、磁気デ
イスク装置などの外部記憶装置23に用意された
チエツクポイントフアイル24に書込むようにし
ている。この方式によれば、たとえシステム障害
が発生しても、チエツクポイントフアイル24の
内容を用いることにより、待ち行列制御テーブル
20およびQUEエントリプール14を障害発生
前の状態に復元できる。
Therefore, depending on the contents of the queue control table 20 and the QUE entry pool 14 secured in the main storage device 13, the retrieval and processing of each QUE information and the creation and deletion of QUE entries can be executed correctly. However, in the event of a system failure, the contents of the queue control table 20 and QUE entry pool 14 may be destroyed or lost. Therefore, conventionally, when a QUE entry is created or deleted with the update of pointer information, the entire queue control table 20 and QUE entry pool 14 are used as a checkpoint, and a checkpoint prepared in an external storage device 23 such as a magnetic disk device is used as a checkpoint. It is written to the point file 24. 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 the QUE entry pool 14 can be restored to the state before the failure occurred.

[背景技術の問題点] しかし、上記したような、待ち行列制御テーブ
ルおよびQUEエントリプール全体をチエツクポ
イントとして書込む方式では、特にQUEエント
リプールが大型化する大規模システムの場合、チ
エツクポイント書込みに長時間を要し、応答性能
が低下する問題があつた。
[Problems with the background art] However, with the above-mentioned method of writing the entire queue control table and QUE entry pool as a checkpoint, especially in a large-scale system where the QUE entry pool becomes large, it is difficult to write the checkpoint. There was a problem that it took a long time and the response performance deteriorated.

[発明の目的] この発明は上記事情に鑑みてなされたのでその
目的は、システム障害発生に備えて行なわれるチ
エツクポイント書込みでの、書込みデータ量を減
少でき、もつてチエツクポイント書込み時間の短
縮が図れ、応答性能の一層の向上が図れるタスク
間キユー制御方式を提供することにある。
[Purpose of the Invention] This invention was made in view of the above circumstances, and its purpose is to reduce the amount of data written in checkpoint writing performed in preparation for the occurrence of a system failure, thereby shortening the 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
エントリプールのタスク毎の先頭キユーエントリ
ポインタおよび最終キユーエントリポインタが設
定される待ち行列制御テーブルが用意される。更
に、この発明では、チエツクポイントフアイルが
用意される。このチエツクポイントフアイルに
は、上記QUEエントリプールにおけるQUEエン
トリの生成に際し、該当QUEエントリが記憶さ
れる。また、QUEエントリプールにおけるQUE
エントリの消滅に際しては、チエツクポイントフ
アイルに記録されている該当QUEエントリは消
去される。
[Summary of the invention] In this invention, QUE prepared in the main storage device
QUE entries (intertask queue entries) held in the (queue) entry pool are
Not only QUE information and next entry pointer, but also a task indicating the task to which the same entry belongs
It also has an ID. In addition, the above QUE
A queue control table is prepared in which a first queue entry pointer and a last queue entry pointer are set for each task in the entry pool. Furthermore, in this invention, a checkpoint file is provided. This checkpoint file stores the corresponding QUE entry when the QUE entry is generated in the QUE entry pool. Also, the QUE in the QUE entry pool
When an entry disappears, the corresponding QUE entry recorded in the checkpoint file is deleted.

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

また、この発明では、QUEエントリプールの
内容を、QUEエントリの生成順通りに復元する
必要があるシステムのために、各QUEエントリ
に、該当タスク内での同エントリの生成順を示す
生成順情報を設定するようにしている。この場
合、チエツクポイントフアイルに記録された各
QUEエントリを、システム障害後にQUEエント
リプールに読込むと、各QUEエントリの次エン
トリポインタを、共通のタスクID毎に上記生成
順情報の示す生成順に設定して連結することによ
り、QUEエントリプールの内容をシステム障害
前のQUEエントリの生成順通り復元する。また、
このようにして復元されたQUEエントリプール
におけるタスク毎の先頭および最終QUEエント
リの位置を上記待ち行列制御テーブルに設定する
ことにより、同テーブルの内容を復元する。
In addition, in this invention, for a system in which the contents of the QUE entry pool need to be restored in the order in which the QUE entries were created, each QUE entry is provided with generation order information that indicates the generation order of the same entry within the corresponding task. I am trying to set it. In this case, each checkpoint file recorded
When a QUE entry is read into the QUE entry pool 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, and the contents of the QUE entry pool are concatenated. is restored in the order in which the QUE entries were created before the system failure. Also,
By setting the positions of the first and last QUE entries for each task in the QUE entry pool restored in this manner in the queue control table, the contents of the table are 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を有している。
待ち行列制御テーブル50には、タスクA,Bの
QUEエントリを示すための制御エントリ51,
52など、各タスクに固有の制御エントリが用意
されている。制御エントリ51,52は、該当タ
スク(A,B)への先頭QUEエントリの位置を
示す先頭エントリポインタと、該当タスクへの最
終QUEエントリの位置を示す最終エントリポイ
ンタと、該当タスクへのQUEエントリの生成数
を示す通番カウンタとを有している。
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 inter-task QUE entries for each task, and a QUE entry pool 60 that holds inter-task QUE entries for the entire system.
The queue control table 50 includes information about tasks A and B.
control entry 51 for indicating a QUE entry;
Control entries specific to each task, such as 52, are provided. The control entries 51 and 52 include a first entry pointer indicating the position of the first QUE entry for the corresponding task (A, B), a final entry pointer indicating the position of the final QUE entry for the corresponding task, and a QUE entry for the corresponding task. and a serial number counter indicating the number of generated.

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

この例において、タスクAのQUEエントリは、
QUEエントリ61、QUEエントリ62、そして
QUEエントリ63の順に生成されている。この
ため、QUEエントリ61,62,63の一連番
号は、それぞれ1,2,3に設定されている。ま
た、QUEエントリ61の次エントリポインタは
QUEエントリ62の位置を指し、QUEエントリ
62の次エントリポインタはQUEエントリ63
の位置を指すように設定されている。このQUE
エントリ63は、その時点におけるタスクAの最
終QUEエントリであるので、次エントリポイン
タは0に設定されている。一方、QUEエントリ
64は、タスクBへの最初のQUEエントリであ
り、且つその時点における最終QUEエントリで
もある。したがつて、QUEエントリ64の次エ
ントリポインタは0に設定され、一連番号は1に
設定されている。
In this example, the QUE entry for task A is
QUE entry 61, QUE entry 62, and
They are generated in the order of QUE entries 63. Therefore, the serial numbers of QUE entries 61, 62, and 63 are set to 1, 2, and 3, respectively. Also, the next entry pointer of QUE entry 61 is
The next entry pointer of QUE entry 62 points to the position of QUE entry 62.
is set to point to the location. This QUE
Entry 63 is the final QUE entry for task A at that point, so 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, the next entry pointer of QUE entry 64 is set to 0 and the sequence number is set to 1.

外部記憶装置44は、チエツクポイントフアイ
ル46を有している。チエツクポイントフアイル
46には、QUEエントリプール60内の各QUE
エントリ領域に対応するエントリ領域が確保され
ている。そして、QUEエントリプール60内の
QUEエントリが生成される毎に、そのQUEエン
トリが、チエツクポイントフアイル46内の対応
するエントリ領域に書込まれる。また、チエツク
ポイントフアイル46に書込まれたQUEエント
リは、QUEエントリプール60における該当
QUEエントリの消滅に応じて消去(例えば0ク
リア)される。したがつて、QUEエントリプー
ル60にQUEエントリ61〜64が生成さてい
るこの例では、チエツクポイントフアイル46に
は、第1図に示すように、QUEエントリ61〜
64がQUEエントリ71〜74として書込まれ
ている。QUEエントリの書込みは、上記したよ
うに当該エントリの生成時であるため、QUEエ
ントリ71〜74の次エントリポインタは、いず
れも0に設定されている。
The external storage device 44 has a checkpoint file 46. Each QUE in the QUE entry pool 60 is stored in the checkpoint file 46.
An entry area corresponding to the entry area is secured. Then, in the QUE entry pool 60
Each time a QUE entry is generated, the QUE entry is written to the corresponding entry area in the checkpoint file 46. In addition, the QUE entry written to the checkpoint file 46 is the corresponding one in the QUE entry pool 60.
It is erased (for example, cleared to 0) in response to the disappearance of the QUE entry. Therefore, in this example where QUE entries 61 to 64 are generated in the QUE entry pool 60, the checkpoint file 46 contains QUE entries 61 to 64 as shown in FIG.
64 are written as QUE entries 71-74. Since a QUE entry is written when the entry is generated as described above, the next entry pointers of QUE entries 71 to 74 are all set to 0.

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

次にCPU41は、タスクBへのQUEエントリ
を、タスクAが処理中であつたQUEエントリ6
1にオーバーレイして作成する。即ちCPU41
は、QUEエントリ61にタスクBへのQUE情報
(タスク間QUE情報)を保存し、続いて次エント
リポインタを0に設定する。また、CPU41は、
待ち行列制御テーブル50に用意されているタス
クB用の制御エントリ52の最終エントリポイン
タを、上記オーバーレイにより生成されたQUE
エントリの位置を指すように更新し、且つ通番カ
ウンタを+1して2とする。また、CPU41は、
制御エントリ52の最終エントリポインタがそれ
まで指していたQUEエントリ64の次エントリ
ポインタに、上記生成されたQUEエントリの位
置を設定する。これにより、上記生成された
QUEエントリが、同エントリ生成前に最終QUE
エントリで(あり且つ先頭QUEエントリでも)
あつたQUEエントリ64に連結される。更に
CPU41は、上記生成されたQUEエントリのタ
スクIDがタスクBを示すように更新し、且つ一
連番号を上記計数後の通番カウンタの値(2)に
設定する。このようにして、タスクAへのQUE
エントリ61の領域に、第2図に示すように、タ
スクBへのQUEエントリ65が生成される。即
ち、QUEエントリ61の消滅と共に、QUEエン
トリ65が生成される。
Next, the CPU 41 transfers the QUE entry to task B to QUE entry 6, which task A was processing.
Create by overlaying 1. That is, CPU41
saves the QUE information for task B (inter-task QUE information) in the QUE entry 61, and then sets the next entry pointer to 0. In addition, the CPU 41 is
The last entry pointer of the control entry 52 for task B prepared in the queue control table 50 is set to the QUE generated by the above overlay.
It is updated to point to the entry position, and the serial number counter is incremented by 1 to 2. In addition, the CPU 41 is
The position of the generated QUE entry is set to the next entry pointer of the QUE entry 64 that the last entry pointer of the control entry 52 was pointing to. This results in the above generated
A QUE entry is the last QUE before the same entry is generated.
entry (and also the first QUE entry)
It is connected to the hot QUE entry 64. Furthermore
The CPU 41 updates the task ID of the generated QUE 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, QUE to task A
A QUE entry 65 for task B is generated in the area of entry 61, as shown in FIG. That is, when the QUE entry 61 disappears, the QUE entry 65 is generated.

CPU41は、タスクBへのQUEエントリ65
を生成すると、QUEエントリプール60内の同
エントリ65の領域に対応する、(外部記憶装置
44上の)チエツクポイントフアイル46内領域
にQUEエントリ65の内容を書込む。即ちCPU
41は、QUEエントリ61に対応するQUEエン
トリ71の領域に、QUEエントリ65の内容を
第2図に示すようにQUEエントリ75としてオ
ーバーレイする。即ち、QUEエントリ61に対
応するQUEエントリ71の消去とQUEエントリ
65に対応するQUEエントリ75の記録とが同
時に行なわれる。なお、消滅すべきQUEエント
リの領域とは別の領域にQUEエントリを生成す
る場合には、QUEエントリの消滅時においてチ
エツクポイントフアイル46の対応する領域の内
容を消去する必要がある。
The CPU 41 sends a QUE entry 65 to task B.
When the QUE entry 65 is generated, the contents of the QUE entry 65 are written to an area in the checkpoint file 46 (on the external storage device 44) that corresponds to the area of the same entry 65 in the QUE entry pool 60. i.e. CPU
41 overlays the contents of the QUE entry 65 on the area of the QUE entry 71 corresponding to the QUE entry 61 as a QUE entry 75 as shown in FIG. That is, deletion of the QUE entry 71 corresponding to the QUE entry 61 and recording of the QUE entry 75 corresponding to the QUE entry 65 are performed simultaneously. Note that when a QUE entry is generated in a different area from the area of the QUE entry to be deleted, it is necessary to erase the contents of the corresponding area of the checkpoint file 46 when the QUE entry is deleted.

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

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

続いてCPU41は、待ち行列制御テーブル5
0内の制御エントリ51の先頭エントリポインタ
に、QUEエントリプール60に復元されたQUE
エントリ62(タスクAへの先頭QUEエントリ)
の位置を設定し、同じく最終エントリポインタ
QUEエントリ63(タスクAへの先頭QUEエン
トリ)の位置を設定する。そしてCPU41は、
最終QUEエントリであるQUEエントリ63の一
連番号(3)を制御エントリ51の通番カウンタ
に設定する。これにより、制御エントリ51の内
容が復元される。以上の処理が、QUEエントリ
プール60内の全有効タスク分実施されることに
より、待ち行列制御テーブル50およびQUEエ
ントリプール60の内容が復元される。
Next, the CPU 41 reads the queue control table 5.
The QUE restored to the QUE entry pool 60 is set to the first entry pointer of the control entry 51 in 0.
Entry 62 (first QUE entry to task A)
and also the final entry pointer
Set the position of the QUE entry 63 (first QUE entry for task A). And CPU41 is
The serial number (3) of the QUE entry 63, which is the final QUE entry, is set 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 pool 60, the contents of the queue control table 50 and the QUE entry pool 60 are restored.

なお、前記実施例では、制御エントリ内に通番
カウンタが用意されている場合について説明した
が、これに限るものでない。例えば、QUEエン
トリの生成に際し、その時点における最終QUE
エントリの一連番号(タスク内一連番号)に1を
加えた値を、生成QUEエントリの一連番号とす
ることにより、制御エントリ内の通番カウンタを
不要とすることができる。また、前記実施例で
は、(タスク毎の)QUEエントリの生成順を示す
情報として一連番号(タスク内一連番号)を適用
した場合について説明したが、例えばシステムク
ロツク等による時間情報を用いることも可能であ
る。要は、待ち行列制御テーブルおよびQUEエ
ントリプールを復元する際に、(タスク毎の)
QUEエントリを生成順に連結できる情報であれ
ばよい。
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, the final QUE at that time
By setting the value obtained by adding 1 to the serial number of the entry (intra-task serial number) as the serial 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 sequence number (intra-task sequence number) is applied as information indicating the generation order of QUE entries (for each task), but time information such as a system clock may also be used. It is possible. In short, when restoring the queue control table and QUE entry pool, (for each task)
Any information that can connect QUE entries in the order of generation is sufficient.

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

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

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

第1図はこの発明の一実施例におけるQUEエ
ントリ生成前の待ち行列制御テーブルとQUEエ
ントリプールとチエツクポイントフアイルとの相
関図、第2図は第1図におけるQUEエントリ生
成後の状態を示す図、第3図は第2図におけるシ
ステム障害発生後にチエツクポイントフアイルの
内容をQUEエントリに読込んだ状態を示す図、
第4図はタスクとタスク間キユー(QUE)との
関係を説明する図、第5図は従来技術における
QUEエントリ生成前の待ち行列制御テーブルと
QUEエントリプールとチエツクポイントフアイ
ルとの相関図である。 41…CPU、42…主記憶装置、46…チエ
ツクポイントフアイル、50…待ち行列制御テー
ブル、51…制御エントリ、60…QUE(キユ
ー)エントリプール、61〜65,71〜75,
82〜85…QUEエントリ(タスク間キユーエ
ントリ)。
FIG. 1 is a correlation diagram of the queue control table, QUE entry pool, 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.
Figure 4 is a diagram explaining the relationship between tasks and inter-task queues (QUE), and Figure 5 is a diagram explaining the relationship between tasks and inter-task queues (QUE).
Queue control table before QUE entry generation and
FIG. 3 is a correlation diagram between a QUE entry pool and a checkpoint file. 41...CPU, 42...Main storage device, 46...Checkpoint file, 50...Queue control table, 51...Control entry, 60...QUE entry pool, 61-65, 71-75,
82 to 85...QUE entries (intertask queue entries).

Claims (1)

【特許請求の範囲】 1 各タスクがタスク間キユー情報を受渡しして
処理を行なうシステムにおいて、上記タスク間キ
ユー情報を有するタスク間キユーエントリであつ
て、同エントリが属するタスクを示すタスクID、
および同エントリの次に処理されるタスク間キユ
ーエントリの位置を示す次エントリポインタを更
に有するタスク間キユーエントリを保持する、主
記憶装置上に形成されたキユーエントリプール
と、上記キユーエントリプールのタスク毎の先頭
キユーエントリポインタおよび最終キユーエント
リポインタを有し、上記主記憶装置上に形成され
た待ち行列制御テーブルと、上記タスク間キユー
エントリの生成・消滅に際し、該当タスク間キユ
ーエントリが記録・消去されるチエツクポイント
フアイルとを備え、上記チエツクポイントフアイ
ルに記録された上記各タスク間キユーエントリ
を、システム障害後に上記キユーエントリプール
に読込み、上記各タスク間キユーエントリの次エ
ントリポインタを、共通のタスクID毎に設定し
て連結することにより、上記キユーエントリプー
ルの内容を復元すると共に、上記復元されたキユ
ーエントリプールにおけるタスク毎の先頭および
最終キユーエントリの位置を上記待ち行列制御テ
ーブルに設定することにより、同テーブルの内容
を復元することを特徴とするタスク間キユー制御
方式。 2 各タスクがタスク間キユー情報を受渡しして
処理を行なうシステムにおいて、上記タスク間キ
ユー情報を有するタスク間キユーエントリであつ
て、同エントリが属するタスクを示すタスクID、
該当タスク内での同エントリの生成順を示す生成
順情報、および同エントリの次に処理されるタス
ク間キユーエントリの位置を示す次エントリポイ
ンタを更に有するタスク間キユーエントリを保持
する、主記憶装置上に形成されたキユーエントリ
プールと、上記キユーエントリプールのタスク毎
の先頭キユーエントリポインタおよび最終キユー
エントリポインタを有し、上記主記憶装置上に形
成された待ち行列制御テーブルと、上記タスク間
キユーエントリの生成・消滅に際し、該当タスク
間キユーエントリが記録・消去されるチエツクポ
イントフアイルとを備え、上記チエツクポイント
フアイルに記録された上記各タスク間キユーエン
トリを、システム障害後に上記キユーエントリプ
ールに読込み、上記各タスク間キユーエントリの
次エントリポインタを、共通のタスクID毎に上
記生成順情報の示す生成順に設定して連結するこ
とにより、上記キユーエントリプールの内容を復
元すると共に、上記復元されたキユーエントリプ
ールにおけるタスク毎の先頭および最終キユーエ
ントリの位置を上記待ち行列制御テーブルに設定
することにより、同テーブルの内容を復元するこ
とを特徴とするタスク間キユー制御方式。
[Scope of Claims] 1. 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 has a task ID indicating the task to which the entry belongs;
and a queue entry pool formed on a 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 next to the same entry; The queue control table, which has a first queue entry pointer and a last queue entry pointer for each task in the entry pool, is formed on the main storage device, and when the inter-task queue entry is created or deleted, and a checkpoint file in which inter-task queue entries are recorded and deleted, and the inter-task queue entries recorded in the check-point file are read into the queue entry pool after a system failure, and the inter-task queue entries are read into the queue entry pool after a system failure. By setting and concatenating the next entry pointer of user entries for each common task ID, the contents of the queue entry pool are restored, and the first and last keys of each task 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 position of the user entry in the queue control table. 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, a task ID indicating the task to which the entry belongs;
A main unit that holds intertask queue entries that further includes generation order information indicating the generation order of the same entry within the corresponding task, and a next entry pointer indicating the position of the intertask queue entry to be processed next to the same entry. A queue control table formed on the main storage device, having a queue entry pool formed on the storage device, and a first queue entry pointer and a final queue entry pointer for each task in the queue entry pool. and a checkpoint file in which the corresponding intertask queue entry is recorded and deleted when the intertask queue entry is created or deleted, and each of the intertask queue entries recorded in the checkpoint file, After a system failure, the above queue entries are read into the above queue entry pool, and the next entry pointers of the above inter-task queue entries are set and concatenated in the generation order indicated by the above generation order information for each common task ID. In addition to restoring the contents of the pool, the contents of the table are restored by setting the positions of the first and last queue entries for each task in the restored queue entry pool in the queue control table. An inter-task queue control method.
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 JPS61131043A (en) 1986-06-18
JPH0456341B2 true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4924466A (en) * 1988-06-30 1990-05-08 International Business Machines Corp. Direct hardware error identification method and apparatus for error recovery in pipelined processing areas of a computer system
US6081906A (en) * 1997-11-21 2000-06-27 Fuji Xerox Co., Ltd. Multi-thread processing with queuing and recovery
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
JPS61131043A (en) 1986-06-18

Similar Documents

Publication Publication Date Title
US6898688B2 (en) Data management appliance
US7340645B1 (en) Data management with virtual recovery mapping and backward moves
JPH0423144A (en) Journal system
JPH0113571B2 (en)
JPH06250906A (en) Backup/recovery system for data developed in main storage device
JP3135714B2 (en) Checkpoint restart method
JPH0456341B2 (en)
JPH033046A (en) Log record control system
Srinivasan et al. Recoverable file system for microprocessor systems
JPS6159538A (en) Queue control system between tasks
JPH0594356A (en) On-memory table data fault restoration system
JP2590282B2 (en) System execution history collection processing method
JPH04315232A (en) Disk device and file managing method therefor
JP2938088B2 (en) Disaster recovery method for shared files
JPH06309209A (en) File backup system
JPH0287242A (en) Saving and recovering system for data base
JP3027782B2 (en) Database recovery method
JPS63138442A (en) Restoring and processing system for deleted file
JP2509972B2 (en) Environment setting method
JPH0259837A (en) Data recovery processing system
JPH04165543A (en) Electronic filing device
JP2776608B2 (en) Reformat processing method of auxiliary storage device
JP3368378B2 (en) Storage content management method and data processing device
JPS6244293B2 (en)
JPH0795299B2 (en) Database update processing method