JPH0895841A - Data base processing system - Google Patents

Data base processing system

Info

Publication number
JPH0895841A
JPH0895841A JP6228051A JP22805194A JPH0895841A JP H0895841 A JPH0895841 A JP H0895841A JP 6228051 A JP6228051 A JP 6228051A JP 22805194 A JP22805194 A JP 22805194A JP H0895841 A JPH0895841 A JP H0895841A
Authority
JP
Japan
Prior art keywords
node
server
memory device
client
shared memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6228051A
Other languages
Japanese (ja)
Inventor
Mariko Masuda
まり子 増田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP6228051A priority Critical patent/JPH0895841A/en
Publication of JPH0895841A publication Critical patent/JPH0895841A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PURPOSE: To perform memory access for obtaining information required for simultaneous execution control by the same method irrespective of the number of nodes by enabling a server to make a request to refer to data in the same data base. CONSTITUTION: The nodes A and B are connected by a communication line 3 and a common memory device S which can be shared, is coupled with the respective nodes through a line 1. A common disk device H is coupled with the respective nodes by a common disk coupling means 2. Further, a node C is a computer node which functions as a data base client and connected to the nodes A and B by a line 4. Then a data is constructed on the common disk device H and the control information required for the simultaneous access control is written in the common memory device S from the server to enable the both to refer to them, thereby allowing the server to make a request to refer to the data in the same data base. Consequently, the memory access for obtaining the information required for the simultaneous execution control can be performed by the same method irrespective of the number of the nodes.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】この発明は、それぞれにサーバを
含む複数の計算機で構成されるシステムに於けるデータ
ベース処理方式に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a database processing system in a system composed of a plurality of computers each including a server.

【0002】[0002]

【従来の技術】従来、それぞれがサーバを含む複数の計
算機サイトから、1つのデータベースに対し、同時にデ
ータ参照を行なうためのデータベース処理方式として
は、例えばORACLE社の「The ORACLE
Pararcll Server−white pap
er(Part No.3000103−0291)」
で述べられているORACLE社のパラレルサーバーと
いう製品のように、それぞれがノード間で相互に通信機
能を持つメモリ装置を使用した計算機を用いる方式があ
る。これは各メモリ上に書きこんだ自ノードのサーバの
制御情報を、前記メモリ通信機能を用いて他のノードか
らも参照できるようにしている。
2. Description of the Related Art Conventionally, as a database processing method for simultaneously referring to one database from a plurality of computer sites each including a server, for example, "The ORACLE" of ORACLE company is used.
Paracrl Server-white pap
er (Part No. 3001003-0291) "
There is a system using a computer that uses memory devices each having a mutual communication function between nodes, such as a product called parallel server of ORACLE company described in. This allows the control information of the server of its own node written in each memory to be referred to from other nodes by using the memory communication function.

【0003】何故他ノードのサーバの制御情報が必要か
について、もう少し詳しく解説する。一般的に、同一デ
ータに対して複数のサーバあるいは複数ユーザから同時
データ参照を行なう場合、同時書き込みを回避し、デー
タの一貫性の確保が必要である。このためにサーバは、
2相ロック・2相コミット(代表的なコミットメント制
御法)と呼ばれる手法をとっている。
The reason why the control information of the server of another node is necessary will be explained in a little more detail. Generally, when referring to the same data from a plurality of servers or a plurality of users at the same time, it is necessary to avoid simultaneous writing and ensure data consistency. For this the server
A method called two-phase lock / two-phase commit (a typical commitment control method) is used.

【0004】2相ロックはあるノードがデータを更新す
る場合、他ノードからの同時書き込みを避けるため、す
でに対象データにロックがかかっていないかを調べる。
ロックがかかっていなければ、ロックをかけて他からア
クセス出来ない状態にしてから、更新処理を開始する。
トランザクション内の更新処理は、更新処理終了毎に変
更をデータベースに書き込むわけではなく、変更内容だ
けをトランザクションログファイルに書き込む。全ての
更新処理終了後、このトランザクションログファイルを
使い変更したデータをディスクに書き込んでデータベー
スの更新を行ない、ロックを解除する。これをコミット
という。もし、ロック要求を出しても既にロックがかか
っていた場合は、そのロック要求は実行されず、ロック
の解除を待つか、ロック要求をキャンセルさせるなどし
て、同一データの同時更新を回避する。
In the two-phase lock, when a node updates data, it is checked whether the target data has already been locked in order to avoid simultaneous writing from another node.
If it is not locked, lock it and make it inaccessible to others before starting the update process.
The update process in the transaction does not write the change to the database every time the update process ends, but writes only the change content to the transaction log file. After all update processing is completed, the changed data is written to the disk using this transaction log file, the database is updated, and the lock is released. This is called commit. If the lock request is already issued but the lock request is not executed, the simultaneous update of the same data is avoided by waiting for the lock release or canceling the lock request.

【0005】次にコミットは、先に述べたように2相コ
ミットという方式で行なわれる。まずコミット要求を出
し、他がコミット中でないことを確認してからコミット
を実行する。他がコミット中はコミット終了を待つ。こ
れにより、データベースへの同時書き込みを回避する。
Next, the commit is performed by the method of two-phase commit as described above. First, issue a commit request, confirm that no other commit is in progress, and then execute the commit. Wait for the end of the commit while others are committing. This avoids simultaneous writing to the database.

【0006】以上より、複数のノードから同一データベ
ースに対する更新処理を行なう場合、この個々のノード
は、システム全体でロック情報やコミット情報などの制
御情報を管理し、相互にロック・コミットの実行を制御
する必要がある。先に従来例として上げたORACLE
社のパラレルサーバの場合では、この制御に必要な他ノ
ードの制御情報をメモリの前記の通信機能により相互に
通知しあい、実現しているのである。
From the above, when performing update processing on the same database from a plurality of nodes, each individual node manages control information such as lock information and commit information in the entire system and mutually controls execution of lock / commit. There is a need to. ORACLE, which was mentioned earlier as a conventional example
In the case of the parallel server of the company, the control information of the other nodes necessary for this control is mutually notified by the communication function of the memory and is realized.

【0007】図12は、例えば1994年1月20日・
21日に開催された「第1回オラクル・オープン・ワー
ルド」の前述したORACLE社のパラレルサーバに関
するセミナー「ソリューションセミナー/UNIX/パ
ラレルサーバ」で日本ピラミット社が配布した資料「P
YRAMID Valcncc Clustcr &O
RACLE7パラレルサーバーセミナー」中で述べられ
ているような、ORACLE社のパラレルサーバを実現
するシステム構成の一例を示した図である。システムは
それぞれサーバを含むノードa,b上にノード間で同期
可能なメモリ装置m、さらにノード間で共有可能なディ
スク装置hを持つ。共有ディスク装置hは回線81でノ
ードa,bと結合され、共有メモリ装置mは回線81と
は別の専用メモリバスなどの回線82によってノード
a,bに結合されている。ノードcはデータベースクラ
イアントを含む計算機であり、Ethernetなどの
通信回線4によってノードa,bと接続されている。各
ノードのサーバは、メモリ装置m上に必要な自ノードの
制御情報を書き込み、前記のメモリ間通信機能を使っ
て、他ノードの制御情報を読み込む。この2つの制御情
報を合わせて同時実行制御を行なう。
FIG. 12 shows, for example, January 20, 1994.
At the "First Oracle Open World" held on the 21st, the above-mentioned seminar about parallel servers by ORACLE "Solution Seminar / UNIX / Parallel Server"
YRAMID Valcncc Clustcr & O
It is a figure which showed an example of the system configuration which implement | achieves the parallel server of ORACLE company as it was described in "RACE7 parallel server seminar." The system has a memory device m that can be synchronized between the nodes and a disk device h that can be shared between the nodes on the nodes a and b including the servers. The shared disk device h is connected to the nodes a and b by a line 81, and the shared memory device m is connected to the nodes a and b by a line 82 such as a dedicated memory bus different from the line 81. The node c is a computer including a database client, and is connected to the nodes a and b by a communication line 4 such as Ethernet. The server of each node writes the necessary control information of its own node on the memory device m, and reads the control information of the other node by using the above-mentioned inter-memory communication function. Simultaneous execution control is performed by combining these two pieces of control information.

