JPH06243077A - 分散トランザクション処理方式 - Google Patents
分散トランザクション処理方式Info
- Publication number
- JPH06243077A JPH06243077A JP5030984A JP3098493A JPH06243077A JP H06243077 A JPH06243077 A JP H06243077A JP 5030984 A JP5030984 A JP 5030984A JP 3098493 A JP3098493 A JP 3098493A JP H06243077 A JPH06243077 A JP H06243077A
- Authority
- JP
- Japan
- Prior art keywords
- server system
- processing
- processing process
- control program
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
(57)【要約】
【目的】 高負荷トランザクション処理時に同一サーバ
システムに対しコールが多発した場合の処理プロセス不
足の発生を防止する。 【構成】 同一グローバルトランザクション内からの最
初のサービス要求時には、任意の空きサービス処理プロ
セスを割り当て実行させるが、2回目以降のサービス要
求時には、初回時に割り当てたサービス処理プロセスを
再度割り当てる。
システムに対しコールが多発した場合の処理プロセス不
足の発生を防止する。 【構成】 同一グローバルトランザクション内からの最
初のサービス要求時には、任意の空きサービス処理プロ
セスを割り当て実行させるが、2回目以降のサービス要
求時には、初回時に割り当てたサービス処理プロセスを
再度割り当てる。
Description
【0001】
【産業上の利用分野】本発明は、クライアント・サーバ
型の分散トランザクション処理方式に関し、特に複数の
処理プロセスを有するサーバシステムの処理プロセスの
割り当て方式に関するものである。
型の分散トランザクション処理方式に関し、特に複数の
処理プロセスを有するサーバシステムの処理プロセスの
割り当て方式に関するものである。
【0002】
【従来の技術】従来において、この種の分散トランザク
ション処理方式として、例えば特開平2−113362
号公報に開示されたものがある。
ション処理方式として、例えば特開平2−113362
号公報に開示されたものがある。
【0003】この従来のクライアント・サーバ型の分散
トランザクション処理方式においては、クライアントシ
ステムから送信されたメッセージの優先度の順にサーバ
システム内に用意された複数の処理プロセスの中の空き
処理プロセスを割り当てる方式が採られていた。
トランザクション処理方式においては、クライアントシ
ステムから送信されたメッセージの優先度の順にサーバ
システム内に用意された複数の処理プロセスの中の空き
処理プロセスを割り当てる方式が採られていた。
【0004】すなわち、1つのグローバルトランザクシ
ョン内で同一サーバシステムが複数回コールされると、
当該サーバシステムが複数の処理プロセスを有している
場合、その時点での空き処理プロセスの1つをそれぞれ
割り当てる方式が採用されていた。
ョン内で同一サーバシステムが複数回コールされると、
当該サーバシステムが複数の処理プロセスを有している
場合、その時点での空き処理プロセスの1つをそれぞれ
割り当てる方式が採用されていた。
【0005】一方、1相または2相コミットプロトコル
を採用している分散トランザクション処理システムで
は、1つのグローバルトランザクション内で既に使用さ
れた処理プロセスは、コミット指示、またはコミット準
備指示待ちの状態となっている。従って、同一グローバ
ルトランザクション内で再度同一サーバシステムがコー
ルされた場合、既に使用された処理プロセスは割り当て
の対象とならず、別の新たな処理プロセスが割り当てら
れる。
を採用している分散トランザクション処理システムで
は、1つのグローバルトランザクション内で既に使用さ
れた処理プロセスは、コミット指示、またはコミット準
備指示待ちの状態となっている。従って、同一グローバ
ルトランザクション内で再度同一サーバシステムがコー
ルされた場合、既に使用された処理プロセスは割り当て
の対象とならず、別の新たな処理プロセスが割り当てら
れる。
【0006】
【発明が解決しようとする課題】しかしながら、上記従
来の分散トランザクション処理方式においては、高負荷
のトランザクション処理時に同一サーバシステムに対す
るコールが多発した場合、処理プロセスが不足するとい
った事態が発生し、それによるトランザクション処理の
異常終了が発生し、システムの信頼性が低下するという
問題があった。
来の分散トランザクション処理方式においては、高負荷
のトランザクション処理時に同一サーバシステムに対す
るコールが多発した場合、処理プロセスが不足するとい
った事態が発生し、それによるトランザクション処理の
異常終了が発生し、システムの信頼性が低下するという
問題があった。
【0007】本発明の目的は、同一サーバシステムに対
するコールが多発した場合の処理プロセス不足の発生を
防止し、システムの信頼性を向上させることができる分
散トランザクション処理方式を提供することにある。
するコールが多発した場合の処理プロセス不足の発生を
防止し、システムの信頼性を向上させることができる分
散トランザクション処理方式を提供することにある。
【0008】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、1つのグローバルトランザクション内で
複数の処理プロセスを有するサーバシステムが1回目に
呼び出されていずれかの処理プロセスを割り当てた時点
で当該グローバルトランザクションと当該処理プロセス
とを対応付ける手段を設け、同一グローバルトランザク
ション内での当該サーバシステムの2回目以降の呼出し
時には1回目の呼出し時に割り当てた処理プロセスを再
度割り当てるようにしたものである。
に、本発明は、1つのグローバルトランザクション内で
複数の処理プロセスを有するサーバシステムが1回目に
呼び出されていずれかの処理プロセスを割り当てた時点
で当該グローバルトランザクションと当該処理プロセス
とを対応付ける手段を設け、同一グローバルトランザク
ション内での当該サーバシステムの2回目以降の呼出し
時には1回目の呼出し時に割り当てた処理プロセスを再
度割り当てるようにしたものである。
【0009】
【作用】上記手段によれば、あるグローバルトランザク
ション内で、あるサーバシステムが1回目にコールされ
て処理プロセスを割り当てた時点で、当該グローバルト
ランザクションと当該処理プロセスとが対応付けられ、
以後同一グローバルトランザクション内で同一サーバシ
ステムが再度コールされた場合に、1回目のコール時に
割り当てた処理プロセスが再度割り当てられ。
ション内で、あるサーバシステムが1回目にコールされ
て処理プロセスを割り当てた時点で、当該グローバルト
ランザクションと当該処理プロセスとが対応付けられ、
以後同一グローバルトランザクション内で同一サーバシ
ステムが再度コールされた場合に、1回目のコール時に
割り当てた処理プロセスが再度割り当てられ。
【0010】これにより、処理プロセスの有効利用が図
れ、高負荷トランザクション処理時に同一サーバシステ
ムに対するコールが多発した場合の処理プロセス不足の
発生を防止できる。
れ、高負荷トランザクション処理時に同一サーバシステ
ムに対するコールが多発した場合の処理プロセス不足の
発生を防止できる。
【0011】
【実施例】以下、本発明の一実施例について図面で説明
する。
する。
【0012】図1は本発明を適用したによるクライアン
ト・サーバ型の分散トランザクション処理システムの一
実施例を示すシステム構成図である。
ト・サーバ型の分散トランザクション処理システムの一
実施例を示すシステム構成図である。
【0013】図において、複数のクライアントコンピュ
ータ10a〜10dと、サーバコンピュータ11とは、
ネットワーク12で接続されており、クライアントコン
ピュータ10a〜10dにはクライアントシステム制御
プログラム13とクライアントプログラム14とが、ま
たサーバコンピュータ11にはサーバシステム制御プロ
グラム15と複数のサービス処理プロセス16a〜16
dがそれぞれ設けられている。
ータ10a〜10dと、サーバコンピュータ11とは、
ネットワーク12で接続されており、クライアントコン
ピュータ10a〜10dにはクライアントシステム制御
プログラム13とクライアントプログラム14とが、ま
たサーバコンピュータ11にはサーバシステム制御プロ
グラム15と複数のサービス処理プロセス16a〜16
dがそれぞれ設けられている。
【0014】クライアントシステム制御プログラム13
は、クライアントプログラム14からのサービス要求を
受け、ネットワーク12を介してその要求をサーバシス
テム制御プログラム15に伝える。
は、クライアントプログラム14からのサービス要求を
受け、ネットワーク12を介してその要求をサーバシス
テム制御プログラム15に伝える。
【0015】サーバシステム制御プログラム15は、ク
ライアントシステム制御プログラム13からの要求を受
け、サービス処理プロセス16a〜16dのいずれかを
選択する。例えばサービス処理プロセス16aを選択
し、スケジュールする。
ライアントシステム制御プログラム13からの要求を受
け、サービス処理プロセス16a〜16dのいずれかを
選択する。例えばサービス処理プロセス16aを選択
し、スケジュールする。
【0016】サービス処理プロセス16aにより実行さ
れたサービスの結果は、サーバシステム制御プログラム
15とクライアントシステム制御プログラム13を経由
してクライアントプログラム14に返される。
れたサービスの結果は、サーバシステム制御プログラム
15とクライアントシステム制御プログラム13を経由
してクライアントプログラム14に返される。
【0017】また、クライアントシステム制御プログラ
ム13とサーバシステム制御プログラム15とは1相ま
たは2相コミットプロトコルに従い連携してトランザク
ションの同期点処理を実行する。
ム13とサーバシステム制御プログラム15とは1相ま
たは2相コミットプロトコルに従い連携してトランザク
ションの同期点処理を実行する。
【0018】図2は分散トランザクション処理の手順を
示すフロ−チャ−トであり、クライアントプログラム1
4からのサービス要求を受けたクライアントシステム制
御プログラム13は要求されたサービス名称からサーバ
システム11を決定する(ステップ21,21)。
示すフロ−チャ−トであり、クライアントプログラム1
4からのサービス要求を受けたクライアントシステム制
御プログラム13は要求されたサービス名称からサーバ
システム11を決定する(ステップ21,21)。
【0019】その後、当該サーバシステム11へのサー
ビス要求が当該グローバルトランザクション内で初めて
か否かを判定し(ステップ22)、初めてでなければ、
初回要求時に当該サーバシステム11のサーバシステム
制御プログラム15から通知されたサービス処理プロセ
スのID(例えば16aのID)を送信メッセージ中の
特定のフィールドにセットする(ステップ23)。
ビス要求が当該グローバルトランザクション内で初めて
か否かを判定し(ステップ22)、初めてでなければ、
初回要求時に当該サーバシステム11のサーバシステム
制御プログラム15から通知されたサービス処理プロセ
スのID(例えば16aのID)を送信メッセージ中の
特定のフィールドにセットする(ステップ23)。
【0020】初めての要求ならば、当該フィールドはヌ
ル値のままとする。
ル値のままとする。
【0021】クライアントシステム制御プログラム13
は送信メッセージを組み立てた後、それを該当するサー
バシステム制御プログラム15に送信する(ステップ2
4)。
は送信メッセージを組み立てた後、それを該当するサー
バシステム制御プログラム15に送信する(ステップ2
4)。
【0022】サーバシステム制御プログラム15は、ク
ライアントシステム制御プログラム13からのメッセー
ジを受信すると(ステップ28)、受信メッセージ中に
処理プロセスIDがセット済か否かを判定する(ステッ
プ29)。
ライアントシステム制御プログラム13からのメッセー
ジを受信すると(ステップ28)、受信メッセージ中に
処理プロセスIDがセット済か否かを判定する(ステッ
プ29)。
【0023】もしセット済ならば、それは同一グローバ
ルトランザクション内での2回目以降のサービス要求で
あり、次のサービス処理要求か同期点処理要求に対し待
機中の当該処理プロセスIDを持つサービス処理プロセ
ス16aを選択する(ステップ30)。
ルトランザクション内での2回目以降のサービス要求で
あり、次のサービス処理要求か同期点処理要求に対し待
機中の当該処理プロセスIDを持つサービス処理プロセ
ス16aを選択する(ステップ30)。
【0024】もしセット済でなければ、それはグローバ
ルトランザクション内での当該サーバシステム11に対
する最初のサービス処理要求であり、任意の空きサービ
ス処理プロセス、例えば16bを選択する(ステップ3
1)。
ルトランザクション内での当該サーバシステム11に対
する最初のサービス処理要求であり、任意の空きサービ
ス処理プロセス、例えば16bを選択する(ステップ3
1)。
【0025】サーバシステム制御プログラム15は選択
したサービス処理プロセス16aをスケジュールする
(ステップ32)。
したサービス処理プロセス16aをスケジュールする
(ステップ32)。
【0026】スケジュールされたサービス処理プロセス
16aはサービス実行後(ステップ35)、結果をサー
バシステム制御プログラム15に送信し(ステップ3
6)、同一グローバルトランザクション内からの次のサ
ービス処理要求または同期点処理要求を待つ(ステップ
34,37)。
16aはサービス実行後(ステップ35)、結果をサー
バシステム制御プログラム15に送信し(ステップ3
6)、同一グローバルトランザクション内からの次のサ
ービス処理要求または同期点処理要求を待つ(ステップ
34,37)。
【0027】サービス実行結果を受けたサーバシステム
制御プログラム15は、サービスを実行したサービス処
理プロセス16aの処理プロセスIDを送信メッセージ
中の特定のフィールドにセットし(ステップ38)、サ
ービス実行結果メッセージをクライアントシステム制御
プログラム13に返却する(ステップ39)。
制御プログラム15は、サービスを実行したサービス処
理プロセス16aの処理プロセスIDを送信メッセージ
中の特定のフィールドにセットし(ステップ38)、サ
ービス実行結果メッセージをクライアントシステム制御
プログラム13に返却する(ステップ39)。
【0028】クライアントシステム制御プログラム13
は、同一グローバルトランザクション内からの同一サー
バシステムへの次のサービス要求に備え、サーバシステ
ム制御プログラム15が結果送信メッセージ中にセット
した処理プロセスIDを記憶し、サービス実行結果をク
ライアントプログラム14に返す(ステップ26,2
7)。
は、同一グローバルトランザクション内からの同一サー
バシステムへの次のサービス要求に備え、サーバシステ
ム制御プログラム15が結果送信メッセージ中にセット
した処理プロセスIDを記憶し、サービス実行結果をク
ライアントプログラム14に返す(ステップ26,2
7)。
【0029】図3はクライアントシステム制御プログラ
ム13とサーバシステム制御プログラム15の間でやり
取りされる送受信メッセージ40の一例を示すもので、
サービス名称フィールド41、処理プロセスIDフィー
ルド42、デ−タフィールド43が設けられ、サービス
を実行すべき、または実行したサービス処理プロセス1
6の処理プロセスIDがメッセージ40中の特定フィー
ルド42にセットされる。
ム13とサーバシステム制御プログラム15の間でやり
取りされる送受信メッセージ40の一例を示すもので、
サービス名称フィールド41、処理プロセスIDフィー
ルド42、デ−タフィールド43が設けられ、サービス
を実行すべき、または実行したサービス処理プロセス1
6の処理プロセスIDがメッセージ40中の特定フィー
ルド42にセットされる。
【0030】本実施例によれば、同一グローバルトラン
ザクション内で同一サーバシステムが複数回コールされ
た場合、常に同一のサービス処理プロセスが再利用され
る。このため、処理プロセス不足によるトランザクショ
ン処理の異常終了を防止できる。
ザクション内で同一サーバシステムが複数回コールされ
た場合、常に同一のサービス処理プロセスが再利用され
る。このため、処理プロセス不足によるトランザクショ
ン処理の異常終了を防止できる。
【0031】
【発明の効果】以上説明したように本発明は、1つのグ
ローバルトランザクション内で複数の処理プロセスを有
するサーバシステムが1回目に呼び出されていずれかの
処理プロセスを割り当てた時点で当該グローバルトラン
ザクションと当該処理プロセスとを対応付ける手段を設
け、同一グローバルトランザクション内での当該サーバ
システムの2回目以降の呼出し時には1回目の呼出し時
に割り当てた処理プロセスを再度割り当てるようにした
ので、高負荷トランザクション処理時に同一サーバシス
テムに対し、コールが多発する場合にも処理プロセスの
有効利用が図れ、処理プロセス不足の発生に起因するト
ランザクション処理の異常終了を防止し、システムの信
頼性を向上させることができる。
ローバルトランザクション内で複数の処理プロセスを有
するサーバシステムが1回目に呼び出されていずれかの
処理プロセスを割り当てた時点で当該グローバルトラン
ザクションと当該処理プロセスとを対応付ける手段を設
け、同一グローバルトランザクション内での当該サーバ
システムの2回目以降の呼出し時には1回目の呼出し時
に割り当てた処理プロセスを再度割り当てるようにした
ので、高負荷トランザクション処理時に同一サーバシス
テムに対し、コールが多発する場合にも処理プロセスの
有効利用が図れ、処理プロセス不足の発生に起因するト
ランザクション処理の異常終了を防止し、システムの信
頼性を向上させることができる。
【図1】本発明を適用したクライアント・サーバ型の分
散トランザクション処理システムの一実施例を示すシス
テム構成図である。
散トランザクション処理システムの一実施例を示すシス
テム構成図である。
【図2】実施例の分散トランザクション処理を示すフロ
−チャ−トである。
−チャ−トである。
【図3】送受信メッセージの構成例を示す説明図であ
る。
る。
【符号の説明】 10a〜10d…クライアントコンピュータ、11…サ
ーバコンピュータ、12…ネットワーク、13…クライ
アントシステム制御プログラム、14…クライアントプ
ログラム、15…サーバシステム制御プログラム、16
a〜16d…サービス処理プログラム、40…送受信メ
ッセージ。
ーバコンピュータ、12…ネットワーク、13…クライ
アントシステム制御プログラム、14…クライアントプ
ログラム、15…サーバシステム制御プログラム、16
a〜16d…サービス処理プログラム、40…送受信メ
ッセージ。
Claims (1)
- 【請求項1】 クライアントシステムから同一ノード内
またはネットワーク接続された他ノードのサーバシステ
ムを呼出し、当該サーバシステムが管理するリソースの
更新を行いながら1つのグローバルトランザクション処
理を実行するクライアント・サーバ型の分散トランザク
ション処理システムにおいて、1つのグローバルトラン
ザクション内で複数の処理プロセスを有するサーバシス
テムが1回目に呼び出されていずれかの処理プロセスを
割り当てた時点で当該グローバルトランザクションと当
該処理プロセスとを対応付ける手段を設け、同一グロー
バルトランザクション内での当該サーバシステムの2回
目以降の呼出し時には1回目の呼出し時に割り当てた処
理プロセスを再度割り当てることを特徴とする分散トラ
ンザクション処理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5030984A JPH06243077A (ja) | 1993-02-19 | 1993-02-19 | 分散トランザクション処理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5030984A JPH06243077A (ja) | 1993-02-19 | 1993-02-19 | 分散トランザクション処理方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06243077A true JPH06243077A (ja) | 1994-09-02 |
Family
ID=12318902
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5030984A Pending JPH06243077A (ja) | 1993-02-19 | 1993-02-19 | 分散トランザクション処理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH06243077A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH09269925A (ja) * | 1996-04-02 | 1997-10-14 | Nri & Ncc Co Ltd | 負荷制御を行う大規模クライアントサーバーシステム |
| JPH10143455A (ja) * | 1996-11-08 | 1998-05-29 | Toshiba Corp | クライアント/サーバシステム |
| JP2003256394A (ja) * | 2002-03-05 | 2003-09-12 | Nec Corp | トランザクション処理の負荷分散方法およびそのシステム |
| JP2005302017A (ja) * | 2005-04-04 | 2005-10-27 | Doonappu Corporation:Kk | ネットワークサービスシステム |
| US7756940B2 (en) | 2001-02-05 | 2010-07-13 | Hitachi, Ltd. | Transaction processing system having service level control capabilities |
-
1993
- 1993-02-19 JP JP5030984A patent/JPH06243077A/ja active Pending
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH09269925A (ja) * | 1996-04-02 | 1997-10-14 | Nri & Ncc Co Ltd | 負荷制御を行う大規模クライアントサーバーシステム |
| JPH10143455A (ja) * | 1996-11-08 | 1998-05-29 | Toshiba Corp | クライアント/サーバシステム |
| US7756940B2 (en) | 2001-02-05 | 2010-07-13 | Hitachi, Ltd. | Transaction processing system having service level control capabilities |
| JP2003256394A (ja) * | 2002-03-05 | 2003-09-12 | Nec Corp | トランザクション処理の負荷分散方法およびそのシステム |
| JP2005302017A (ja) * | 2005-04-04 | 2005-10-27 | Doonappu Corporation:Kk | ネットワークサービスシステム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN108958920B (zh) | 一种分布式任务调度方法及系统 | |
| US6314114B1 (en) | Distributed resource management | |
| JP3585755B2 (ja) | タイムシェアリングシステムにおける非通信プロセス間のプライオリティに基づく負荷分散 | |
| US6192389B1 (en) | Method and apparatus for transferring file descriptors in a multiprocess, multithreaded client/server system | |
| US6085217A (en) | Method and apparatus for controlling the assignment of units of work to a workload enclave in a client/server system | |
| EP0326671B1 (en) | A computer system and a method of monitoring transient data structures of a computer system | |
| EP0006216B1 (en) | Improvements in digital data processing systems | |
| US6360268B1 (en) | Distributed automated testing system | |
| US5991793A (en) | Resource allocation method in computer system | |
| US5005122A (en) | Arrangement with cooperating management server node and network service node | |
| US7653828B2 (en) | Timeout manager | |
| US10686728B2 (en) | Systems and methods for allocating computing resources in distributed computing | |
| KR100509794B1 (ko) | 데이터베이스 관리시스템을 이용하는 작업들의 실시간 처리를 위한 스케줄링 방법 | |
| US6560628B1 (en) | Apparatus, method, and recording medium for scheduling execution using time slot data | |
| AU748321B2 (en) | Method for allocating tasks, data processing system, client data processing node, and computer-readable storage medium | |
| US7080377B2 (en) | Method for effective utilizing of shared resources in computerized system | |
| US6948172B1 (en) | Preemptive multi-tasking with cooperative groups of tasks | |
| WO2001065357A1 (en) | Processing load distribution techniques for call centers and other processing systems | |
| JPH08511889A (ja) | 拡張プログラム間通信サーバ | |
| CN111431970B (zh) | 基于微服务架构的资源分配方法、装置、设备及存储介质 | |
| JPH0563821B2 (ja) | ||
| CN111163140A (zh) | 资源获取和分配的方法、装置和计算机可读存储介质 | |
| JP3888827B2 (ja) | プログラム置換システム、分散処理システム及びプログラム置換方法 | |
| US20030028640A1 (en) | Peer-to-peer distributed mechanism | |
| US7111063B1 (en) | Distributed computer network having a rotating message delivery system suitable for use in load balancing and/or messaging failover |