JP2749074B2 - Distributed processing method - Google Patents
Distributed processing methodInfo
- Publication number
- JP2749074B2 JP2749074B2 JP63232361A JP23236188A JP2749074B2 JP 2749074 B2 JP2749074 B2 JP 2749074B2 JP 63232361 A JP63232361 A JP 63232361A JP 23236188 A JP23236188 A JP 23236188A JP 2749074 B2 JP2749074 B2 JP 2749074B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- file
- program
- message
- network
- 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
Links
Landscapes
- Multi Processors (AREA)
Description
【発明の詳細な説明】 [産業上の利用分野] 本発明は、ネットワークにより結合された複数のプロ
セサからなる分散処理システムにおいて、異なるプロセ
サに多重に配置されたファイル間での内容の整合性をネ
ットワーク障害発生/回復時にも保証するための分散処
理方法に関する。DETAILED DESCRIPTION OF THE INVENTION [Industrial Application Field] The present invention relates to a distributed processing system composed of a plurality of processors connected by a network, and checks the consistency of contents between files multiplexed in different processors. The present invention relates to a distributed processing method for guaranteeing even when a network failure occurs / recovers.
[従来の技術] 複数のプロセサにより、一連の処理を分散して実行す
る分散処理システムにおいて、同一処理を実行するプロ
グラムを複数のプロセサに配置し、これらプログラムを
非同期に走らせることにより、処理のノンストップ化を
図るための方式が、例えば、特願昭61−173642号明細書
に示すものが考えられる。ここでは、同一処理を実行す
るプログラムが非同期に出力する多重データを識別し、
一つにしぼるためのボーティング方式が示されている。[Prior Art] In a distributed processing system in which a series of processes are distributed and executed by a plurality of processors, a program that executes the same process is arranged in a plurality of processors, and the programs are executed asynchronously to execute processing. As a method for achieving non-stop, for example, a method disclosed in Japanese Patent Application No. 61-17342 is considered. Here, the multiplexed data that the program executing the same process outputs asynchronously is identified,
The voting method for squeezing is shown.
[発明が解決しようとする課題] 上記従来技術では、同一処理を実行する各プログラム
が各々のファイルを扱っていた場合、各プログラムによ
り非同期に更新されるファイル間での内容の整合性を保
つための考慮がなされておらず、ネットワーク障害発生
時、上記ファイル間で不整合が発生するという問題があ
った。[Problem to be Solved by the Invention] In the above-described conventional technology, when each program that executes the same processing handles each file, it is necessary to maintain consistency of contents between files that are asynchronously updated by each program. However, there is a problem that when a network failure occurs, inconsistency occurs between the files.
本発明の目的は、分散処理システムにおいて、ネット
ワーク障害発生時にも、多重化されたファイル間での整
合性を保証するための分散処理方法を提供することにあ
る。An object of the present invention is to provide a distributed processing method for ensuring consistency between multiplexed files even when a network failure occurs in a distributed processing system.
[課題を解決するための手段] 上記目的を達成するために、本発明による分散処理方
法では、同一のプログラムを非同期に実行するプロセサ
の各々が、ネットワークの障害の診断を行なう。そし
て、診断の結果、ネットワークの障害を検出すると、各
プロセサは、そのプログラムを実行することによりファ
イルが更新されることを抑止することを特徴としてい
る。より具体的には、ファイルの更新の抑止は、複数の
プロセサ上で非同期に実行されているプログラムの実行
を抑止することにより行なわれる。また、より好ましく
は、ファイルの更新の抑止に伴い、そのファイルの内容
が、プログラムの開始以前の状態に戻される。[Means for Solving the Problems] In order to achieve the above object, in the distributed processing method according to the present invention, each processor that executes the same program asynchronously diagnoses a network failure. Then, as a result of the diagnosis, when a failure of the network is detected, each processor is characterized in that the execution of the program prevents the file from being updated. More specifically, the update of the file is inhibited by inhibiting the execution of a program that is being executed asynchronously on a plurality of processors. More preferably, the content of the file is returned to the state before the start of the program in accordance with the suppression of the update of the file.
[作用] 上記手段により、ネットワーク上に障害が発生する
と、同一のプログラムを実行している各プロセサによる
多重化されたファイルの更新が行なわれなくなる。これ
により、ネットワーク障害が発生した場合に、多重化さ
れたファイル間の不整合が発生することを防ぐことがで
きる。さらに、ファイルの更新の抑止に伴って、多重化
されたファイルの内容をそのファイルを更新するプログ
ラムの実行が開始された以前の状態に戻すことで、より
確実にファイル間の整合性を保証することが可能にな
る。[Operation] According to the above means, when a failure occurs on the network, the multiplexed file is not updated by the processors executing the same program. Thus, when a network failure occurs, it is possible to prevent inconsistency between the multiplexed files. Further, with the suppression of file update, the contents of the multiplexed file are returned to the state before the execution of the program for updating the file is started, thereby ensuring the consistency between the files more reliably. It becomes possible.
[実施例] 以下、本発明の実施例により詳細に説明する。第2図
は本発明が適用されるシステムの全体構成を示す図であ
る。10,20,30……は処理を実行するプロセサであり、そ
れぞれ、CRT端末11,21,31……及びディスク12,22,32…
…が接続されている。また、これら各プロセサは各々、
ネットワーク接続用のトランシーバ15,25,35を介してネ
ットワーク1に接続されている。なお、本実施例では、
ネットワークとしてバス型を適用した例を示すが、これ
はリング型ネットワークであってもかまわない。第2図
(b)にネットワーク1上を流れるメッセージのフォー
マットを示す。F310,308はメッセージの始めと終了を示
すフラグである。CC302は内容コードでデータの内容や
機能に対応したコードである。各プロセサは本内容コー
ドに基づき、ネットワークからの受信データが自らに必
要なものであるか否かを判断する。SA303はメッセージ
を発生したプロセサの番号(発生源アドレス)であり、
C304は伝送上必要となる通番である。データD306は、本
メッセージにより転送されるべき情報を格納するリエア
であり、FCS307は誤り検知用のデータである。また、EN
305は、処理レベルの通番であり、イベント番号と呼
ぶ。イベント番号はプロセサ番号エリアPN30511及びメ
ッセージ発生通番エリアMN30512とから成る。なお、本
エリアには前もって定められた個数のプロセサ番号とメ
ッセージ番号通番の対を格納できるだけのエリアがとら
れている。[Example] Hereinafter, an example of the present invention will be described in detail. FIG. 2 is a diagram showing the overall configuration of a system to which the present invention is applied. Are processors for executing processing, and are CRT terminals 11, 21, 31 and discs 12, 22, 32, respectively.
... are connected. In addition, each of these processors,
It is connected to the network 1 via transceivers 15, 25, 35 for network connection. In this embodiment,
An example in which a bus type is applied as a network is shown, but this may be a ring type network. FIG. 2 (b) shows the format of a message flowing on the network 1. F310 and 308 are flags indicating the start and end of the message. CC302 is a content code, which is a code corresponding to the content and function of data. Each processor determines whether or not the data received from the network is necessary for itself based on the content code. SA303 is the number (source address) of the processor that generated the message,
C304 is a serial number required for transmission. Data D306 is a relay storing information to be transferred by this message, and FCS307 is data for error detection. Also, EN
Reference numeral 305 denotes a serial number of the processing level, which is called an event number. The event number includes a processor number area PN30511 and a message generation serial number area MN30512. It should be noted that this area has an area capable of storing a predetermined number of pairs of a processor number and a message number serial number.
第1図(a)はプロセサ10の内部構成を示す図であ
る。なお、プロセサ20,30……も同じ構成である。伝送
制御ユニット101は、プロセサ10とネットワーク1間で
のデータ転送を行うためのユニットである。また、この
伝送制御ユニット101内には、トランシーバ15とプロセ
サ10間の回線1010の障害をメッセージ送受信時に検出す
るテストユニット1011が組み込まれている。伝送制御ユ
ニット101は、ネットワークより受信したメッセージの
うち、自らに必要なメッセージを内容コードテーブル10
8に基づき選択し受信バッファ102に格納する。また、送
信バッファ104内のメッセージをネットワークに送出す
ると同時に、そのメッセージを自プロセサ内アプリケー
ションプログラムで必要とする場合は、受信バッファ10
2にも格納する。処理ユニット103は、受信バッファ102
内のメッセージを入出力データ格納エリア105内に格納
するとともに、この入出力データ格納エリア105内のデ
ータにより実行可能となったプログラムを実行する。プ
ログラム実行エリア106は、ディスク102内よりプログラ
ムをローディングし実行するためのエリアである。ま
た、本システムでは、プログラムを多重化し複数のプロ
セサに配置し、各プロセサで非同期に実行することを可
能としており、この場合、同一内容をもつ複数のメッセ
ージ(すなわち、多重化されたプログラムからの出力メ
ッセージ:以後多重メッセージと呼ぶ)がネットワーク
上に流れることになる。処理ユニット103は、これら多
重メッセージを受信メッセージ内のイベント番号EN(第
2図(b)305)に基づき識別し、それらのうちから一
つを選択する機能をもつ。ディスク制御ユニット107,端
末制御ユニット114は、それぞれ、ディスク12とプロセ
サ10,端末11とプロセサ10間でのデータ転送を行うため
のユニットである。端末処理ユニット113は、端末11か
らの入力データを端末制御ユニット114を介して取り込
み、ネットワーク上を流れるメッセージのフォーマット
に変換した後、送信バッファ104に格納する。送信バッ
ファに格納されたこのメッセージは伝送制御ユニットに
よりネットワークに送出されるとともに、このメッセー
ジ用いるプログラムが自内に存在する場合は、受信バッ
ファ102に格納される。また、入出力データ格納エリア
内の端末出力データを端末に出力する。ネットワーク接
続フラグ109は、自プロセサが他プロセサとネットワー
クを介して互いにメッセージ交換を行えるか否かを示す
フラグであり、ネットワーク障害フラグ110は、ネット
ワーク1上に障害が発生しているか否かを示すフラグで
あり、回線障害フラグ115はネットワークとプロセサ間
の回線に障害が発生しているか否かを示すフラグであ
る。なお、このフラグ110,115はプロセサ立ち上げ時は
障害検知状態がセットされているものとする。また、テ
ストユニット1011はネットワークとの送受信時にプロセ
サとネットワーク間の回線異常を検出するとフラグ115
に障害状態をセットする。逆に障害回復を検出するとフ
ラグ115をリセットする。自プロセサ番号格納エリア111
は、自プロセサにユニークに割り当てられた番号を格納
するエリアであり、通番エリア112は、端末処理ユニッ
ト113が送信バッファに格納するメッセージにつける通
番を格納しておくエリアである。また、プロセサ10に接
続されているディスク12内には、自プロセサで実行する
アプリケーションプログラム1000,2000……及びこれら
アプリケーションプログラムが用いるファイル1500,250
0……が格納されている。また、これら各プログラム,
ファイルごとに、多重化されたものであるか否か、すな
わち、システム内に同一プログラム,ファイルが存在す
るか否か、また、存在する場合には、それらに関する情
報を格納しておくための多重情報テーブル(プログラ
ム:1001,2001……,ファイル:1501,2501,……)も格納
されている。次に、この多重情報テーブルの内容を第1
図(b)に示す。多重情報テーブルは、システム内に存
在する同一プログラム又は、ファイルの数を示すエリア
10011、及び、多重プログラム、又は、ファイルが格納
されているプロセサのプロセサ番号を格納するエリア10
012より構成される。FIG. 1A is a diagram showing the internal configuration of the processor 10. .. Have the same configuration. The transmission control unit 101 is a unit for performing data transfer between the processor 10 and the network 1. Further, in the transmission control unit 101, a test unit 1011 for detecting a failure of the line 1010 between the transceiver 15 and the processor 10 at the time of message transmission / reception is incorporated. The transmission control unit 101 stores, among the messages received from the network, messages necessary for itself, in the content code table 10.
8 and is stored in the reception buffer 102. When the message in the transmission buffer 104 is sent to the network and the message is required by the application program in the own processor, the reception buffer 10
Also stored in 2. The processing unit 103 includes the reception buffer 102
Are stored in the input / output data storage area 105, and a program executable by the data in the input / output data storage area 105 is executed. The program execution area 106 is an area for loading and executing a program from the disk 102. Further, in the present system, it is possible to multiplex a program and place it in a plurality of processors, and to execute the program asynchronously in each processor. In this case, a plurality of messages having the same contents (that is, Output message: hereinafter referred to as a multiplex message) flows on the network. The processing unit 103 has a function of identifying these multiplex messages based on the event number EN (305 in FIG. 2 (b)) in the received message and selecting one of them. The disk control unit 107 and the terminal control unit 114 are units for transferring data between the disk 12 and the processor 10, and between the terminal 11 and the processor 10, respectively. The terminal processing unit 113 takes in the input data from the terminal 11 via the terminal control unit 114, converts the data into a format of a message flowing on the network, and stores it in the transmission buffer 104. The message stored in the transmission buffer is transmitted to the network by the transmission control unit, and is stored in the reception buffer 102 when a program using the message exists in itself. The terminal output data in the input / output data storage area is output to the terminal. The network connection flag 109 is a flag indicating whether or not the own processor can exchange messages with another processor via the network. The network failure flag 110 indicates whether or not a failure has occurred on the network 1. The line failure flag 115 is a flag indicating whether or not a failure has occurred in the line between the network and the processor. The flags 110 and 115 are assumed to have the failure detection state set when the processor is started. When the test unit 1011 detects a line error between the processor and the network during transmission / reception to / from the network, the test
Set the fault condition to Conversely, when failure recovery is detected, the flag 115 is reset. Local processor number storage area 111
Is an area for storing a number uniquely assigned to the own processor, and the serial number area 112 is an area for storing a serial number assigned to a message stored in the transmission buffer by the terminal processing unit 113. Also, in the disk 12 connected to the processor 10, application programs 1000, 2000,... Executed by the own processor and files 1500, 250 used by these application programs are stored.
0 ... are stored. In addition, each of these programs,
Whether or not each file is multiplexed, that is, whether or not the same program and file exist in the system, and if so, multiplexing for storing information about them Information tables (programs: 1001, 2001,..., Files: 1501, 2501,...) Are also stored. Next, the contents of the multiplex information table are stored in the first
It is shown in FIG. The multiplex information table is an area indicating the number of the same program or file existing in the system.
10011 and an area 10 for storing a processor number of a processor in which a multiplex program or a file is stored.
012.
次に、入出力データ格納エリア105の内容を第1図
(c)に示す。エリア1行目1051は、アプリケーション
プログラム1000に対する入出力データ格納エリアであ
る。10511には入力データが、10512には出力データが格
納される。プログラムエリア10513には、10511に格納さ
れた入力データを用いて処理を実行するプログラム(す
なわち、1000)を示すエリアである。ファイルエリア10
514は10513に示されているプログラムがアクセスするフ
ァイルを示すエリアである。エリア10513,10514の内容
はあらかじめ設定されているものとする。フラグエリア
10515は、10513に示されているプログラムの実行可否を
示すフラグである。2行目1052はアプリケーションプロ
グラム2000の入出力データを格納するエリアである。以
下、同様に各アプリケーションプログラムごとに入出力
データを格納するエリアがとらえられる。なお、端末に
出力されるデータの場合は、プログラムエリア10513に
端末処理ユニットを示す情報が設定される。第1図
(d)は入力データ格納エリア10511のフォーマットを
示す図である。エリア105111には入力データの内容コー
ドがあらかじめ設定されている。エリア105112は入力デ
ータが格納されているか否かを示すフラグのためのエリ
アであり、エリア105113はイベント番号を格納するため
のエリア,エリア105114は、ネットワークより受信した
メッセージ内のデータ部内容を格納するためのエリアで
ある。アプリケーションプログラムが複数の入力データ
を用いる場合は、上記各エリア105111〜105114が各入力
データごとにとられる。なお、出力データ格納エリアも
同一フォーマットである。Next, the contents of the input / output data storage area 105 are shown in FIG. The first line 1051 of the area is an input / output data storage area for the application program 1000. 10511 stores input data, and 10512 stores output data. The program area 10513 is an area indicating a program (that is, 1000) for executing a process using the input data stored in the 10511. File area 10
Reference numeral 514 denotes an area indicating a file to be accessed by the program indicated by 10513. It is assumed that the contents of the areas 10513 and 10514 are set in advance. Flag area
10515 is a flag indicating whether or not the program shown in 10513 can be executed. The second line 1052 is an area for storing input / output data of the application program 2000. Hereinafter, similarly, an area for storing input / output data is taken for each application program. In the case of data output to the terminal, information indicating the terminal processing unit is set in the program area 10513. FIG. 1D shows the format of the input data storage area 10511. In area 105111, the content code of the input data is set in advance. An area 105112 is an area for a flag indicating whether or not input data is stored, an area 105113 is an area for storing an event number, and an area 105114 is for storing a data part content in a message received from the network. It is an area to do. When the application program uses a plurality of input data, the areas 105111 to 105114 are set for each input data. The output data storage area has the same format.
次に、各プロセサにおける多重メッセージの処理方式
について簡単に示す。なお、以下に示す多重メッセージ
処理方式については、例えば、特願昭61−173642号明細
書に詳しく示されている。Next, a brief description will be given of a multiplex message processing method in each processor. The following multiplex message processing method is described in detail in, for example, Japanese Patent Application No. 61-17342.
(1)端末処理ユニット113 端末より入力されたデータにより、第2図(b)に示
したフォーマットのメッセージを生成する。この際、メ
ッセージ内イベント番号エリアのPN部(第2図(b)30
511)に自プロセサ番号格納エリア(第1図(a)111)
内容を、MN部(第2図(b)30512)に通番エリア内容
(第1図(a)112)を設定する。また、通番エリア内
容を1増加させる。(1) Terminal processing unit 113 A message having the format shown in FIG. 2 (b) is generated from the data input from the terminal. At this time, the PN part of the event number area in the message (FIG. 2 (b) 30)
511) in its own processor number storage area (111 in FIG. 1 (a))
The contents are set as the serial number area contents (112 in FIG. 1 (a)) in the MN unit (30512 in FIG. 2 (b)). Also, the contents of the serial number area are increased by one.
(2)処理ユニット103 (i)イベント番号中継 プログラム実行エリア(第1図(a)106)内で実行
されているアプリケーションプログラムが出力するデー
タから第2図(b)に示したフォーマットのメッセージ
を生成する。この際、メッセージ内イベント番号エリア
に、そのプログラムの入力メッセージ内のイベント番号
エリア内容をコピーする。(2) Processing unit 103 (i) Event number relay A message in the format shown in FIG. 2 (b) is converted from the data output by the application program being executed in the program execution area (106 in FIG. 1 (a)). Generate. At this time, the contents of the event number area in the input message of the program are copied to the event number area in the message.
(ii)多重メッセージ識別 処理ユニット103は、ネットワークより受信したメッ
セージのうちから、同一内容コード及び同一イベント番
号をもつメッセージ(すなわち、多重メッセージ)を識
別し、これらのうちから1つのメッセージを選択する。(Ii) Multiple message identification The processing unit 103 identifies messages having the same content code and the same event number (that is, multiple messages) from the messages received from the network, and selects one message from these. .
第3図は、第2図で示したシステム構成において、ネ
ットワーク障害が発生した場合にファイル間で不整合が
発生する場合の一例を示したものである。第3図(a)
は、障害が発生していない場合の状態を示したものであ
る。プロセサ10,20で同一のアプリケーションプロラムP
1を実行しており、これら各プログラムはそれぞれ自プ
ロセサディスク内のファイルF1をアクセスしている。ま
た、プロセサ10,20内の両プログラムともプロセサ10に
接続されている端末11とデータ交換を行っている。ここ
で、プロセサ10には、自内プログラムからの端末11への
出力データのみでなく、プロセサ20からの端末11への出
力データもネットワークより到達するが、これらのデー
タは前述した多重メッセージ処理方式により1つの選択
され端末11に出力される。FIG. 3 shows an example of a case in which inconsistency occurs between files when a network failure occurs in the system configuration shown in FIG. Fig. 3 (a)
Shows a state where no failure has occurred. The same application program P for processors 10 and 20
If you are running 1, each of these programs are each accessing the file F 1 in the own processor disk. Further, both programs in the processors 10 and 20 exchange data with the terminal 11 connected to the processor 10. Here, not only the output data from the internal program to the terminal 11 but also the output data from the processor 20 to the terminal 11 arrives at the processor 10 from the network. Is selected and output to the terminal 11.
第3図(b),(c)はそれぞれ、ネットワーク障
害、プロセサ10とネットワーク間回線障害が発生した場
合を示す。いずれの場合も、従来方式ではプロセサ10は
自内のみで処理を続行してしまうため、プロセサ10のフ
ァイルF1とプロセサ20のファイルF2の間の不整合が発生
する。以下、本発明方式を第4図以降を用いて詳細に説
明する。FIGS. 3 (b) and 3 (c) show a case where a network failure and a line failure between the processor 10 and the network have occurred. In any case, in the conventional system processor 10 for thereby continues processing only in its own, mismatch between the file F 2 files F 1 and processor 20 of the processor 10 occurs. Hereinafter, the method of the present invention will be described in detail with reference to FIGS.
第4図は、各プロセサの立ち上げ時の処理を示すフロ
ーである。処理ユニット(第1図(a)103)は自プロ
セサ立ち上げ時、ます、入出力データ格納エリアのプロ
グラム部(第1図(c)10513),ファイル部(第1図
(c)10514)より、自内のアプリケーションプログラ
ム及び、それらがアクセスするファイルを示す情報をデ
ータ部(第2図(b)306)にもつメッセージを作成し
(処理401)、送信バッファに格納(処理402)した後、
前もって設定された時間T1のタイマをセットする(処理
403)。本メッセージには、立ち上げ情報であることを
示す内容コードがつけられている。本メッセージは伝送
制御ユニットによりネットワークに送出される。FIG. 4 is a flow chart showing processing when each processor is started. When the processor is started, the processing unit (Fig. 1 (a) 103) first reads from the program section (Fig. 1 (c) 10513) and the file section (Fig. 1 (c) 10514) of the input / output data storage area. After creating a message in the data section (306 in FIG. 2 (b) 306) containing information indicating its own application programs and the files to be accessed by them (process 401) and storing them in the transmission buffer (process 402),
Setting the pre-set time T 1 of the timer (processing
403). This message has a content code indicating that it is startup information. This message is sent to the network by the transmission control unit.
第5図は、ネットワークよりメッセージ受信時の処理
ユニット103の処理フロー示す図である。処理ユニット
はまず、受信バッファ(第1図(a)102)より自内に
メッセージを取り込み、その内容コードを判定する(処
理501)。この内容コードが、第4図で示したプロセサ
立ち上げ時のメッセージの内容コードである場合は、そ
のデータ部に示されているファイルと同一ファイルが自
内に存在するか否かを判定する(処理504)。自内に存
在しない場合はデータ部内に受信メッセージの発生源プ
ロセサ番号をセットした確認応答メッセージを生成し、
送信バッファにセットする(処理507))。存在する場
合は、そのファイルに対応する自ディスク内の多重情報
テーブル(第1図(a)1501,2501,…)のNO部(第1図
(b)10011)を1増加させるとともに、PNO部(第1図
(b)10012)に、受信メッセージ内SA部の内容(すな
わち、発生源プロセサ番号)を登録する(処理505)。
次に、ファイル応答メッセージを生成し送信バッファに
セットする(処理506)。ここで、ファイル応答メッセ
ージとは、データ部に、受信した立ち上げ時メッセージ
の発生源プロセサ番号と、処理505で検出した自内同一
ファイルの情報をもつメッセージのことである。FIG. 5 is a diagram showing a processing flow of the processing unit 103 when receiving a message from the network. First, the processing unit fetches a message from the reception buffer (102 in FIG. 1A), and determines the content code of the message (processing 501). If the content code is the content code of the message at the time of starting the processor shown in FIG. 4, it is determined whether or not the same file as the file indicated in the data part exists in the self (see FIG. 4). Process 504). If it does not exist in itself, generate an acknowledgment message in which the source processor number of the received message is set in the data section,
It is set in the transmission buffer (process 507). If the file exists, the NO section (FIG. 1 (b) 10011) of the multiplex information table (FIG. 1 (a) 1501, 2501,...) Corresponding to the file is incremented by 1, and the PNO section The content of the SA part in the received message (that is, the source processor number) is registered in (FIG. 1 (b) 10012) (process 505).
Next, a file response message is generated and set in the transmission buffer (process 506). Here, the file response message is a message having, in the data part, the source processor number of the received start-up message and the information of the same file detected in the process 505.
次に、第4図に示した立ち上げ情報メッセージを送出
したプロセサの立ち上げ情報メッセージ送出後の処理に
ついて、同じく、第5図を用いて説明する。立ち上げプ
ロセサは、システム内に同一ファイルを持つプロセサが
存在する場合は、上述したファイル応答情報をネットワ
ークより受信する。このときの処理を以下に示す。ま
ず、処理ユニットは、受信バッファ内のメッセージを自
内にとりこみ、その内容コードを判定する(処理50
1)。内容コードが、ファイル応答メッセージであるこ
とを示すものである場合、まず、そのメッセージのデー
タ部内に自プロセサ番号が設定されているか否かを判定
する(処理508)。自プロセサ番号が設定されていない
場合はそのまま処理を終了する。自プロセサ番号が設定
されている場合は、メッセージ内データ部に設定されて
いるファイルと同一の自ディスク内のファイルに対応す
る多重情報テーブルを更新する(処理509)(更新方法
は処理505と同一)。Next, the processing of the processor that has transmitted the startup information message shown in FIG. 4 after the startup information message has been transmitted will be described with reference to FIG. When there is a processor having the same file in the system, the start-up processor receives the above-described file response information from the network. The processing at this time will be described below. First, the processing unit fetches the message in the reception buffer into itself, and determines its content code (processing 50
1). If the content code indicates that the message is a file response message, it is first determined whether or not its own processor number is set in the data portion of the message (process 508). If the own processor number has not been set, the processing ends. If the own processor number is set, the multiplex information table corresponding to the file on the same own disk as the file set in the data part in the message is updated (process 509) (the update method is the same as that of process 505) ).
次に、第4図403でセットしたタイマがT1経過により
タイムアウトとなった場合の処理を以下に示す。この場
合、処理ユニットは第1図(a)に示したネットワーク
障害フラグ110及び回線障害フラグ115をチェックし、両
方とも障害状態がセットされていなければ、そのまま処
理を続行する。逆に、どちらか、あるいは両方の障害状
態が設定されている場合は、そこで処理を中断し、自プ
ロセサに接続されている端末に自プロセサが孤立状態に
あることを表示し、処理継続の可否をオペレータに問
う。Next, a process when the timer set in FIG. 4 403 times out by T 1 elapses below. In this case, the processing unit checks the network failure flag 110 and the line failure flag 115 shown in FIG. 1A, and if both are not set to the failure state, the processing is continued as it is. Conversely, if either or both failure states are set, the processing is interrupted at that point, the terminal connected to the own processor indicates that the own processor is in an isolated state, and whether or not processing can be continued. Ask the operator.
次に、確認応答メッセージ受信時の処理ユニットの処
理について同じく第5図を用いて示す。受信メッセージ
の内容コードが確認応答メッセージを示すものである場
合(処理501)は、第1図(a)110のネットワーク障害
フラグをリセット(すなわち、無障害状態を示す)する
(処理511)。Next, the processing of the processing unit when the acknowledgment message is received will be described with reference to FIG. If the content code of the received message indicates an acknowledgment message (process 501), the network fault flag in FIG. 1 (a) 110 is reset (ie, indicating a no fault condition) (process 511).
次に、各プロセサにおけるネットワーク障害発生検出
方法を以下の2ケースに分けて示す。Next, a method for detecting the occurrence of a network failure in each processor will be described in the following two cases.
(1)自プロセサ接続端末からのプログラム実行時(第
3図プロセサ10) (i)他プロセサからの端末出力メッセージを受信しな
いことにより障害を検出する。(1) When a program is executed from the own processor connection terminal (processor 10 in FIG. 3) (i) A failure is detected by not receiving a terminal output message from another processor.
(ii)回線障害フラグ(第1図(a)115)がセットさ
れたことにより、自プロセサとネットワーク間の回線障
害を検出する。(Ii) Since the line fault flag (115 in FIG. 1A) is set, a line fault between the own processor and the network is detected.
(2)ネットワークデータによるプログラム実行時 (i)端末からのデータ読み込み時に、端末からの応答
無しにより障害を検出する。(2) At the time of executing a program using network data (i) At the time of reading data from a terminal, a failure is detected without a response from the terminal.
(ii)上述した(i)−(ii)と同様にして回線障害を
検出する。(Ii) A line fault is detected in the same manner as (i)-(ii) described above.
上記で(1)−(i)で障害を検出したプロセサは、
データ部に自プロセサ番号を設定した確認メッセージを
出力する。この処理を第6図に示す。まず、ネットワー
ク障害フラグ(第1図(a)110)を障害状態に設定
(処理601)した後、現在アクセスファイルのうち、多
重情報テーブル内NO(第1図(b)10111)の値が2以
上のファイルの更新を抑止する(処理602)。次に確認
メッセージを生成し、送信バッファに設定することによ
りネットワークに送出し(処理603)、前もって設定さ
れた時間T2のタイマセットする(処理604)。この確認
データを受信した各プロセサは第5図の処理502により
確認応答メッセージ(処理507と同一)をネットワーク
に送出する。ネットワークより、この確認応答メッセー
ジを受信した上記障害検出プロセサは、第5図の処理51
1を行い、ネットワーク障害フラグをリセットする。次
に、第6図の処理604でセットしたタイマのタイムアウ
トを検出した上記障害検出プロセサは、自内ネットワー
ク障害フラグをチェックし、フラグがリセットされてい
ればファイル更新抑止を解除し、そのまま処理を続行す
る。リセットされていない場合は第7図処理を行う。The processor that has detected the failure in the above (1)-(i)
Outputs a confirmation message in which the own processor number is set in the data section. This process is shown in FIG. First, after setting the network failure flag (FIG. 1 (a) 110) to a failure state (process 601), the value of NO (FIG. 1 (b) 10111) in the multiplex information table of the current access file is 2 The above file update is suppressed (process 602). Then it generates a confirmation message, sent to the network by setting the transmission buffer (step 603), advance the timer set in the set time T 2 (step 604). Each processor which has received this confirmation data sends an acknowledgment response message (same as the processing 507) to the network by the processing 502 in FIG. The failure detecting processor that has received the acknowledgment message from the network executes the processing 51
Perform 1 to reset the network fault flag. Next, upon detecting the timeout of the timer set in the process 604 of FIG. 6, the failure detection processor checks the internal network failure flag, releases the file update inhibition if the flag has been reset, and proceeds with the process as it is. continue. If it has not been reset, the processing in FIG. 7 is performed.
また、(1)−(ii)で自プロセサとネットワーク間
の回線の障害を検出したプロセサも、自内多重ファイル
更新を抑止状態とした後、第7図処理を行う。まず、抑
止状態となっているファイルをアクセスするアプリケー
ショプログラムを、入出力データ格納エリアのプログラ
ム部(第1図(c)10513)、ファイル部(第1図
(c)10514)の情報により検出し(処理701)検出した
プログラムが実行中である場合は(処理702)、ファイ
ル内容をユーザプログラムUP実行前に回復する(処理70
4)。次々検出したプログラムに対応する入出力データ
格納エリアのフラグエリア10515に実行不可をセットす
る(処理703)。In addition, the processor that has detected a failure in the line between the own processor and the network in (1)-(ii) also performs the processing in FIG. 7 after the update of the internal multiplex file is suppressed. First, an application program that accesses a file in the inhibited state is detected from information in the program section (FIG. 1 (c) 10513) and the file section (FIG. 1 (c) 10514) of the input / output data storage area. (Process 701) If the detected program is being executed (Process 702), the file contents are recovered before the execution of the user program UP (Process 70).
Four). In the flag area 10515 of the input / output data storage area corresponding to the program detected one after another, “executable” is set (process 703).
以上の処理により、ネットワーク障害によりシステム
内で孤立状態となったプロセサは、多重化されているフ
ァイル、すなわち、他プロセサに同一内容のファイルが
存在するファイルに関しては、自プロセサ内のみで勝手
に更新してしまうことがなくなる。このため、ネットワ
ーク障害を回復して、孤立したプロセサをネットワーク
に復帰させる際は、一旦、システムを止め、復帰プロセ
サ内の多重化ファイルに対してはシステム内の同一内容
ファイルをコピーするのみでファイル回復が可能とな
る。As a result of the above processing, a processor that has become isolated in the system due to a network failure can arbitrarily update only multiplexed files, that is, files in which the same content exists in other processors, only in its own processor No more. For this reason, when recovering from a network failure and returning an isolated processor to the network, the system must be temporarily stopped, and the multiplexed file in the restored processor must be copied only by copying the same content file in the system. Recovery is possible.
また、この、ファイル回復をシステムを止めることな
く自動的に行うことも可能である。これは、孤立プロセ
サに、孤立状態解消を検出し、解消検出時に、第4図で
示した立ち上げ情報メッセージを発生することにより達
成される。ここで、立ち上げ情報メッセージは次のタイ
ミングで発生する。It is also possible to perform the file recovery automatically without stopping the system. This is achieved by detecting the elimination of the isolated state in the isolated processor and generating the startup information message shown in FIG. 4 when the elimination is detected. Here, the startup information message is generated at the following timing.
ネットワーク障害フラグセット時:ネットワークより
メッセージ受信時 回線障害フラグセット時:テストユニット(第1図
(a)1011)により回線障害回復検出時 立ち上げ情報メッセージを受信した各プロセサは第5
図処理506の後に、立ち上げ情報メッセージ内のファイ
ルと同一の自内ファイルの内容をネットワークに送出す
る(ファイルコピーメッセージ)。一方、立ち上げ情報
メッセージを発生したプロセサは、ネットワークよりフ
ァイルコピーメッセージを受信するとそれを自ディスク
内に格納する。また、ネットワーク障害回復検出からフ
ァイルコピーメッセージ受信までに、ネットワークから
受信したファイル更新メッセージを自内バッファにバッ
ファリングしておき、このバッファリングメッセージ
と、ファイルコピーメッセージに基づき自内ファイル内
容を回復する。なお、この障害回復検出後のファイル回
復方式については、例えば特開昭62−102342号公報に詳
細に示されている。When a network failure flag is set: When a message is received from the network When a line failure flag is set: When a line failure recovery is detected by the test unit (1011 in FIG. 1 (a)).
After the diagram processing 506, the contents of the local file identical to the file in the startup information message are sent to the network (file copy message). On the other hand, when the processor which has generated the startup information message receives the file copy message from the network, it stores it in its own disk. Also, a file update message received from the network is buffered in its own buffer from the detection of the recovery from the network failure to the reception of the file copy message, and the contents of the file are recovered based on the buffering message and the file copy message. . The file recovery method after the detection of the failure recovery is described in detail in, for example, JP-A-62-102342.
[発明の効果] 本発明によれば、分散処理システムにおいて、ネット
ワークから孤立したプロセサが、他プロセサ内ファイル
と関連する自内ファイルを自プロセサ内のみでローカル
に更新してしまうことがなくなるため、ファイル間での
整合性を保証することが容易になる。また、孤立したプ
ロセサがシステムに復帰する場合、このプロセサ内のフ
ァイル回列をオンラインで自動的に行うことが可能とな
る。[Effects of the Invention] According to the present invention, in a distributed processing system, a processor isolated from a network does not locally update an internal file related to a file in another processor only in the own processor. It is easy to ensure consistency between files. Also, when an isolated processor returns to the system, it is possible to automatically perform the file sequence in this processor online.
第1図は、プロセサ内構成を示す図、第2図はシステム
全体構成を示す図、第3図はシステム運用状態を示す
図、第4図〜第7図は本発明方式の処理フローを示す図
である。 CC……内容コード EN……イベント番号 Data……データ部FIG. 1 is a diagram showing the internal configuration of the processor, FIG. 2 is a diagram showing the entire system configuration, FIG. 3 is a diagram showing the system operation state, and FIGS. 4 to 7 show the processing flow of the method of the present invention. FIG. CC: Content code EN: Event number Data: Data section
───────────────────────────────────────────────────── フロントページの続き (72)発明者 鈴木 靖雄 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (72)発明者 河野 克已 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (72)発明者 寺西 優子 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (72)発明者 竹内 増幸 神奈川県横浜市戸塚区戸塚町5030番地 株式会社日立製作所ソフトウェア工場内 (72)発明者 樋口 善彦 神奈川県横浜市戸塚区戸塚町5030番地 株式会社日立製作所ソフトウェア工場内 (56)参考文献 特開 昭62−169266(JP,A) 特開 昭58−182778(JP,A) 特開 昭62−98445(JP,A) ──────────────────────────────────────────────────の Continuing on the front page (72) Inventor Yasuo Suzuki 1099 Ozenji Temple, Aso-ku, Kawasaki City, Kanagawa Prefecture Inside Hitachi, Ltd.System Development Laboratory Co., Ltd. (72) Katsumi Kawano 1099 Ozenji Temple, Aso-ku, Kawasaki City, Kanagawa Prefecture (72) Inventor Yuko Teranishi 1099 Ozenji Temple, Aso-ku, Kawasaki City, Kanagawa Prefecture Hitachi Systems Co., Ltd. (72) Inventor Masuyuki Takeuchi 5030 Totsukacho, Totsuka-ku, Yokohama-shi, Kanagawa Prefecture Inside Hitachi Software Co., Ltd. (72) Inventor Yoshihiko Higuchi 5030 Totsukacho, Totsuka-ku, Yokohama-shi, Kanagawa Prefecture Inside Hitachi Software Co., Ltd. (56) References JP-A-62-169266 (JP, A) JP-A Sho 58-182778 (JP, A) JP-A-62-98445 (JP, A)
Claims (1)
続され、各プロセサで複数のプログラムを実行する分散
処理システムにおける分散処理方法であって、 各プロセサに、自プロセサ内に存在する各ファイルにつ
いて、他のプロセサが同一内容のファイルを有するか否
かを識別するための第1の情報を保持し、 各プロセサに、自プロセサで実行するプログラムについ
て、当該プログラムがアクセスするファイルを識別する
ための第2の情報と保持し、 いずれかのプロセサにおいて前記ネットワークの障害を
検出したことに応じて、当該障害を検出したプロセサに
おいて前記第1の情報を参照して、他のプロセッサが同
一内容のファイルを有するファイルを更新抑止状態と
し、 当該障害を検出したプロセサにおいて前記第2の情報を
参照して、更新抑止状態のファイルをアクセスするプロ
グラムを検出し、 検出したプログラムが実行中でない場合には、当該障害
を検出したプロセサにおいて当該検出したプログラムを
実行不可状態に設定し、 検出したプログラムが実行中である場合には、当該障害
を検出したプロセサにおいて、当該検出したプログラム
がアクセスするファイルの内容を当該プログラムの実行
前の内容に回復して、当該プログラムを実行不可状態に
設定することを特徴とする分散処理方法。1. A distributed processing method in a distributed processing system in which a plurality of processors are connected via a network and each processor executes a plurality of programs, wherein each processor is provided with each file existing in its own processor. The first processor holds first information for identifying whether or not another processor has a file of the same content. For each program executed by the own processor, the first information for identifying a file accessed by the program. In response to the detection of the network failure in any one of the processors, the other processor refers to the first information in the processor that has detected the failure, and causes another processor to copy a file having the same content. The file which has the update is set in the update inhibition state, and the processor that detects the failure refers to the second information. Detects a program that accesses a file in the update-inhibited state, and if the detected program is not running, sets the detected program to the non-executable state on the processor that detected the failure, and executes the detected program. If the failure is detected, the processor that detected the failure recovers the contents of the file accessed by the detected program to the contents before the execution of the program, and sets the program to an unexecutable state. Distributed processing method.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63232361A JP2749074B2 (en) | 1988-09-19 | 1988-09-19 | Distributed processing method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63232361A JP2749074B2 (en) | 1988-09-19 | 1988-09-19 | Distributed processing method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0281157A JPH0281157A (en) | 1990-03-22 |
| JP2749074B2 true JP2749074B2 (en) | 1998-05-13 |
Family
ID=16938008
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63232361A Expired - Lifetime JP2749074B2 (en) | 1988-09-19 | 1988-09-19 | Distributed processing method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2749074B2 (en) |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS58182778A (en) * | 1982-04-19 | 1983-10-25 | Nec Corp | Decentralized processing system |
| JPS6298445A (en) * | 1985-10-25 | 1987-05-07 | Hitachi Ltd | Network fault isolation method |
| JPS62169266A (en) * | 1986-01-22 | 1987-07-25 | Fujitsu Ltd | Data transmission and reception terminal equipment |
-
1988
- 1988-09-19 JP JP63232361A patent/JP2749074B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0281157A (en) | 1990-03-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0319034B1 (en) | Method of recovering failure of online control program | |
| US5440726A (en) | Progressive retry method and apparatus having reusable software modules for software failure recovery in multi-process message-passing applications | |
| KR100324165B1 (en) | Method and apparatus for correct and complete transactions in a fault tolerant distributed database system | |
| US5590277A (en) | Progressive retry method and apparatus for software failure recovery in multi-process message-passing applications | |
| US5530802A (en) | Input sequence reordering method for software failure recovery | |
| US6247141B1 (en) | Protocol for providing replicated servers in a client-server system | |
| US4718002A (en) | Method for multiprocessor communications | |
| US5065311A (en) | Distributed data base system of composite subsystem type, and method fault recovery for the system | |
| US7178056B2 (en) | Rolling software upgrades for fault tolerant systems | |
| JP2000194678A (en) | Highly available asynchronous I / O in a cluster computer system | |
| JP2749074B2 (en) | Distributed processing method | |
| JP2612385B2 (en) | Transfer processing between multiple subsystems | |
| JPH0736721A (en) | Control method for multiplex computer system | |
| JP3130892B2 (en) | Redundant system | |
| JP2000215074A (en) | System operation method and failure automatic recovery method | |
| CN112653596B (en) | Method and device for routing information issuing and gateway equipment switching | |
| JP2626545B2 (en) | Fault-tolerant computer system | |
| JP3226867B2 (en) | Received message recovery method in hot standby system, received message recovery method in hot standby system, and recording medium storing received message processing program | |
| JPH06259274A (en) | Dual system | |
| JP2000163276A (en) | Network wide spare system | |
| JPH11306153A (en) | Network management method for distributed systems | |
| JPS62284440A (en) | Software resource maintenance system for terminal equipment | |
| JPS6380347A (en) | Retransmission system for file transfer | |
| JP3110124B2 (en) | Failure detection method in multi-computer system | |
| JP2752920B2 (en) | Communication method between processors in multiprocessor system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080220 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090220 Year of fee payment: 11 |
|
| EXPY | Cancellation because of completion of term | ||
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090220 Year of fee payment: 11 |