【0008】例えば、ロック実行時に、上記メモリ間通
信機能を使って他ノードにロック実行を通知する。各ノ
ードは、このようにして他ノードのロック情報を得て、
自ノードのロックの制御を実現している。
For example, when the lock is executed, the inter-memory communication function is used to notify the other node of the lock execution. In this way, each node obtains the lock information of other nodes,
It realizes lock control of its own node.

【0009】また、上記のメモリ間通信機能を用いて、
定期的にステイタス情報を他ノードに通知を行なう。他
ノードから送られたステイタス情報を各ノードがチェッ
クすることによって、他ノードの障害を検知する。さら
にこの機能により他ノードの障害を検知したノードは、
障害を起こしたノードのトランザクションログ情報をメ
モリ間通信機能を使って参照し、データベースの回復処
理を行なう。
Further, by using the above inter-memory communication function,
Periodically notify other nodes of status information. Each node checks the status information sent from the other node to detect the failure of the other node. In addition, the node that detects the failure of another node by this function
The transaction log information of the failed node is referenced using the inter-memory communication function to perform database recovery processing.

【0010】また、各ノードが負荷状況に関するデータ
を取得してメモリ装置m上に置き、これを前記のメモリ
間通信機能を使いノード間で参照し、低負荷サーバの検
出を行なう。これにより、クライアントはノードの位置
を意識せずに、接続要求を出せば自動的に負荷の低いノ
ードに接続することができる。
Further, each node obtains data on the load condition and places it on the memory device m, and refers to it between the nodes using the above-mentioned inter-memory communication function to detect a low load server. As a result, the client can automatically connect to a node having a low load when issuing a connection request without being aware of the position of the node.

【0011】[0011]

【発明が解決しようとする課題】従来の通信機能を持つ
メモリ装置を使用する方式では、ノード数が増加するに
つれ各ノードが通信しなくてはならないメモリ数が増え
る。そうすると各メモリの通信回線数が増えることにな
り、管理が複雑化するといった問題が発生する。また、
クライアントからデータ参照を行なっていた間に、接続
先のノードで障害が発生しクライアントに何の異常通知
も行なわずにサーバがダウンしたような場合、他ノード
からクライアントに異常を通知することはしないので、
クライアント自身はサーバからの応答を待ち続け、処理
が止まってしまう。クライアント側で一定時間内にサー
バからの応答がないときにプログラムを終了させるタイ
ムアウト処理を設定することも可能だが、設定された一
定時間が経過するまでは何も行なえない。
In the conventional method using a memory device having a communication function, as the number of nodes increases, the number of memories each node has to communicate with increases. Then, the number of communication lines in each memory increases, which causes a problem that management becomes complicated. Also,
If a failure occurs in the connected node while the client is referencing data, and the server goes down without notifying the client of any abnormality, other nodes will not notify the client of the abnormality. So
The client itself continues to wait for a response from the server, and processing stops. It is possible to set a timeout process that terminates the program on the client side when there is no response from the server within a fixed time, but nothing can be done until the set fixed time elapses.

【0012】この発明は、上記のような問題点を解消す
るためになされたもので、ノードが増えても、メモリア
クセス方法を変化させる必要がなく、ノードの追加によ
るメモリ管理の複雑化といった問題を解決するデータベ
ース処理方式を提供すること、また、あるノードで障害
が発生して接続中のクライアントに何も通知を出来ない
ままそのノード上のサーバが停止した場合でも、従来と
違い、他ノードのいずれかから必ずクライアントに接続
中サーバの異常が通知されるサーバ異常検知手段を有す
るデータベース処理方式を提供することを目的とする。
The present invention has been made in order to solve the above-mentioned problems, and even if the number of nodes increases, it is not necessary to change the memory access method, and the problem that the memory management becomes complicated by the addition of nodes. In addition to providing a database processing method that solves the problem, even when a server on that node shuts down without being able to notify the connected client due to a failure on another node, unlike other nodes, It is an object of the present invention to provide a database processing method having a server abnormality detecting means which is notified from any one of the above to a client that an abnormality of the server is being connected.

【0013】[0013]

【課題を解決するための手段】請求項1のデータベース
処理方式は、サーバを有する計算機ノードと、このノー
ドで共有可能な共有ディスク装置と、前記ノードと結合
された共有メモリ装置と、を備え、前記共有ディスク装
置上にデータベースを構築し、同時アクセス制御に必要
な制御情報を前記サーバから前記共有メモリ装置に書込
み・相互参照を行い、前記サーバから前記同一データベ
ースに対するデータ参照要求ができるものである。
According to a first aspect of the present invention, there is provided a database processing system comprising a computer node having a server, a shared disk device which can be shared by the node, and a shared memory device coupled to the node. A database is constructed on the shared disk device, control information necessary for simultaneous access control is written from the server to the shared memory device and cross-referenced, and a data reference request to the same database can be made from the server. .

【0014】請求項2のデータベース処理方式は、サー
バを有する計算機ノードと、このノードで共有可能な共
有ディスク装置と、前記ノードと結合された共有メモリ
装置と、を備え、前記ノードは定期的に自ノードの動作
状態に関する情報を共有メモリ装置上に書込み、この情
報を前記ノードが参照することにより他ノードの障害の
有無の判定を行い、障害ありと判定した場合は障害が発
生した以外のノードから、障害が発生したノードで実行
されていたトランザクションのリカバリ処理を行なうも
のである。
A database processing system according to a second aspect comprises a computer node having a server, a shared disk device sharable by this node, and a shared memory device coupled to the node, and the node periodically. Write information about the operating status of its own node in the shared memory device, and refer to this information to determine whether there is a failure in another node. If it is determined that there is a failure, the node other than the failure has occurred. To recover the transaction that was being executed in the failed node.

【0015】請求項3のデータベース処理方式は、サー
バを有する計算機ノードと、このノードで共有可能な共
有ディスク装置と、前記ノードと結合された共有メモリ
装置と、を備え、障害が発生したノードのサーバ自身
が、接続中のクライアントに対しサーバのダウンを通知
できなかった場合、前記障害が発生したノード以外のサ
ーバが、共有メモリ装置にクライアント接続に関して書
込まれた情報を参照して接続中のクライアントを検出し
該クライアントにサーバの異常発生を通知し、クライア
ントが前記通知を受け取りサーバの異常を認識するもの
である。
A database processing method according to a third aspect of the present invention comprises a computer node having a server, a shared disk device which can be shared by this node, and a shared memory device which is coupled to the node, and is provided for a node in which a failure has occurred. If the server itself fails to notify the connected client that the server is down, the server other than the node in which the failure has occurred is referring to the information written in the shared memory device regarding the client connection and It detects a client, notifies the client of the occurrence of a server abnormality, and the client receives the notification and recognizes the server abnormality.

【0016】請求項4のデータベース処理方式は、サー
バを有する計算機ノードと、このノードで共有可能な共
有ディスク装置と、前記ノードと結合された共有メモリ
装置と、を備え、前記共有メモリ装置上に前記サーバの
負荷情報を置き、クライアントからサーバに対し接続要
求が送られると、前記共有メモリ装置上の負荷情報を参
照して低負荷サーバを判定しこのサーバを自動的に選択
して接続するものである。
A database processing method according to a fourth aspect of the present invention comprises a computer node having a server, a shared disk device that can be shared by this node, and a shared memory device coupled to the node, and the shared memory device is provided on the shared memory device. Load information of the server is set, and when a connection request is sent from the client to the server, a low-load server is determined by referring to the load information on the shared memory device, and this server is automatically selected and connected. Is.

【0017】請求項5のデータベース処理方式は、サー
バを有する計算機ノードと、このノードで共有可能な共
有ディスク装置と、前記ノードと結合された共有メモリ
装置と、を備え、クライアントからサーバに接続してデ
ータ参照処理実行中に、接続開設時より現在接続してい
るサーバの負荷が上がり、逆に他のいずれかのサーバの
負荷が下がるという負荷状態の変化に応じ適切な負荷状
態にあるサーバを判定し、定められたタイミングでこの
サーバに自動的に接続を切り替えるものである。
According to a fifth aspect of the present invention, there is provided a database processing system, comprising a computer node having a server, a shared disk device which can be shared by the node, and a shared memory device which is coupled to the node. While executing the data reference process, the load on the currently connected server will increase from the time the connection is opened, and the load on any other server will decrease. Judgment is made and the connection is automatically switched to this server at a predetermined timing.

【0018】[0018]

【作用】請求項1のデータベース処理方式は、ノード数
に拘らず同時実行制御に必要な情報を得るためのメモリ
アクセスを同じ方法で行える。
According to the database processing method of the first aspect, regardless of the number of nodes, the memory access for obtaining information necessary for concurrency control can be performed by the same method.

【0019】請求項2のデータベース処理方式は、各ノ
ード相互の異常検知、他ノードからのリカバリ処理がで
きる。
According to the database processing method of the second aspect, it is possible to detect an abnormality in each node and perform a recovery process from another node.

【0020】請求項3のデータベース処理方式は、クラ
イアントに異常を通知し、クライアントは異常処理を行
い、一定時間の経過を待たずに障害を起こしたノードを
検知して異常処理を開始する。
According to another aspect of the database processing method of the present invention, the client is notified of the abnormality, the client performs the abnormality processing, and detects the failed node without waiting for a certain period of time to start the abnormality processing.

【0021】請求項4のデータベース処理方式は、低負
荷サーバの自動選択・接続切り替えにより負荷分散が図
れる。
According to the database processing method of the fourth aspect, load distribution can be achieved by automatic selection and connection switching of low-load servers.

【0022】請求項5のデータベース処理方式は、接続
先のノードの位置を意識することなく、常に負荷の低い
ノードのサーバを検出し、これを自動的に接続して処理
する。
According to the database processing method of the fifth aspect, the server of the node having a low load is always detected without regard for the position of the connection destination node, and the server is automatically connected and processed.

【0023】[0023]

【実施例】【Example】

実施例1.図1は、この発明の実施例1によるシステム
構成の例を示す概略図であり、この場合A,B,Cの3
つのノードから成っている。ノードA,Bは通信回線3
で接続され、さらに共有可能な共有メモリ装置Sは各ノ
ードと回線1で結合されている。共有ディスク装置H
は、各ノードと共有ディスク結合手段2で結合されてい
る。また、共有ディスク装置H上にデータベースを構成
して、各ノード上のサーバから同時にデータ参照を行な
えるデータベースとして使用が可能である。また、ノー
ドCはデータベースクライアントとしての機能を持つ計
算機ノードであり、回線4でノードA,Bと接続されて
いる。
Example 1. FIG. 1 is a schematic diagram showing an example of a system configuration according to a first embodiment of the present invention. In this case, 3 of A, B and C are shown.
It consists of two nodes. Node A, B is communication line 3
The shared memory device S, which is connected to each other and is sharable, is connected to each node through the line 1. Shared disk device H
Are connected to each node by the shared disk connecting means 2. Further, it is possible to configure a database on the shared disk device H and use it as a database that allows servers on each node to simultaneously refer to data. The node C is a computer node having a function as a database client, and is connected to the nodes A and B by the line 4.

【0024】図2は、ノードA,Bの内部構成の例を示
す図である。1つのノードは、CPU6、メモリ7、共
有ディスク装置Hへの入出力を制御する入出力制御装置
8から成っている。また、回線3を管理する回線3管理
部9、回線1を管理する共有メモリ装置S管理部10が
含まれる。サーバ5は、メモリ7上にサーバプロセスと
して存在する。サーバ5は、図3のように構成される。
大きくはデータベース管理部11とデータベース通信制
御部12があり、データベース管理部11は一般的な質
問処理、データベース参照制御など、自ノード上で行な
うデータベース処理を制御する。さらにデータベース管
理部11は制御情報管理部13、データ情報管理部14
の2つがあり、制御情報管理部13はさらにその機能の
一部として、ロック要求処理機能15、ノード動作状態
送信機能16、リカバリ機能17、異常検出機能18、
クライアント異常通知機能19、負荷検出機能20な
ど、共有メモリ上での制御情報のやりとりを含む各種制
御機能から構成される。データベース通信制御部12は
ノードの外部との通信を管理する部分でロック管理を行
ない、データベース管理部などの要求に従い、入出力制
御装置8、回線3管理部9、共有メモリ装置管理部10
とのやりとりを行なう。
FIG. 2 is a diagram showing an example of the internal configuration of the nodes A and B. One node includes a CPU 6, a memory 7, and an input / output control device 8 that controls input / output to / from the shared disk device H. A line 3 management unit 9 that manages the line 3 and a shared memory device S management unit 10 that manages the line 1 are included. The server 5 exists on the memory 7 as a server process. The server 5 is configured as shown in FIG.
There are roughly a database management unit 11 and a database communication control unit 12, and the database management unit 11 controls database processing performed on its own node such as general question processing and database reference control. Further, the database management unit 11 includes a control information management unit 13 and a data information management unit 14.
The control information management unit 13 further includes, as part of its functions, a lock request processing function 15, a node operation state transmission function 16, a recovery function 17, an abnormality detection function 18,
It is composed of various control functions including exchange of control information on the shared memory, such as a client abnormality notification function 19 and a load detection function 20. The database communication control unit 12 performs lock management in a portion that manages communication with the outside of the node, and according to a request from the database management unit or the like, the input / output control device 8, the line 3 management unit 9, and the shared memory device management unit 10
Interact with.

【0025】一般的にデータベース管理システムが更新
処理を行なう場合、表あるいはレコードなどの単位で、
対象オブジェクトに他からアクセスできないようロック
をかけてから、更新処理を行なう。このロックは、更新
処理が全て終了し、ディスクに変更書き込み(コミッ
ト)が終了後に解除される。この機能により、複数サー
バからのデータ更新要求が発生しても、データの一貫性
を保つことができる。図4は、その例として、ノードA
のレコードxに対する更新処理が終了しないうちに、ノ
ードBからレコードxに対する更新処理要求を出した場
合について、どのようにしてそれぞれの更新要求が処理
されるかを示している。ステップ21でノードAがまず
ロック要求を出し、ステップ22で既にロックされてい
ないか確認する。ロックされていない場合は、ステップ
23でロックをかけ、ステップ24の更新処理を実行
し、ステップ25のコミット処理でロックを解除する。
ロック実行からコミット終了までの期間(ステップ23
〜25)は、他ノードからレコードxに対するロック要
求を出しても、ロックは行なえない。この場合でもステ
ップ26のロック要求は、ステップ27のロックの有無
のチェックですでにステップ23でノードAにロック済
みであると判定され、ステップ28のロック解除待ちに
なる。ステップ25のノードAのコミット終了後に、ノ
ードBのロックが実行され(ステップ29)、更新処理
(ステップ30)をすべて終了し、コミット終了(ステ
ップ31)後に解除されている。
In general, when a database management system performs an update process, the unit of a table or a record
Lock the target object so that no one else can access it, and then perform the update process. This lock is released after the update process is completed and the change writing (commit) to the disk is completed. With this function, data consistency can be maintained even if data update requests are issued from multiple servers. FIG. 4 shows the node A as an example.
When the update processing request for the record x is issued from the node B before the update processing for the record x has been completed, each update request is processed. In step 21, node A first issues a lock request, and in step 22, it is confirmed whether or not it is already locked. If it is not locked, it is locked in step 23, the update process of step 24 is executed, and the lock is released in the commit process of step 25.
Period from lock execution to commit end (Step 23
25 to 25), even if a lock request for the record x is issued from another node, the lock cannot be performed. Even in this case, the lock request in step 26 is determined to be already locked to the node A in step 23 by checking the presence / absence of lock in step 27, and the lock release waits in step 28. After the end of the commit of the node A in step 25, the lock of the node B is executed (step 29), the update process (step 30) is all finished, and the lock is released after the end of the commit (step 31).

【0026】この時行なわれる個々のロック要求は、図
5に示されるような手順で処理される。図4のノードB
の出したロック要求の場合を用いて説明する。まずステ
ップ32でノードBは更新を行なおうとしてレコードx
にロック要求を出すが、ステップ33の他ノードからの
ロックの有無のチェックですでにノードAによってロッ
クされているためロック要求は拒否され、ステップ34
でノードBのロック要求はレコードxのロック待ちキュ
ーにエントリされる。さらにステップ35で、キューに
エントリされる毎にエントリ数を1つ増やす処理を行な
っている。なおこのような、他がすでにロック中のデー
タに対するロック要求の処理としては、ステップ34の
ようにロック待ちキューに入れてロック解除を待ってか
らロックを実行する方式と、ロック要求をキャンセルす
る方式とがある。図5では、ロック待ちキューに入れる
方式とした。ステップ37で先に実行されていたノード
Aのロックが解除されると、ステップ38でデータxに
対するロック待ちキューのエントリの有無を調べ、ステ
ップ39で何らかのアルゴリズムによって優先順位が付
けられたキューから最も優先度の高いロック要求を実行
する。また、キューの中の1つのロックが実行されたの
で、ステップ40でキューのエントリ数を1つ引いてい
る。もし、ノードBがステップ32でロック要求を出し
たデータがロックされていなかった場合は、ステップ3
6のロック実行が行なわれ、共有メモリ装置S上にロッ
ク情報としてノード識別子、オブジェクト識別子、レコ
ード識別子などの情報を書き込む。この情報は、コミッ
トが実行されるステップ37の時点で消去される。
Each lock request made at this time is processed by the procedure shown in FIG. Node B in FIG.
The case of the lock request issued by will be described. First, in step 32, the node B tries to update the record x
However, the lock request is rejected because it is already locked by the node A in step 33 by checking whether or not there is a lock from another node.
Then, the lock request of the node B is entered in the lock waiting queue of the record x. Further, in step 35, the number of entries is incremented by one each time the queue is entered. In addition, as the processing of the lock request for the data already locked by others, as in step 34, the method of putting the lock queue in the lock wait queue and waiting for the lock release before executing the lock, and the method of canceling the lock request. There is. In FIG. 5, the method of putting in the lock waiting queue is adopted. When the previously executed lock of the node A is released in step 37, it is checked in step 38 whether or not there is an entry in the lock wait queue for the data x, and in step 39, the highest priority is given to the queue prioritized by some algorithm. Perform high priority lock requests. Since one lock in the queue has been executed, the number of queue entries is decremented by one in step 40. If the data requested by the node B in step 32 for locking is not locked, step 3
The lock execution of No. 6 is performed, and information such as a node identifier, an object identifier, and a record identifier is written on the shared memory device S as lock information. This information is erased at step 37 when the commit is performed.

【0027】この実施例によれば、共有メモリ装置S上
にサーバの制御情報を置くことにより、ノード数に拘ら
ず同時実行制御に必要な情報を得るためのメモリアクセ
スを同じ方法で行なえるため、管理が容易になる。
According to this embodiment, by placing the control information of the server on the shared memory device S, the memory access for obtaining the information necessary for the simultaneous execution control can be performed by the same method regardless of the number of nodes. , Easy to manage.

【0028】実施例2.図6は、この発明の実施例2に
おける各ノードが他ノードのサーバの異常発生を検知す
るために行なう処理の例である。ノードA,Bは、それ
ぞれ一定の間隔をおいて順に、次の動作(ステップ4
1、42および43、44)を行なう。まず自ノードの
サーバの動作状態に関するデータを取得し、動作状態情
報として共有メモリ装置S上に書き込む。このデータの
取得方法としては、例えばサーバプロセスを監視するデ
ーモンプロセスが、サーバプロセスと通信し、その応答
結果をあらかじめ定めておいた幾つかの動作状態から該
当するものを判定し、例えば図7に示すような形式で共
有メモリ装置Sに書き込む。この場合では、ノード識別
子、動作状態の他に書き込み時の時刻を加え、前回書き
込んだ情報を上書きする形式で書き込んでいる。動作状
態は、’サーバ停止中’、’正常運行中’、’異常発
生’の3パターンとしている。次に、同様の手順で既に
書き込まれている他ノードのサーバの動作状態情報を読
み込み、正常に動作しているかどうかを確認する。ステ
ップ44の動作状態チェックの結果、例えば図7のよう
に動作状態の値が’異常発生’、あるいは時刻から前回
の読み込み時から動作状態情報が更新されていないと判
定された場合は、異常発生と判断され、ノードAのサー
バ異常を検知する。
Embodiment 2 FIG. FIG. 6 is an example of a process performed by each node in the second embodiment of the present invention to detect the occurrence of an abnormality in the server of another node. The nodes A and B sequentially perform the next operation (step 4) at regular intervals.
1, 42 and 43, 44). First, data regarding the operating state of the server of its own node is acquired and written in the shared memory device S as operating state information. As a method of acquiring this data, for example, a daemon process that monitors the server process communicates with the server process, determines the response result from some predetermined operating states, and determines, for example, in FIG. The shared memory device S is written in the format as shown. In this case, the time at the time of writing is added in addition to the node identifier and the operating state, and the information written previously is overwritten. There are three operating states: "server stopped", "normal operation", and "abnormality". Next, by the same procedure, the operating state information of the server of the other node which has already been written is read and it is confirmed whether or not it is operating normally. As a result of the operation state check in step 44, for example, when it is determined that the value of the operation state is'abnormal occurrence 'as shown in FIG. 7 or the operation state information has not been updated from the time of the previous reading, an abnormality occurs. Therefore, the server abnormality of the node A is detected.

【0029】例えば、ステップ45でノードAに障害が
起きてサーバ異常が発生し、ステップ44でノードBが
行なうノードAの動作状態の判定結果は異常有りとした
場合、ステップ46でノードBはノードAの異常を検知
し、ステップ47でノードBはノードAの実行した処理
のリカバリ処理を開始する。あらかじめ各サーバが更新
処理を行なう場合、1つの更新処理が終了する毎にトラ
ンザクションログ情報としてその更新内容を共有メモリ
装置S上に書き込み、これをコミットが終了するまで保
持するものとし、異常発生時にはこのトランザクション
ログを使用してリカバリ処理を行えるようにしている。
更新処理がコミットされると変更内容がディスクに書き
込まれ、共有メモリ装置S上のトランザクションログ情
報はクリアされる。トランザクションログ情報にはノー
ド識別子、レコード識別子、更新内容、時刻などが含ま
れる。図8は、他サーバの異常を検知したノードのサー
バが、異常を起こしたノードが行なっていたデータ参照
処理に対して行なうリカバリ処理の動作例を示してい
る。まずサーバが更新処理中でコミットしない状態で異
常発生した場合、障害を起こした以外のノードはステッ
プ48のロールバック処理、つまり更新の取消と対象レ
コードのロック解除を行なうリカバリ処理を起動する。
その内容として、ステップ49で障害発生時のコミット
されていない更新処理の有無を確認するため、共有メモ
リ装置H上の各ノードのトランザクションログ情報を読
みこみ、ステップ50で異常発生したノードのトランザ
クションログがないかを調べる。そして該当するトラン
ザクションログが残っていた場合は、ステップ51で該
当するトランザクションログ情報をクリアし、ステップ
52で更新レコードに対するロック解除を行ない、ステ
ップ53のリカバリ終了となる。ステップ52のロック
解除で必要な情報は、実施例1で述べた共有メモリ装置
H上にあるロック情報を参照して行なう。
For example, if a failure occurs in the node A in step 45 and a server abnormality occurs, and the result of the determination of the operating state of the node A performed by the node B in step 44 is abnormal, the node B determines that the node B is a node in step 46. Upon detecting the abnormality of A, the node B starts the recovery process of the process executed by the node A in step 47. When each server performs an update process in advance, the updated content is written in the shared memory device S as transaction log information each time one update process is completed, and is retained until the commit is completed. Recovery processing can be performed using this transaction log.
When the update process is committed, the changed contents are written to the disk and the transaction log information on the shared memory device S is cleared. The transaction log information includes a node identifier, a record identifier, update contents, time and the like. FIG. 8 shows an operation example of a recovery process performed by a server of a node that has detected an abnormality of another server for the data reference process performed by the node that has caused the abnormality. First, when the server is in the process of updating and an error occurs in a state where it is not committed, the nodes other than the faulty node start the rollback process of step 48, that is, the recovery process of canceling the update and unlocking the target record.
As its contents, in order to confirm the presence or absence of uncommitted update processing at the time of failure at step 49, the transaction log information of each node on the shared memory device H is read, and at step 50 the transaction log of the node in which an error has occurred is read. Check for any. Then, if the corresponding transaction log remains, the corresponding transaction log information is cleared in step 51, the update record is unlocked in step 52, and the recovery in step 53 ends. Information necessary for unlocking in step 52 is referred to the lock information on the shared memory device H described in the first embodiment.

【0030】この実施例によれば、各ノード相互の異常
検知、他ノードからのリカバリ処理により信頼性が向上
する。
According to this embodiment, the reliability is improved by the abnormality detection between the nodes and the recovery processing from the other nodes.

【0031】実施例3.図9は、この発明の実施例3の
動作を示すフローチャートである。なお、あらかじめ各
サーバはクライアントとの接続を開設した場合、共有メ
モリ装置H上に接続クライアント情報として、サーバ識
別子、クライアント識別子などを書き込みを行なうもの
とする。また、接続が解除されるとこれをクリアする。
まず、ステップ54〜57でノードCのクライアント
が、ノードAのサーバに接続し、データ参照を行なうア
プリケーションを実行する。この時、ステップ58でノ
ードAで障害が発生しクライアントに何も通知できない
ままサーバがダウンしてしまったとする。ここでノード
Bはステップ59で、ノードAの障害によるサーバダウ
ンを発見し、接続クライアントを検出し、そのクライア
ントへのサーバAの異常発生を通知する。これは、共有
メモリ装置HからノードAの出した前記の接続クライア
ント情報の有無を確認し、有る場合はクライアント識別
子を検出する。ここでは、ノードCがクライアントであ
ることを検出し、ノードCに対して接続中サーバがダウ
ンしたことを通知する。さらにステップ60でこの通知
を受けたクライアントは、異常を検知して実行中のアプ
リケーションの異常終了を行なっている。この処理は、
クライアント側に例えばクライアントプロセスとは別の
デーモンプロセスを用意し、ノードBからの異常通知メ
ッセージを認識し、さらにこれを受けた場合にクライア
ントプロセスを異常終了させるなど異常処理を行なえる
ようにすれば実現できる。
Example 3. FIG. 9 is a flow chart showing the operation of the third embodiment of the present invention. When each server opens a connection with a client in advance, it is assumed that the server identifier, the client identifier, and the like are written in the shared memory device H as the connection client information. It also clears this when the connection is released.
First, in steps 54 to 57, the client of the node C connects to the server of the node A and executes the application that refers to the data. At this time, it is assumed that a failure occurs in the node A in step 58 and the server goes down without notifying the client of anything. Here, the node B detects the server down due to the failure of the node A in step 59, detects the connected client, and notifies the client of the abnormal occurrence of the server A. This confirms the presence or absence of the above-mentioned connected client information issued by the node A from the shared memory device H, and if there is, detects the client identifier. Here, it detects that the node C is a client and notifies the node C that the connected server is down. Further, the client receiving this notification in step 60 detects an abnormality and abnormally terminates the application being executed. This process
For example, if a daemon process other than the client process is prepared on the client side, an abnormal notification message from the node B can be recognized, and when the message is received, abnormal processing such as abnormal termination of the client process can be performed. realizable.

【0032】この実施例によれば、クライアントに異常
を通知し、クライアントは異常処理を行ない、タイムア
ウトのような一定時間の経過を待たずに、障害を起こし
たノードを素早く検知して異常処理を開始することがで
きる。
According to this embodiment, the client is notified of the abnormality, the client performs the abnormality processing, and the failure node is quickly detected and the abnormality processing is performed without waiting for the elapse of a fixed time such as timeout. You can start.

【0033】実施例4.図10は、この発明の実施例4
の動作例を示すフローチャートである。ステップ61で
ノードCのクライアントからAPPを起動すると、クラ
イアントはまず接続先サーバを決定するため、ステップ
62でいずれかのサーバにメッセージを送って(ここで
はノードAとした)、ステップ63で最も負荷の低いサ
ーバの検出・通知処理を実行させる。ステップ64では
その通知結果(ここではノードAとする)に従い、通知
されたサーバに接続要求を送り、ステップ65の接続終
了後、ステップ66のデータ参照処理を開始する。この
実現方法については、クライアント上に各アプリケーシ
ョンを実行するクライアントプロセスの他に、サーバと
の接続を管理するデーモンプロセスを使用する方法があ
る。さらに詳しく説明する。この方法ではステップ62
で、ノードCのデーモンプロセスがクライアントプロセ
スからのサーバへの接続要求を受け取って(クライアン
トプロセス側では、ノードの指定は行なわない)、サー
バプロセスに対して、最も負荷の低いサーバの検出・通
知処理の実行を依頼するメッセージを送る。なお、クラ
イアントのデーモンプロセスは、ノードAまたはBのい
ずれにメッセージを送信するかは、あらかじめデフォル
トの設定等により決めておき、これに従うものとし、こ
こではノードAとした。次にステップ63でノードAの
サーバプロセスは、図3の負荷検出機能20を用いて最
も負荷の低いサーバを判定し(ここではノードAとし
た)、その結果をクライアントのデーモンプロセスに通
知する。この通知を受けたデーモンプロセスが接続要求
を出したクライアントプロセスに最も負荷の低かったノ
ード(ここではノードA)を通知する。ステップ64で
これを受けとったクライアントプロセスはそのノードの
サーバを指定して接続要求を出し、ステップ65の接続
が終了したら、ステップ66のアプリケーションで与え
られたデータ参照処理を開始する。
Example 4. FIG. 10 shows a fourth embodiment of the present invention.
5 is a flowchart showing an operation example of FIG. When APP is started from the client of the node C in step 61, the client first determines a connection destination server, so in step 62, a message is sent to one of the servers (here, it is assumed to be node A), and in step 63, the load is the highest. Detect and notify the server with low power. In step 64, a connection request is sent to the notified server in accordance with the notification result (here, node A), and after the connection in step 65 is completed, the data reference process in step 66 is started. As a method of realizing this, there is a method of using a daemon process that manages connection with a server, in addition to a client process that executes each application on the client. This will be described in more detail. In this method, step 62
Then, the daemon process of the node C receives the connection request from the client process to the server (the node does not specify the node on the client process side), and the server process detects and notifies the server with the lowest load. Send a message requesting execution of. It should be noted that which of the nodes A and B the client daemon process sends a message to is determined beforehand by default settings or the like, and according to this, the node A is used here. Next, in step 63, the server process of the node A determines the server with the lowest load using the load detection function 20 of FIG. 3 (here, it is assumed to be the node A), and notifies the result to the daemon process of the client. The daemon process that receives this notification notifies the client process that issued the connection request of the node (node A here) with the lowest load. The client process receiving this in step 64 issues a connection request by designating the server of that node, and when the connection in step 65 is completed, the data reference process given by the application in step 66 is started.

【0034】各サーバの持つ負荷検出機能は、自ノード
のサーバの負荷情報を取得し共有メモリ装置S上に書き
込む処理、すでに同じようにして書き込済みの他ノード
の負荷情報を参照し、何らかの基準に従って、最も負荷
の低いサーバを判定する処理、その結果をクライアント
上のデーモンプロセスへ通知する処理の3つを定期的に
各ノードが交互に行なう。
The load detecting function of each server obtains the load information of the server of its own node and writes it in the shared memory device S, or refers to the load information of another node already written in the same way, According to the standard, each node periodically performs the three processes of determining the server with the lowest load and notifying the result to the daemon process on the client.

【0035】各サーバが行なう負荷検出には、負荷情報
として、例えば、各ノードの回線1、2の混み具合、C
PU利用率、メモリ空き領域、接続クライアント数など
の情報を取得し、これらを使用した何らかの判定式を用
意し、その計算結果より、最も負荷の低いサーバを決定
する。
For load detection performed by each server, the load information is, for example, the congestion degree of the lines 1 and 2 of each node, C
Information such as the PU utilization rate, the memory free area, and the number of connected clients is acquired, some determination formula using these is prepared, and the server with the lowest load is determined from the calculation result.

【0036】この実施例によれば、低負荷サーバの自動
選択・接続切替えにより負荷分散を図り、処理能力を向
上させることができる。
According to this embodiment, the load can be distributed and the processing capacity can be improved by automatically selecting and connecting the low load server.

【0037】実施例5.図11はこの発明の実施例5の
動作例を示すものである。ノードCのクライアントは、
実施例4の機能によってその時に最も低負荷状態にあっ
たノードAのサーバに接続してデータ参照を行なってい
たとする(ステップ67〜70)。その後ノードA,B
の負荷状況が逆転し、ノードBがステップ71の低負荷
ノードの検出で、ノードBの方がノードAよりも低負荷
であると判定し、ノードCのクライアントに通知した。
通知を受けたクライアント側では、例えば、クライアン
トプロセスとは別の接続管理を行なうデーモンプロセス
によってこれを受信し、さらにクライアントプロセスに
現在ノードBの方が低負荷であることを通知する。通知
を受けたクライアントプロセスが接続サーバを切替える
場合は、トランザクションの切れ目などのあらかじめ設
定しておいた適当なタイミングで、ステップ72のデー
タ参照処理中断を行ない、ステップ73のさらにノード
Bとの接続解除要求を出し、ステップ74でノードAと
の接続解除が終了するのを待って、ステップ75のノー
ドBへの接続要求を出し、ステップ76で接続後、ステ
ップ77で中断していたデータ参照処理を再開する。こ
の例ではステップ77の処理再開からステップ78の処
理終了までの間に負荷状況の逆転が検出・通知されなか
ったので、そのままステップ79、80でノードBとの
接続を解除して、ステップ81でAPPを終了してい
る。しかし、もしステップ77と78のデータ参照処理
終了までの間に負荷状況の逆転が検出された場合は、ス
テップ72〜77と同様の処理が繰り返される。
Example 5. FIG. 11 shows an operation example of the fifth embodiment of the present invention. The client of node C is
It is assumed that the function of the fourth embodiment is used to connect to the server of the node A having the lowest load at that time to perform data reference (steps 67 to 70). Then nodes A and B
, The node B detected the low-load node in step 71, and determined that the node B had a lower load than the node A, and notified the client of the node C.
On the client side that has received the notification, for example, a daemon process that performs connection management different from the client process receives this, and further notifies the client process that node B currently has a lower load. When the notified client process switches the connection server, the data reference process of step 72 is interrupted at an appropriate timing set in advance such as a transaction break, and the connection with node B is further released in step 73. It issues a request, waits for the disconnection with node A to end in step 74, issues a connection request to node B in step 75, connects in step 76, and then suspends the data reference processing suspended in step 77. Resume. In this example, no reversal of the load status is detected or notified from the restart of the process of step 77 to the end of the process of step 78, so the connection with the node B is released in steps 79 and 80, and then in step 81. APP has ended. However, if the reverse of the load condition is detected before the end of the data reference processing of steps 77 and 78, the same processing as steps 72 to 77 is repeated.

【0038】この実施例によれば、接続先のノードの位
置を意識することなく、常に負荷の低いノードのサーバ
を検出し、これを自動的に接続して処理を行なうことが
できる。
According to this embodiment, it is possible to always detect a server of a node having a low load and automatically connect it to perform processing without paying attention to the position of the connection destination node.

【0039】[0039]

【発明の効果】請求項1のデータベース処理方式は、サ
ーバを有する計算機ノードと、このノードで共有可能な
共有ディスク装置と、前記ノードと結合された共有メモ
リ装置と、を備え、前記共有ディスク装置上にデータベ
ースを構築し、同時アクセス制御に必要な制御情報を前
記サーバから前記共有メモリ装置に書込み・相互参照を
行い、前記サーバから前記同一データベースに対するデ
ータ参照要求ができる構成にしたので、ノード数に拘ら
ず同時実行制御に必要な情報を得るためのメモリアクセ
スを同じ方法で行えるので、管理が容易になる。
According to the first aspect of the present invention, there is provided a database processing system comprising: a computer node having a server; a shared disk device sharable by this node; and a shared memory device coupled to the node. Since a database is constructed on the above, control information necessary for simultaneous access control is written from the server to the shared memory device and cross-referenced, and a data reference request to the same database can be made from the server, the number of nodes Regardless of this, memory access for obtaining information necessary for concurrency control can be performed by the same method, so management becomes easy.

【0040】請求項2のデータベース処理方式は、サー
バを有する計算機ノードと、このノードで共有可能な共
有ディスク装置と、前記ノードと結合された共有メモリ
装置と、を備え、前記ノードは定期的に自ノードの動作
状態に関する情報を共有メモリ装置上に書込み、この情
報を前記ノードが参照することにより他ノードの障害の
有無の判定を行い、障害ありと判定した場合は障害が発
生した以外のノードから、障害が発生したノードで実行
されていたトランザクションのリカバリ処理を行なう構
成にしたので、各ノード相互の異常検知、他ノードから
のリカバリ処理により信頼性が向上する。
A database processing method according to a second aspect of the present invention comprises a computer node having a server, a shared disk device that can be shared by this node, and a shared memory device coupled to the node, and the node periodically. Write information about the operating status of its own node in the shared memory device, and refer to this information to determine whether there is a failure in another node. If it is determined that there is a failure, the node other than the failure has occurred. Therefore, the recovery processing of the transaction executed in the failed node is performed, so that the reliability is improved by the abnormality detection between the nodes and the recovery processing from the other nodes.

【0041】請求項3のデータベース処理方式は、サー
バを有する計算機ノードと、このノードで共有可能な共
有ディスク装置と、前記ノードと結合された共有メモリ
装置と、を備え、障害が発生したノードのサーバ自身
が、接続中のクライアントに対しサーバのダウンを通知
できなかった場合、前記障害が発生したノード以外のサ
ーバが、共有メモリ装置にクライアント接続に関して書
込まれた情報を参照して接続中のクライアントを検出し
該クライアントにサーバの異常発生を通知し、クライア
ントが前記通知を受け取りサーバの異常を認識する構成
にしたので、クライアントに異常を通知し、クライアン
トは異常処理を行い、一定時間の経過を待たずに障害を
起こしたノードを検知して異常処理を開始することがで
きる。
A database processing method according to a third aspect of the present invention comprises a computer node having a server, a shared disk device which can be shared by this node, and a shared memory device which is coupled to the node. If the server itself fails to notify the connected client that the server is down, the server other than the node in which the failure has occurred is referring to the information written in the shared memory device regarding the client connection and Since the client is detected and the server is notified of the abnormality of the server, and the client receives the notification and recognizes the abnormality of the server, the client is notified of the abnormality, the client performs the abnormality processing, and the fixed time elapses. It is possible to detect the faulty node and start the abnormality processing without waiting for.

【0042】請求項4のデータベース処理方式は、サー
バを有する計算機ノードと、このノードで共有可能な共
有ディスク装置と、前記ノードと結合された共有メモリ
装置と、を備え、前記共有メモリ装置上に前記サーバの
負荷情報を置き、クライアントからサーバに対し接続要
求が送られると、前記共有メモリ装置上の負荷情報を参
照して低負荷サーバを判定しこのサーバを自動的に選択
して接続する構成にしたので、低負荷サーバの自動選択
・接続切り替えにより負荷分散を図り、処理能力を向上
させることができる。
A database processing method according to a fourth aspect comprises a computer node having a server, a shared disk device which can be shared by this node, and a shared memory device coupled to the node, and the shared memory device is provided on the shared memory device. A configuration in which the load information of the server is set, and when a connection request is sent from the client to the server, the load information on the shared memory device is referred to, a low load server is determined, and this server is automatically selected and connected. Therefore, it is possible to improve load and load balancing by automatically selecting low load servers and switching connections.

【0043】請求項5のデータベース処理方式は、サー
バを有する計算機ノードと、このノードで共有可能な共
有ディスク装置と、前記ノードと結合された共有メモリ
装置と、を備え、クライアントからサーバに接続してデ
ータ参照処理実行中に、接続開設時より現在接続してい
るサーバの負荷が上がり、逆に他のいずれかのサーバの
負荷が下がるという負荷状態の変化に応じ適切な負荷状
態にあるサーバを判定し、定められたタイミングでこの
サーバに自動的に接続を切り替える構成にしたので、接
続先のノードの位置を意識することなく、常に負荷の低
いノードのサーバを検出し、これを自動的に接続して処
理を行なうことができる。
A database processing system according to a fifth aspect comprises a computer node having a server, a shared disk device which can be shared by this node, and a shared memory device which is coupled to the node, and is connected to the server from the client. While executing the data reference process, the load on the currently connected server will increase from the time the connection is opened, and the load on any other server will decrease. Since it is configured to automatically judge the connection and switch the connection to this server at a specified timing, the server of the node with a low load is always detected without regard to the position of the connection destination node, and this is automatically detected. It can be connected and processed.

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

【図1】 この発明の実施例1によるデータベース処理
方式を採用したデータベースシステムの全体構成を示す
概略図である。
FIG. 1 is a schematic diagram showing an overall configuration of a database system adopting a database processing method according to a first embodiment of the present invention.

【図2】 この発明の実施例1によるノードA、ノード
B単体の構成例を示す概略図である。
FIG. 2 is a schematic diagram showing a configuration example of a single node A and a single node B according to the first embodiment of the present invention.

【図3】 この発明の実施例1によるデータベースサー
バプロセスの構成を示す図である。
FIG. 3 is a diagram showing a configuration of a database server process according to the first embodiment of the present invention.

【図4】 この発明の実施例1の動作で行なわれるロッ
ク要求処理の動作を示すフローチャート図である。
FIG. 4 is a flowchart showing the operation of lock request processing performed in the operation of the first embodiment of the present invention.

【図5】 この発明の実施例1の動作で行なわれるロッ
ク要求処理の動作を示すフローチャート図である。
FIG. 5 is a flowchart showing an operation of a lock request process performed by the operation of the first embodiment of the present invention.

【図6】 この発明の実施例2のサーバ異常検出処理の
動作を示すフローチャート図である。
FIG. 6 is a flowchart showing an operation of server abnormality detection processing according to the second embodiment of the present invention.

【図7】 この発明の実施例2の動作で各サーバのステ
イタス情報として共有メモリ装置上に書かれるメッセー
ジの構成例を示す図である。
FIG. 7 is a diagram showing a configuration example of a message written on the shared memory device as status information of each server in the operation of the second embodiment of the present invention.

【図8】 この発明の実施例2のリカバリ処理の動作を
示すフローチャート図である。
FIG. 8 is a flowchart showing an operation of recovery processing according to the second embodiment of the present invention.

【図9】 この発明の実施例3の動作を示すフローチャ
ート図である。
FIG. 9 is a flowchart showing the operation of the third embodiment of the present invention.

【図10】 この発明の実施例4の動作を示すフローチ
ャート図である。
FIG. 10 is a flow chart showing the operation of the fourth embodiment of the present invention.

【図11】 この発明の実施例5の動作を示すフローチ
ャート図である。
FIG. 11 is a flowchart showing the operation of the fifth embodiment of the present invention.

【図12】 従来の個々のメモリが同期機能を持つ計算
機を利用したシステムの全体構成を表す概略図である。
FIG. 12 is a schematic diagram showing the entire configuration of a conventional system using a computer in which each memory has a synchronization function.

【符号の説明】[Explanation of symbols]

1〜4 回線、5 データベースバス、6 CPU、7
メモリ、8 入出力制御装置、9 回線管理部、10
共有メモリ装置管理部、11 データベース管理部、
12 データベース通信制御部、15 制御情報管理
部、14 データ参照管理部、15 ロック要求処理機
能、16 ノードステイタス送信機能、17 リカバリ
処理機能、18 異常検出機能、19 クライアント異
常通知機能、20 負荷検出機能。
1-4 lines, 5 database buses, 6 CPUs, 7
Memory, 8 input / output control device, 9 line management unit, 10
Shared memory device management unit, 11 database management unit,
12 database communication control unit, 15 control information management unit, 14 data reference management unit, 15 lock request processing function, 16 node status transmission function, 17 recovery processing function, 18 abnormality detection function, 19 client abnormality notification function, 20 load detection function .

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 データベースサーバ(以下、サーバとい
う)を有する計算機ノードと、このノードで共有可能な
共有ディスク装置と、前記ノードと結合された共有メモ
リ装置と、を備え、前記共有ディスク装置上にデータベ
ースを構築し、同時アクセス制御に必要な制御情報を前
記サーバから前記共有メモリ装置に書込み・相互参照を
行い、前記サーバから前記同一データベースに対するデ
ータ参照要求ができることを特徴とするデータベース処
理方式。
1. A computer node having a database server (hereinafter, referred to as a server), a shared disk device that can be shared by this node, and a shared memory device coupled to the node are provided on the shared disk device. A database processing method characterized in that a database is constructed, control information necessary for simultaneous access control is written from the server to the shared memory device and cross-referenced, and a data reference request to the same database can be made from the server.
【請求項2】 サーバを有する計算機ノードと、このノ
ードで共有可能な共有ディスク装置と、前記ノードと結
合された共有メモリ装置と、を備え、前記ノードは定期
的に自ノードの動作状態に関する情報を共有メモリ装置
上に書込み、この情報を前記ノードが参照することによ
り他ノードの障害の有無の判定を行い、障害ありと判定
した場合は障害が発生した以外のノードから、障害が発
生したノードで実行されていたトランザクションのリカ
バリ処理を行うことを特徴とするデータベース処理方
式。
2. A computer node having a server, a shared disk device sharable by this node, and a shared memory device coupled to the node, wherein the node regularly provides information on the operating state of its own node. On the shared memory device, the node refers to this information to determine whether or not there is a failure in another node, and if it is determined that there is a failure, the node other than the failure node will A database processing method characterized by performing recovery processing of the transaction that was executed in.
【請求項3】 サーバを有する計算機ノードと、このノ
ードで共有可能な共有ディスク装置と、前記ノードと結
合された共有メモリ装置と、を備え、障害が発生したノ
ードのサーバ自身が、接続中のクライアントに対しサー
バのダウンを通知できなかった場合、前記障害が発生し
たノード以外のサーバが、共有メモリ装置にクライアン
ト接続に関して書込まれた情報を参照して接続中のクラ
イアントを検出し該クライアントにサーバの異常発生を
通知し、クライアントが前記通知を受け取りサーバの異
常を認識することを特徴とするデータベース処理方式。
3. A computer node having a server, a shared disk device sharable by this node, and a shared memory device coupled to the node, wherein the server itself of the failed node is connected to If the server cannot be notified to the client, the server other than the faulty node refers to the information written in the shared memory device regarding the client connection, detects the connected client, and notifies the client. A database processing method characterized in that a server abnormality is notified, and the client receives the notification and recognizes the server abnormality.
【請求項4】 サーバを有する計算機ノードと、このノ
ードで共有可能な共有ディスク装置と、前記ノードと結
合された共有メモリ装置と、を備え、前記共有メモリ装
置上に前記サーバの負荷情報を置き、クライアントから
サーバに対し接続要求が送られると、前記共有メモリ装
置上の負荷情報を参照して低負荷サーバを判定しこのサ
ーバを自動的に選択して接続することを特徴とするデー
タベース処理方式。
4. A computer node having a server, a shared disk device sharable by this node, and a shared memory device coupled to the node, wherein load information of the server is placed on the shared memory device. When a connection request is sent from the client to the server, a low load server is determined by referring to the load information on the shared memory device, and this server is automatically selected and connected. .
【請求項5】 サーバを有する計算機ノードと、このノ
ードで共有可能な共有ディスク装置と、前記ノードと結
合された共有メモリ装置と、を備え、クライアントから
サーバに接続してデータ参照処理実行中に、接続開設時
より現在接続しているサーバの負荷が上がり、逆に他の
いずれかのサーバの負荷が下がるという負荷状態の変化
に応じ適切な負荷状態にあるサーバを判定し、定められ
たタイミングでこのサーバに自動的に接続を切り替える
ことを特徴とするデータベース処理方式。
5. A computer node having a server, a shared disk device sharable by this node, and a shared memory device coupled to the node, wherein a client connects to a server to execute a data reference process. , The load of the currently connected server increases from the time when the connection is opened, and conversely the load of one of the other servers decreases, the server in the appropriate load state is determined according to the change in the load state, and the determined timing A database processing method characterized by automatically switching the connection to this server.
JP6228051A 1994-09-22 1994-09-22 Data base processing system Pending JPH0895841A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6228051A JPH0895841A (en) 1994-09-22 1994-09-22 Data base processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6228051A JPH0895841A (en) 1994-09-22 1994-09-22 Data base processing system

Publications (1)

Publication Number Publication Date
JPH0895841A true JPH0895841A (en) 1996-04-12

Family

ID=16870437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6228051A Pending JPH0895841A (en) 1994-09-22 1994-09-22 Data base processing system

Country Status (1)

Country Link
JP (1) JPH0895841A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018110031A (en) * 2018-03-07 2018-07-12 華為技術有限公司Huawei Technologies Co.,Ltd. Method of managing lock in cluster, lock server and client
US10609150B2 (en) 2015-12-14 2020-03-31 Huawei Technologies Co., Ltd. Lock management method in cluster, lock server, and client

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10609150B2 (en) 2015-12-14 2020-03-31 Huawei Technologies Co., Ltd. Lock management method in cluster, lock server, and client
JP2018110031A (en) * 2018-03-07 2018-07-12 華為技術有限公司Huawei Technologies Co.,Ltd. Method of managing lock in cluster, lock server and client

Similar Documents

Publication Publication Date Title
US7062676B2 (en) Method and system for installing program in multiple system
US7028218B2 (en) Redundant multi-processor and logical processor configuration for a file server
US6889253B2 (en) Cluster resource action in clustered computer system incorporation prepare operation
US5784617A (en) Resource-capability-based method and system for handling service processor requests
TW523656B (en) Method and apparatus for building and managing multi-clustered computer systems
US5513314A (en) Fault tolerant NFS server system and mirroring protocol
US7290086B2 (en) Method, apparatus and program storage device for providing asynchronous status messaging in a data storage system
US7246187B1 (en) Method and apparatus for controlling exclusive access to a shared resource in a data storage system
US6839752B1 (en) Group data sharing during membership change in clustered computer system
US7293194B2 (en) Method and device for switching database access part from for-standby to currently in use
US6868442B1 (en) Methods and apparatus for processing administrative requests of a distributed network application executing in a clustered computing environment
US6449734B1 (en) Method and system for discarding locally committed transactions to ensure consistency in a server cluster
US6421787B1 (en) Highly available cluster message passing facility
US8332501B2 (en) High availability for intelligent applications in storage networks
US5600791A (en) Distributed device status in a clustered system environment
EP0750256B1 (en) Framework for managing cluster membership in a multiprocessor system
JP4500490B2 (en) How to prevent "split brain" in computer clustering systems
US7549079B2 (en) System and method of configuring a database system with replicated data and automatic failover and recovery
US20140149783A1 (en) Methods and apparatus facilitating access to storage among multiple computers
US20030187991A1 (en) System and method for facilitating communication between network browsers and process instances
JPH086840A (en) Mechanism for judgment of completion of directory operation for server recovery
JP2003076592A (en) Data storage system
CN115794499B (en) Method and system for dual-activity replication data among distributed block storage clusters
JPH0895841A (en) Data base processing system
JP3008887B2 (en) Computer system having active / standby switching function for each application program and machine-readable recording medium recording the program