JP6780760B1 - 情報処理システム、情報処理装置、制御方法およびプログラム - Google Patents

情報処理システム、情報処理装置、制御方法およびプログラム Download PDF

Info

Publication number
JP6780760B1
JP6780760B1 JP2019191916A JP2019191916A JP6780760B1 JP 6780760 B1 JP6780760 B1 JP 6780760B1 JP 2019191916 A JP2019191916 A JP 2019191916A JP 2019191916 A JP2019191916 A JP 2019191916A JP 6780760 B1 JP6780760 B1 JP 6780760B1
Authority
JP
Japan
Prior art keywords
commit
processing
transaction
data
suppression
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.)
Active
Application number
JP2019191916A
Other languages
English (en)
Other versions
JP2021068101A (ja
Inventor
小林 哲
哲 小林
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2019191916A priority Critical patent/JP6780760B1/ja
Application granted granted Critical
Publication of JP6780760B1 publication Critical patent/JP6780760B1/ja
Publication of JP2021068101A publication Critical patent/JP2021068101A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】多段オンライントランザクションシステムにおいて全体のスループットを向上させる方法を提供する。【解決手段】情報処理システムは、第1プロセスのトランザクション処理を行う第1装置と、前記第1プロセスの次に実行する第2プロセスのトランザクション処理を行う第2装置と、前記第1プロセスのトランザクション処理に対するコミット処理が実行されるときに前記第2プロセスへ入力される第1プロセスの処理結果が書き込まれる記憶装置と、を備え、第2装置が、第2プロセスのトランザクション処理の遅延状況を所定の基準に基づいて判定し、遅延状況が基準より悪化するとコミット処理の保留を指示するコミット抑止通知を第1装置へ送信する。【選択図】図2

Description

本発明は、情報処理システム、情報処理装置、制御方法およびプログラムに関する。
業務処理等のデータ処理を行うシステムとして、システム内の処理を複数のプロセスに分割し、各プロセスを段階的に実行することで処理を完遂するシステムがある。このようなシステムを多段オンライントランザクションシステムと呼ぶ(以下、多段OLTXシステムと記載する場合がある。)。多段OLTXシステムは、例えば、通信キャリアの利用料金計算システムなど、数分〜数十分単位でまとめて送られてくる大量のデータを処理しなければならない状況で使用されている。多段OLTXシステムでは、各プロセスに割り当てられた処理を実行するとともに、その処理結果として出力されたデータを後段プロセスに提供する。後段プロセスでは、前段プロセスから提供されたデータを入力として処理を実行する。多段OLTXシステムでは、障害時に処理結果データが失われることを防ぐために、前段プロセスから後段プロセスへのデータ受け渡しにディスク型のDB(database)やNAS(Network Attached Storage)が使用される(特許文献1)。
多段OLTXシステム1´の構成例を図1に示す。プロセスAは、入力層のプロセスであり、データ入力装置2から受信した入力データをトランザクションとして処理し、コミット時に後段プロセスであるプロセスB宛てのデータをNAS3に書き込む。コミットが完了したら、データの出力先やデータ数等の情報(メタデータと呼ぶ)をプロセスB宛てに送信する。プロセスBは中間層のプロセスであり、入力層からのメタデータの受信を契機として処理を開始する。ここでは、プロセスAからメタデータを受信し、NAS3から入力データを読み込んでトランザクションとして処理してプロセスC宛ての出力処理を行う。プロセスCは出力層のプロセスであり、中間層からのメタデータの受信を契機として処理を開始する。出力層のプロセスCは、処理結果をデータベース4に書き込み、システム全体としての1つのデータの処理が完了する。このように、多段OLTXシステム1´では、プロセス間のデータ受け渡しでNAS3へのアクセスが発生する。
関連する技術として、特許文献2には、多段OLTXシステムを構成するノード内に共有メモリを設け、後段プロセスの処理が同一ノード内で実行される場合には、前段プロセスが後段プロセスへ共有メモリを介してデータを渡すような構成とすることにより、NASへのアクセス回数を低減する方法が開示されている。また、特許文献3には、1ノード上の処理で1つのデータに対するトランザクション処理が完結するようなシステム構成でのトランザクション処理について、1つのトランザクションで処理するデータ件数を動的に調整する技術が開示されている。
特許第5459613号公報 特開2010−262355号公報 特許第5363485号公報
多段OLTXシステム1´では、プロセスA〜Cのトランザクションが並列して動作するため、複数のプロセスによるNASへの同時アクセスが発生し処理待ちが生じる。処理待ちが長くなるとNASへのアクセスがシステム全体のボトルネックとなる。このような現象への対策としてNASの数を増やして負荷を分散させることが考えられるが、システム構成が高価になる。なお、特許文献2に記載の技術は、その効果が、後段プロセスが同一ノードで実行される場合に限られる。また、特許文献3に記載の技術は、多段OLTXシステムに適用できるものでは無い。
この発明は、上述の課題を解決する情報処理システム、情報処理装置、制御方法およびプログラムを提供することを目的としている。
本発明の一態様によれば情報処理システムは、第1プロセスのトランザクション処理を行う第1装置と、前記第1プロセスの次に実行する第2プロセスのトランザクション処理を行う第2装置と、前記第1プロセスのトランザクション処理に対するコミット処理が実行されるときに前記第2プロセスへ入力される前記第1プロセスの処理結果が書き込まれる記憶装置と、を備え、前記第2装置が、前記第2プロセスのトランザクション処理の遅延状況を所定の基準に基づいて判定し、前記遅延状況が前記基準より悪化すると、コミット処理の保留を指示するコミット抑止通知を前記第1装置へ送信する。
本発明の一態様によれば情報処理装置は、第1プロセスのトランザクション処理を実行し、前記トランザクション処理に対するコミット処理を行うとともに、前記第1プロセスの処理結果を記憶装置に書き込み、前記記憶装置から前記処理結果を読み出して前記第1プロセスの次に実行する第2プロセスへ入力し、前記第2プロセスのトランザクション処理を実行するシステムにおける、前記第2プロセスを実行する情報処理装置であって、前記第2プロセスのトランザクション処理の遅延状況を所定の基準に基づいて判定し、前記遅延状況が前記基準より悪化すると、前記第1プロセスのコミット処理の保留を指示するコミット抑止通知を送信する。
本発明の一態様によれば情報処理装置は、第1プロセスのトランザクション処理を実行し、前記トランザクション処理に対するコミット処理を行うとともに、前記第1プロセスの処理結果を記憶装置に書き込み、前記記憶装置から前記処理結果を読み出して前記第1プロセスの次に実行する第2プロセスへ入力し、前記第2プロセスのトランザクション処理を実行するシステムにおける、前記第1プロセスを実行する情報処理装置であって、前記第1プロセスのコミット処理の保留を指示するコミット抑止通知を受信すると、現在実行中の前記トランザクション処理を継続したまま、次データに対する前記第1プロセスの処理を実行する。
本発明の一態様によれば第1プロセスのトランザクション処理を実行し、前記トランザクション処理に対するコミット処理を行うとともに、前記第1プロセスの処理結果を記憶装置に書き込み、前記記憶装置から前記処理結果を読み出して前記第1プロセスの次に実行する第2プロセスへ入力し、前記第2プロセスのトランザクション処理を実行するシステムの制御方法であって、前記第2プロセスのトランザクション処理の遅延状況を所定の基準に基づいて判定し、前記遅延状況が前記基準より悪化すると、前記第1プロセスのコミット処理の保留を指示するコミット抑止通知を送信する制御方法である。
本発明の一態様によれば、第1プロセスのトランザクション処理を実行し、前記トランザクション処理に対するコミット処理を行うとともに、前記第1プロセスの処理結果を記憶装置に書き込み、前記記憶装置から前記処理結果を読み出して前記第1プロセスの次に実行する第2プロセスへ入力し、前記第2プロセスのトランザクション処理を実行するシステムのコンピュータに、前記第2プロセスのトランザクション処理の遅延状況を所定の基準に基づいて判定し、前記遅延状況が前記基準より悪化すると、前記第1プロセスのコミット処理の保留を指示するコミット抑止通知を送信する処理、を実行させるプログラムである。
本発明によれば、トランザクション処理におけるストレージへのアクセス回数を低減することができる。
一般的な多段オンライントランザクションシステムの一例を示す図である。 本発明の一実施形態に係る多段オンライントランザクションシステムの一例を示す全体構成図である。 本発明の一実施形態に係る中間層の構成の一例を示す図である。 本発明の一実施形態に係る入力層の構成の一例を示す図である。 本発明の一実施形態に係る出力層の構成の一例を示す図である。 本発明の一実施形態に係る閾値格納領域のパラメータ値の一例を示す図である。 本発明の一実施形態におけるパラメータ値の一例を示す第1図である。 本発明の一実施形態におけるパラメータ値の一例を示す第2図である。 本発明の一実施形態における処理の一例を示す第1のフロー図である。 本発明の一実施形態におけるパラメータ値の一例を示す第3図である。 本発明の一実施形態における処理の一例を示す第2のフロー図である。 本発明の一実施形態におけるパラメータ値の一例を示す第4図である。 本発明の一実施形態における処理の一例を示す第3のフロー図である。 本発明の一実施形態における処理の一例を示す第4のフロー図である。 本発明の一実施形態におけるパラメータ値の一例を示す第5図である。 本発明の一実施形態におけるパラメータ値の一例を示す第6図である。 本発明の一実施形態におけるパラメータ値の一例を示す第7図である。 本発明の一実施形態における処理の一例を示す第5のフロー図である。 本発明の一実施形態におけるパラメータ値の一例を示す第8図である。 本発明の一実施形態における処理の一例を示す第6のフロー図である。 本発明の一実施形態におけるパラメータ値の一例を示す第9図である。 本発明の一実施形態におけるパラメータ値の一例を示す第10図である。 本発明の一実施形態に係る情報処理システムの最小構成を示す図である。 本発明の一実施形態に係る情報処理システムのハードウェア構成の一例を示す図である。
<実施形態>
以下、一実施形態に係る多段OLTXシステムについて図2〜図24を参照して説明する。
(システムの全体構成)
図2は、本発明の一実施形態に係る多段オンライントランザクションシステムの一例を示す全体構成図である。
図2に示すように多段OLTXシステム1は、データ入力装置2と、ノードXと、ノードYと、ノードZと、NAS3と、データベース4と、を含んで構成される。多段OLTXシステム1で実行する1つのデータに対する処理はプロセスA〜Cに分割されていて、プロセスA、プロセスB、プロセスCの順に行われて完結する。また、プロセスA〜Cのそれぞれは1つのトランザクション処理として実行される。図1を用いて説明したように、入力層のプロセスAの後段プロセスは中間層のプロセスBであり、プロセスBの後段プロセスは出力層のプロセスCである。反対にプロセスBの前段プロセスはプロセスAであり、プロセスCの前段プロセスはプロセスBである。ノードX〜Zは、それぞれ1台又は複数台のコンピュータで構成される。ノードXではプロセスAが処理され、ノードYではプロセスBが処理され、ノードZではプロセスCが処理される。
多段OLTXシステム1は、図1に示す一般的な多段OLTXシステム1´の構成に加え、入力層以外のプロセスB〜Cについて、前段プロセス宛てにコミット抑止通知を行う機能と、コミット抑止解除通知を行う機能を有している。プロセスB,Cは、後述する3つのトランザクションコミット条件に従い、トランザクションのコミット実行とコミット延期を決定する。次に各層のノードの構成について説明する。
(中間層の構成)
図3は、本発明の一実施形態に係る中間層の構成の一例を示す図である。
図3に中間層のプロセスBを処理する中間層装置100を示す。中間層のノードYは、1台又は複数台の中間層装置100によって構成される。
中間層装置100は、記憶部101と、メタデータ受信部102と、トランザクション管理部103と、コミット抑止・抑止解除通知送信部104と、トランザクション実行部105と、メタデータ送信部110と、コミット抑止・抑止解除通知受信部111と、を備える。
記憶部101は、中間層装置100が備えるメモリである。中間層装置100は、記憶部101のうち、プロセスBに割り当てられるプロセスメモリを使用してプロセスBの処理を行う。プロセスメモリには、メタデータ格納領域120、トランザクション管理データ格納領域121、入力業務データ格納領域122、出力業務データ格納領域123、閾値格納領域124、コミット抑止状態格納領域125の各領域が設けられる。
メタデータ受信部102は、前段プロセス(プロセスA)からメタデータを受信して、プロセスメモリ上のメタデータ格納領域120に格納し、トランザクション管理部103に通知する。メタデータは、データID、データサイズ、NAS3上のデータ格納パスの各情報を含む。データIDは、1以上の整数値であり、昇順に使用され、かつ以前使用されたデータIDが再度使用されることはないものとする。メタデータ格納領域120は、受信したメタデータを保持する領域であり、メタデータ及び未入力データ数を管理する。未入力データ数とは、処理待ちとなっているメタデータの数である。
トランザクション管理部103は、メタデータ格納領域120と閾値格納領域124を参照して、トランザクション管理データ格納領域121を参照・更新し、必要に応じて入力業務データ格納領域122及び出力業務データ格納領域123を初期化する。また、トランザクション管理部103は、コミット抑止・抑止解除通知送信部104が処理を実行した後に、トランザクション実行部105へのトランザクションの実行指示を行う。
次に閾値格納領域124、トランザクション管理データ格納領域121、コミット抑止状態格納領域125にて管理される各パラメータの説明を行う。
閾値格納領域124には、コミット下限値、コミット上限値、コミット抑止通知送信データ数、コミット抑止解除通知送信データ数の各パラメータが格納される。コミット下限値は、1つのトランザクションでコミットするデータ数の最低値であり、トランザクションが一度に入力するデータ数は、コミット下限値に設定されている。コミット上限値は1つのトランザクションでコミット可能な最大のデータ数であり、コミット下限値の倍数で設定されている。コミット抑止通知送信データ数は、前段プロセスへコミット抑止通知を送信するかどうかの判定に用いる閾値である。コミット抑止解除通知送信データ数は、前段プロセスへコミット抑止解除通知を送信するかどうかの判定に用いる閾値である。コミット抑止通知送信データ数及びコミット抑止解除通知送信データ数は、コミット抑止・抑止解除通知送信部104で使用されるパラメータである。
トランザクション管理データ格納領域121には、トランザクション実行状態、トランザクションID、開始データID、終了データIDの各パラメータが格納される。トランザクション実行状態は、トランザクションの状態を示す値であり、「未実行」、「実行中」、「入力待ち」のいずれかの値をとる。例えば、トランザクション実行指示を行う場合には「実行中」に更新される。トランザクションのコミットが延期され、かつ次の入力データがまだ存在しない場合には「入力待ち」に更新される。トランザクションが実行されていない場合には「未実行」に更新される。トランザクションIDはトランザクションの識別値である。開始データIDと終了データIDは、トランザクションが処理中のデータを区別するための識別値である。
コミット抑止状態格納領域125には、「コミット抑止状態」パラメータが格納される。コミット抑止状態は、トランザクションのコミット可否に影響するパラメータであり、「解除」または「抑止」のいずれかの値をとる。例えば、コミット抑止・抑止解除通知受信部111が後段プロセス(プロセスC)からのコミット抑止通知、コミット抑止解除通知を受信すると、コミット抑止状態はそれぞれ「抑止」、「解除」に更新される。
コミット抑止・抑止解除通知送信部104は、メタデータ格納領域120の未入力データ数と、閾値格納領域124に格納されているコミット抑止通知送信データ数と、コミット抑止解除通知送信データ数とを比較し、前段プロセス(プロセスA)宛てにコミット抑止通知またはコミット抑止解除通知を送信する。
トランザクション実行部105は、トランザクションを実行する機能であり、業務データ入力部106と、業務データ処理部107と、コミット可否判定部108と、コミット部109と、から構成される。
まず、トランザクション実行部105が使用するパラメータの説明を行う。
入力業務データ格納領域122は、前段プロセスから入力される業務データ毎のデータID、データサイズ、業務データ及びそのデータ数が格納される。
出力業務データ格納領域123には、後段プロセスへ出力する業務データ毎のデータID、データサイズ、業務データ及びデータ数が格納される。
業務データ入力部106は、トランザクション管理データ格納領域121に設定されている開始データID、終了データIDから処理対象のデータを判別する。業務データ入力部106は、メタデータ格納領域120のメタデータからNAS3に格納された処理対象の業務データを、プロセスメモリ上の入力業務データ格納領域122に読み込み、読み込んだ領域のアドレスとサイズを業務データ処理部107に渡す。
業務データ処理部107は、業務データを入力業務データ格納領域122から取得し、プロセスBで実行すべき処理を行った結果のデータをプロセスメモリ上の出力業務データ格納領域123に書き込む。
コミット可否判定部108は、メタデータ格納領域120と、トランザクション管理データ格納領域121と、コミット抑止状態格納領域125を参照してコミット可否を判定する。コミット可能の場合、コミット可否判定部108は、コミット部109にコミットの実行指示を通知する。コミット延期の場合、コミット可否判定部108は、トランザクション管理部103にトランザクションの継続指示を通知する。
コミット部109は、出力業務データ格納領域123に格納されたデータを、NAS3にまとめて書き込み、メタデータを生成してメタデータ送信部110に通知する。メタデータの通知後、コミット部109は、トランザクション管理部103にトランザクションのコミットを指示する通知を行う。
メタデータ送信部110は、トランザクション実行部105から渡されたメタデータを後段プロセス(プロセスC)宛てに送信する。プロセスCは、送信されたメタデータの受信を契機として実行される。
(入力層の構成)
図4は、本発明の一実施形態に係る入力層の構成の一例を示す図である。
図4に入力層のプロセスAを処理する入力層装置200を示す。入力層のノードXは、1台又は複数台の入力層装置200によって構成される。
入力層装置200は、記憶部201と、データ受信部202と、トランザクション管理部203と、トランザクション実行部205と、メタデータ送信部210と、コミット抑止・抑止解除通知受信部211と、を備える。トランザクション実行部205は、業務データ入力部206と、業務データ処理部207と、コミット可否判定部208と、コミット部209と、を備える。
これらの機能部の各々は、中間層装置100における同様の名称が付された機能部と同様の機能を有している。トランザクション実行部205が備える機能部206〜209についても同様である。以下の説明では、中間層装置100と同じ機能についての説明は省略し、異なる機能についてのみ説明を行う。
なお、入力層には前段プロセスが存在しないため、入力層装置200は、コミット抑止・抑止解除通知送信部104に相当する機能部を有していない。
記憶部201は、入力層装置200が備えるメモリである。入力層装置200は、記憶部201のうち、プロセスAに割り当てられるプロセスメモリを使用してプロセスAの処理を行う。プロセスメモリには、受信データ格納領域220、トランザクション管理データ格納領域221、入力業務データ格納領域222、出力業務データ格納領域223、閾値格納領域224、コミット抑止状態格納領域225の各領域が設けられる。
データ受信部202は、データ入力装置2から業務データ、業務データのデータID及びデータサイズを受信する。データ受信部202は、受信データ格納領域220に受信したデータを格納する。受信データ格納領域220は、メタデータ格納領域120におけるNAS3の格納パスの代わりに業務データをプロセスメモリ上に保持する。
トランザクション管理部203は、トランザクション管理データ格納領域221を更新した後、トランザクション実行部205に処理対象のデータのアドレスとサイズを渡す。
トランザクション実行部205の業務データ入力部206は、トランザクション管理データ格納領域221の開始データIDと終了データIDから処理対象のデータを判別し、受信データ格納領域220の対応する業務データを入力業務データ格納領域222にコピーする。
(出力層の構成)
図5は、本発明の一実施形態に係る出力層の構成の一例を示す図である。
図5に出力層のプロセスCを処理する出力層装置300を示す。出力層のノードZは、1台又は複数台の出力層装置300によって構成される。
出力層装置300は、記憶部301と、メタデータ受信部302と、トランザクション管理部303と、コミット抑止・抑止解除通知送信部304と、トランザクション実行部305と、を備える。トランザクション実行部305は、業務データ入力部306と、業務データ処理部307と、コミット可否判定部308と、コミット部309と、を備える。
これらの機能部の各々は、中間層装置100における同様の名称が付された機能部と同様の機能を有している。以下の説明では、中間層装置100で説明した機能についての説明は省略し、異なる機能についてのみ説明を行う。
記憶部301のうち、プロセスCに割り当てられるプロセスメモリには、メタデータ格納領域320、トランザクション管理データ格納領域321、入力業務データ格納領域322、出力業務データ格納領域323、閾値格納領域324、コミット抑止状態格納領域325の各領域が設けられる。
なお、出力層には後段プロセスが存在しないため、出力層装置300は、メタデータ送信部110、コミット抑止・抑止解除通知受信部111に相当する機能部を有していない。
出力層装置300では、トランザクション実行部305のコミット部309が、データベース4のコミット処理を行う。
(トランザクション処理)
次に多段OLTXシステム1の動作について説明する。
図6は、本発明の一実施形態に係る閾値格納領域のパラメータ値の一例を示す図である。
説明の便宜のため、図6には、入力層、中間層、出力層で共通する閾値を設定する例を示すが、各層ごとに異なる閾値を設定することができる。図示するようにコミット下限値に「1」、コミット上限値に「10」、コミット抑止通知送信データ数に「2」、コミット抑止解除通知送信データ数に「1」が設定されている。これらの値は、入力層の閾値格納領域124、中間層の閾値格納領域224、出力層の閾値格納領域324に格納されている。
以下、各層で実行される処理とともに変化するパラメータ値の遷移を示しつつ、図6に例示する閾値に基づいて行われる前段プロセスへのコミット抑止および抑止解除について説明する。
(処理状況−0)
図7に入力層、中間層、出力層の各プロセスのプロセスメモリの初期状態を示す。プロセスAは入力層のプロセス、プロセスBは中間層のプロセス、プロセスCは出力層のプロセスを表している。
(処理状況−1)
図8に、データ受信部202が、データ入力装置2から5つのデータを受信し、トランザクション管理部203がトランザクション実行部205にトランザクション実行指示を行った後の状態を示す。図7に示すパラメータ値が、図8に示す値となるまでの処理について説明する。
データ受信部202は、受信データ格納領域220に業務データを格納し、未入力データ数を「5」に更新する。その後、データ受信部202は、トランザクション管理部203にデータ受信を通知する。ここで、図9を参照する。図9は、データ受信通知受信時(中間層、出力層の場合にはメタデータ受信通知の受信時)かつトランザクション管理データ格納領域121,221,321のトランザクション実行状態が「未実行」の場合のトランザクション管理部103,203,303の処理フローである。
ここでは、図9を用いて、図7から図8の状態に遷移するときのトランザクション管理部203の処理を説明する。
まず、トランザクション管理部203が、受信データ格納領域220に保持しているデータのうち、最小のデータID(データID=1)をトランザクション管理データ格納領域221の開始データIDに設定する(S100)。
次に、トランザクション管理部203は、受信データ格納領域220の未入力データ数が、閾値格納領域224のコミット下限値以上であるかどうかをチェックする(S101)。コミット下限値以上である場合(S101;Yes)、トランザクション管理データ格納領域221の開始データIDに閾値格納領域224のコミット下限値を加算した値をトランザクション管理データ格納領域221の終了データIDに設定する(S102)。つまり、コミット下限値を単位としてトランザクションに入力するデータ数を決定する。例えば、本例では、未入力データ数(「1」)はコミット下限値(「1」)以上なので、プロセスAの開始データID(「0」)に、コミット下限値(「1」)を加算する。
コミット下限値未満であった場合(S101;No)、トランザクション管理部203は、未入力データをすべて処理するようにトランザクション管理データ格納領域221の終了データIDを設定する(S103)。つまり、トランザクション管理データ格納領域221の開始データIDに未入力データの数を加算し、さらに1を減算した値を終了データIDに設定する。S101〜S103の処理が完了した後、トランザクション管理部203は、トランザクション管理データ格納領域221のトランザクションIDを更新してトランザクション実行状態「実行中」に更新する(S104)。次に入力層以外のプロセスであるかをチェックする(S105)。入力層以外のプロセスの場合(S105;Yes)、コミット抑止・抑止解除通知送信部204の処理を行う。この処理については後述する(図14)。入力層のプロセスの場合(S105;No)、処理を終了する。本例の場合、この判定は「No」となるため処理を終了する。
なお、トランザクション実行状態が「実行中」の場合は何もせず、「入力待ち」の場合の処理については後述する(図20)。トランザクション管理部203は、図9の処理を実行した後、トランザクション実行部205にトランザクションの実行を通知する。
(処理状況−2)
図10に、トランザクション実行部205の処理が完了した後のパラメータの値を示す。図8に示すパラメータ値が、トランザクション実行部205等の処理によって、図10に示すパラメータ値となるまでの処理を説明する。
まず、業務データ入力部206が、データIDがトランザクション管理データ格納領域221の開始データID(「1」)以上で終了データID(「1」)以下である受信データ格納領域220のデータ(データID=1)について、入力業務データ格納領域222にコピーし、業務データのコピーが完了したことを業務データ処理部207に通知する。
次に業務データ処理部207は、入力業務データ格納領域222から業務データを読み込み、プロセスAの処理を行って、後段プロセス(プロセスB)宛ての業務処理の出力を出力業務データ格納領域223に書き込む。ここでは、データID=1のデータについて処理が行われ、1つの出力業務データが格納されたとする。この場合、出力業務データ格納領域のデータ数は「1」になる。業務データ処理部207は、処理が完了した後、コミット可否判定部208に処理完了を通知する。
次に図11を参照して、コミット可否判定部208の処理について説明する。
図11は、コミット可否判定部108、208、308の処理フローを示している。
まず、コミット可否判定部208は、処理済みデータ数がコミット上限値以上かどうかを判定する(S200)。本例の場合、トランザクションの処理済みデータ数(終了データID−開始データID+1)が1であり、閾値格納領域224のコミット上限値(「10」)未満であるため、この判定は「No」となる。S200の判定が「Yes」の場合、S202へ進む。S200の判定が「No」の場合、コミット可否判定部208は、コミット抑止状態格納領域225のコミット抑止状態が「解除」かどうかを判定する(S201)。「解除」の場合(S201;Yes)、コミット部209にコミットを実行するよう通知する(S202)。「解除」ではない場合(S201;No)、トランザクション管理部203にトランザクションを継続するよう通知する(S203)。本例の場合、コミット抑止状態格納領域225のコミット抑止状態が「解除」であるためS201が「Yes」となり、コミット可否判定部208は、コミット部209にコミット実行指示を通知する。
コミット部209は、出力業務データ格納領域223のデータをNAS3に書き込み、メタデータを生成してメタデータ送信部210に通知する。メタデータ送信部210は、プロセスBにメタデータを送信し、メタデータの送信後、トランザクション管理部203にトランザクションコミットを実行したことを通知する。
(処理状況−3)
図12は、プロセスAでトランザクション(トランザクションID=1)がコミットし、トランザクション管理部203が次のトランザクション(トランザクションID=2)の実行をトランザクション実行部205に指示した後の状態と、プロセスBがプロセスAからメタデータを受信し、トランザクション管理部103が、トランザクション実行部105にトランザクション実行指示を行った後の状態を示している。パラメータ値が図10に示す値から図12に示す値となるまでの処理について説明する。
図13は、トランザクション管理部103,203,303がトランザクションコミット通知を受信した場合の処理フローである。図13を用いて上記の状況でのプロセスAの処理について説明する。
まず、トランザクション管理部203は、受信データ格納領域220から、トランザクション管理データ格納領域221に設定されている開始データID以上で、終了データID以下のデータIDを持つデータ(データID=1)を削除し、受信データ格納領域220の未入力データ数(「5」)からトランザクション処理済みのデータ数(「1」)を減算する(S300)。
次に、トランザクション管理部203は、入力業務データ格納領域222及び出力業務データ格納領域223をクリアする(S301)。次に、トランザクション管理部203は、未入力データ数と、閾値格納領域224のコミット下限値とを比較する(S302)。未入力データ数がコミット下限値以上の場合(S302;Yes)、トランザクション管理部203は、開始データIDにコミット下限値を加算した値を終了データIDに設定する(S303)。次にトランザクション管理部203は、トランザクションIDに1を加算し、トランザクション実行状態を「実行中」に更新する(S304)。本例の場合、未入力データ数(「4」)がコミット下限値(「1」)以上なので、S303、S304の処理を行う。
未入力データ数がコミット下限値未満であった場合(S302;No)、トランザクション管理部203は、未入力データ数が0かどうかをチェックし(S305)、0であった場合(S305;Yes)、トランザクション管理データ格納領域221のトランザクション実行状態を「未実行」に更新する(S307)。
0ではなかった場合(S305;No)、トランザクション管理部203は、開始データIDに未入力データ数を加算し、さらに1を減算した値を終了データIDに設定する(S306)。次にトランザクション管理部203は、トランザクションIDに1を加算し、トランザクション実行状態を「実行中」に更新する(S304)。
S302〜S307の処理を実行後、トランザクション管理部203は、入力層以外のプロセスかどうかを判定し(S308)、入力層以外のプロセスの場合(S308;Yes)、コミット抑止・抑止解除通知送信部104,304の処理を実行する(S309)。入力層のプロセスの場合(S308;No)、処理を終了する。本例では、入力層のプロセスAが処理対象のため、S307でトランザクション管理部203がトランザクション実行状態を「未実行」に更新すると、トランザクション実行部205へのトランザクション実行指示は行わない。
次にプロセスBの処理について図9を参照して説明する。
まず、トランザクション管理部103が、メタデータ格納領域120に保持しているデータのうち、最小のデータID(データID=1)をトランザクション管理データ格納領域121の開始データIDに設定する(S100)。次に、トランザクション管理部103は、メタデータ格納領域120の未入力データ数(「1」)が、閾値格納領域124のコミット下限値(「1」)以上であるかどうかをチェックする(S101)。コミット下限値以上なので、トランザクション管理データ格納領域121の開始データIDに閾値格納領域124のコミット下限値を加算した値(「1」)をトランザクション管理データ格納領域121の終了データIDに設定する(S102)。次にトランザクション管理部103は、トランザクション管理データ格納領域121のトランザクションIDを「1」に更新してトランザクション実行状態を「実行中」に更新する(S104)。プロセスBは、入力層以外のプロセスであるため(S105;Yes)。コミット抑止・抑止解除通知送信部104の処理を実行する(S106)。先に図9を参照して説明したトランザクション管理部203による処理と比較して、業務データ入力部106はNAS3からデータを読み込んで入力業務データ格納領域122に書き込む違いがある。
図14にコミット抑止・抑止解除通知送信部104、304の処理(図9のS106、図13のS309に相当)を示す。まず、コミット抑止・抑止解除通知送信部104は、コミット抑止・抑止解除通知が未送信、又は前回コミット抑止解除通知が送信済みかどうかを判定する(S500)。この判定が「Yes」の場合、コミット抑止・抑止解除通知送信部104は、未入力データ数がコミット抑止通知送信データ数以上かどうかを判定する(S501)。この判定が「Yes」の場合、コミット抑止・抑止解除通知送信部104は、前段プロセスへコミット抑止通知を送信する(S502)。S501の判定が「No」の場合、何もしない。
S500の判定が「No」の場合、コミット抑止・抑止解除通知送信部104は、未入力データ数がコミット抑止解除通知送信データ数以上かどうかを判定する(S503)。この判定が「Yes」の場合、コミット抑止・抑止解除通知送信部104は、前段プロセスへコミット抑止解除通知を送信する(S504)。S503の判定が「No」の場合、何もしない。本例の場合、コミット抑止・抑止解除通知を未送信であるため、S500の判定が「Yes」となる。次に、メタデータ格納領域の未入力データ数(「1」)が閾値格納領域124のコミット抑止通知送信データ数(「2」)以下であるため、S501の判定が「No」となり処理を終了する。
(処理状況−4)
図15は、プロセスAのトランザクション(トランザクションID=2)、プロセスBのトランザクション(トランザクションID=1)がそれぞれコミットし、プロセスCのトランザクション(トランザクションID=1)が実行開始まで処理が進んだ状態を示している。プロセスCは出力層のプロセスであるため、トランザクションコミット時はデータベース4のコミット処理が行われる。ここで、データベース4のコミット処理に時間がかかり、プロセスCのトランザクションが遅延したとする。この場合の処理について以下で説明する。
(処理状況−5)
図16は、プロセスCのトランザクションが遅延している間にプロセスA、プロセスBの処理が進み、プロセスCのメタデータ格納領域320の未入力データ数が「3」になった状況を示している。ここで、すべてのプロセスはトランザクションを実行中の状態(コミット前)であるとする。
(処理状況−6)
図17は、プロセスCがトランザクションのコミットを完了し、トランザクション管理部303にトランザクションコミットを通知し、コミット抑止・抑止解除通知送信部304の処理が実行され、プロセスBのコミット抑止・抑止解除通知受信部111が、コミット抑止・抑止解除通知送信部304によって送信されたコミット抑止通知を受信した状態を示している。図14、図18を参照して、コミット抑止通知送信〜受信の処理について説明する。
まず、図14を参照してコミット抑止通知送信の処理について説明する。コミット抑止・抑止解除通知送信部304は、コミット抑止・抑止解除通知を送信していないのでS500の判定は「Yes」となる。次にメタデータ格納領域320の未入力データ数(「2」)が閾値格納領域324のコミット抑止通知送信データ数(「2」)以上であるため、S501の判定は「Yes」となり、コミット抑止・抑止解除通知送信部304は、プロセスB(中間層装置100宛に)にコミット抑止通知を送信する(S502)。
次に図18を参照して、プロセスBのコミット抑止・抑止解除通知受信部111の処理について説明する。コミット抑止・抑止解除通知受信部111,211の処理フローを図18に示す。ここでは処理状況−5〜6におけるコミット抑止・抑止解除通知受信部111の処理を例に説明を行う。
まず、コミット抑止・抑止解除通知受信部111は、コミット抑止通知を受信すると、コミット抑止状態格納領域125のコミット抑止状態を「抑止」に更新する(S600)。次にコミット抑止・抑止解除通知受信部111は、コミット抑止状態が「解除」かどうかを判定する(S601)。「解除」の場合(S601;Yes)、コミット抑止・抑止解除通知受信部111は、トランザクション管理部303にコミット抑止解除を通知する(S602)。「解除」ではない場合(S601;No)、何もしない。本例の場合、コミット抑止状態が「抑止」であるためS601の判定が「No」になり処理を終了する。
(処理状況−7)
図19は、プロセスAでトランザクション(トランザクションID=5)がコミットし、プロセスBのトランザクション(トランザクションID=4)が継続して次のデータ(トランザクションID=5)を処理した状態を示している。プロセスA,Bそれぞれの処理について説明する。
プロセスAについて、トランザクション(トランザクションID=5)がコミットし、データID=5のメタデータが送信され、プロセスBのメタデータ格納領域120の未入力データ数が「2」になる。
プロセスBについて、トランザクション(トランザクションID=4)が、図11のフロー図に従って処理される。コミット可否判定部108は、処理済みデータ数(終了データID−開始データID+1=2)がコミット上限値(「10」)未満(S200;No)、コミット抑止状態格納領域125のコミット抑止状態が「抑止」であるため(S201;No)、トランザクション管理部103にトランザクション継続を通知する(S203)。
ここで、トランザクション管理部103,203,303におけるトランザクション継続通知受信時及びデータ受信時(トランザクション管理部203、303についてはメタデータ受信時)かつトランザクション実行状態が「入力待ち」である場合の処理フローを図20に示す。図20を用いて、トランザクション管理部103がトランザクション継続通知を受信したときの処理を説明する。
トランザクション管理部103は、トランザクションで未処理のデータ数(未入力データ数−処理済みデータ数)がコミット下限値以上かどうかを判定する(S400)。コミット下限値以上の場合(S400;Yes)、トランザクション管理部103は、終了データIDにコミット下限値を加算し、加算後の値を終了データIDに設定する(S401)。コミット下限値未満の場合(S400;No)、トランザクション管理部103は、未入力データ数が0かどうかを判定する(S402)。未入力データ数が0ではない場合(S402;No)、トランザクション管理部103は、終了データIDに未入力データ数を加算した値から処理済みデータ数を減算し、さらに1を減算した値を終了データIDに設定する(S403)。S401またはS403の処理が完了すると、トランザクション管理部103は、トランザクション実行状態を「実行中」に更新する(S404)。
また、未入力データ数が0の場合(S402;Yes)、トランザクション管理部103は、トランザクション実行状態を「入力待ち」に更新する(S405)。
図19の例では、トランザクションで未処理のデータ数、すなわちメタデータ格納領域120の未入力データ数(「2」)−処理済みデータ数(「1」)が1であり、閾値格納領域124のコミット下限値(「1」)以上であるため、S400の判定は「Yes」になり、終了データIDを「5」に設定し(S401)、トランザクション実行状態を「実行中」に更新する(S404)。もし、全データを処理済みで、未入力データ数が0であった場合は、トランザクション管理部103は、トランザクション実行状態を「入力待ち」に更新する(S405)。トランザクション実行状態を「入力待ち」に更新した場合、トランザクション管理部103は、トランザクション実行指示を行わない。
(処理状況−8)
図21は、プロセスCでコミット部309が、データID=2のデータの処理結果をコミットし、コミット抑止・抑止解除通知送信部304がコミット抑止解除通知を送信し、プロセスBではコミット抑止・抑止解除通知受信部211がこれを受信し、プロセスBのトランザクション(トランザクションID=4)で、業務データ処理部107がデータID=5の処理を完了した状態を示している。パラメータ値が図19に示す状態から図21に示す状態となるまでのプロセスC、プロセスBの処理を説明する。
プロセスCのトランザクションがコミットしたことにより、メタデータ格納領域320の未入力データ数が「1」になる。以降の処理については図14を参照して説明する。前回コミット抑止通知を送信済み(S500;No)、未入力データ数(「1」)が閾値格納領域324のコミット抑止解除通知送信データ数(「1」)以下になったため(S503;Yes)、コミット抑止・抑止解除通知送信部304は、前段プロセス(プロセスB)にコミット抑止解除通知を送信する(S504)。
プロセスBについて、図18を参照して説明する。コミット抑止・抑止解除通知受信部111は、コミット抑止状態格納領域125のコミット抑止状態を「解除」に更新する(S600)。コミット抑止状態が「解除」であるため(S601;Yes)、コミット抑止・抑止解除通知受信部111は、トランザクション管理部103にコミット抑止解除を通知する(S602)。コミット抑止解除をトランザクション管理部103に通知するのは、トランザクション管理データ格納領域121のトランザクション実行状態が「入力待ち」でデータ入力を待ち合わせている可能性があるため、コミット抑止解除通知受信を契機としてコミットする必要があるためである。この場合、トランザクション管理部103は、コミット抑止・抑止解除通知受信部111からコミット抑止解除通知を受け、トランザクション実行状態が「入力待ち」の場合にトランザクション実行部105にトランザクションコミット指示を行い、トランザクション実行部105はコミット部109の処理だけを行う(後述するトランザクションコミット条件のコミット条件2)。
プロセスBのトランザクションでは、同一トランザクションの2つ目のデータ(データID=5)についての業務データ処理部107の処理が完了しており、出力業務データ格納領域データ数が2となる。
(処理状況−9)
図22は、プロセスBのトランザクション(トランザクションID=4)のコミットが完了した状態を示している。図21に示す状態から図22に示す状態になるまでの処理について図11を参照して説明する。処理済みデータ数(終了データID−開始データID+1=2)がコミット上限値(「10」)未満で(S200;No)、コミット抑止状態格納領域125のコミット抑止状態が「解除」になったため(S201;Yes)、コミット可否判定部108がコミット部109にコミットを通知し(S202)、コミット部109がコミット処理を行う。この例が示すように、後段プロセス(プロセスC)遅延により、プロセスBでは、出力業務データ格納領域123の2つ分のデータ(ID=4、5)をまとめてNAS3に書き込むことができる。そのためNAS3への書き込み回数を減らすことがでる。また、プロセスCでのNAS3からのデータ読み込み時間の削減を見込むことができる。
(効果)
本実施形態の多段OLTXシステム1によれば、前段プロセスのトランザクションのコミット時に後段プロセスのデータ処理状況に応じてコミットの可否を判定する。これにより、トランザクションが処理するデータ数を動的に調整しコミット回数を最小限に抑え、処理結果のNAS3への書き込み回数を低減し、NAS3の負荷を軽減する。
ここで、トランザクションが処理するデータ数を増やすと全体のコミット回数を減らすことができる。しかし、多段OLTXシステムでは、入力層、中間層、出力層の各プロセスが1つの入力データを処理する時間に偏りがあるため、各プロセス上のトランザクションで処理するデータ数を一律に決定すると、後段プロセスがデータ処理を完了しても前段プロセスのデータ処理が完了しておらず、後段プロセスで待ちが発生し、システム全体のスループットが悪化する可能性がある。また、各プロセスが1データを処理するのに要する時間は、単にCPU時間やメモリアクセス等のノード内の処理条件だけではなく、アクセス先の他システムのサーバやDBサーバの状態によって動的に変化する。
そのため、本実施形態では、入力層、中間層、出力層の各プロセスのトランザクションが処理するデータ数を、後段プロセスの処理状況に応じて動的に変更する。具体的には、トランザクションコミット後に滞留している入力待ちデータの数が閾値(図6のコミット抑止通知送信データ数)以上になった場合、前段プロセスにコミット抑止通知を送信する。前段プロセスはコミット抑止通知を受信するとコミット抑止状態となり、トランザクションが入力データの処理を完了してもコミットを延期し、同じトランザクションで次の入力データの処理を開始する(図11のS203)。これにより、前段プロセスのトランザクションのコミットを抑止し、NAS3への書き込み回数を減らすことができる。
また、後段プロセスは、トランザクションコミット後に滞留している入力待ちデータの数が閾値(図6のコミット抑止解除通知送信データ数)以下になった場合、前段プロセスにコミット抑止解除通知を送信する。前段プロセスはコミット抑止解除通知を受信するとコミット抑止解除状態となり、トランザクションが入力データの処理を完了するとトランザクションをコミットして後段プロセスにデータを出力する。これにより、前段プロセスでの書き込み回数を減らしつつ、後段プロセスで入力待ちの遅延が生じることを防ぐことができる。
前段プロセスのトランザクションコミット時、メタデータ送信部110,210が、データの出力先と出力データ数を後段プロセスに通知するため、後段プロセスでは、前段プロセスから通知されたデータ数から入力済みのデータ数を減算することで滞留データ数を計算可能である。そのため、コミット抑止通知・コミット抑止解除通知の送信にあたって、後段プロセスでは、NAS3への追加的なアクセスが発生することはない。
後段プロセスが動作しているノードのリソースを無駄にすることなくトランザクションのコミット回数を最小限に抑えることができる一方で、後段プロセスのデータ処理時間よりも前段プロセスのデータ処理時間が長い場合、前段プロセスのトランザクションのコミットが頻発してNAS3の負荷が増大する可能性がある(課題a)。また、ノード間のネットワーク障害等で後段プロセスからのコミット抑止解除通知がロストし、トランザクションのサイズが肥大化してリソース不足が発生する可能性がある(課題b)。これらの課題への対策として、本実施形態では、トランザクションの入力データ数の下限値・上限値(図6)を設定し、以下の3つのトランザクションコミット条件を導入している。
(コミット条件1)
コミット抑止解除状態かつ入力データ数がコミット下限値に到達済(図11のS200でNo、S201でYesの場合)。
本実施形態では、データ入力時の最低量として、コミット下限値単位でデータ入力を行ってトランザクション処理を行うこととしているため(図9のS102、図13のS303)、図11の処理フローによってコミット可否を判定することでコミット条件1が満たされる。
(コミット条件2)
コミット抑止解除状態かつ滞留中の入力待ちデータなし(図18のS602の説明)。
本実施形態では、コミット抑止通知を受信しておらず、処理待ちのデータが存在しない場合(入力待ち)、トランザクション処理で処理したデータ数に関わらずコミット処理を実行する。
(コミット条件3)
入力データ数がコミット上限値に到達済み(図11のS200でYesの場合)
本実施形態の多段OLTXシステム1では、コミット条件1〜3の何れか1つの条件を満たせば、コミット処理を行うことができる。例えば、コミット条件1により、上記の課題aに対し、コミット下限値に規定されたデータの単位でコミット処理を行うことが担保され、コミット処理の頻発によるNAS3へのアクセスを抑制することができる。例えば、コミット条件3により、上記の課題bに対処することができる。また、コミット条件2により、無駄な待ち時間による処理の遅延を防ぎ、速やかに後段プロセスへ処理結果を引き継ぎ、後段プロセスの処理を開始することができる。
上記説明したように本実施形態によれば、多段オンライントランザクションシステムにおいて、各層のプロセスが動作するサーバリソースを最大限に利用しつつ、トランザクションのコミット回数を最小限に抑えてNAS3へのアクセス負荷を軽減する。これにより、システム全体のスループットを最大化することができる。
なお、発明の実施例では、中間層のプロセスを1つにした3ノード構成で説明したが、中間層のプロセスは任意の数に拡張することができる。まや、本実施形態の多段OLTXシステム1の適用先は、通信キャリアの利用料金計算システムに限定されない。
図23は、本発明の一実施形態に係る情報処理システムの最小構成を示す図である。
情報処理システム30は、第1装置31と、第2装置32と、記憶装置33とを備える。
第1装置31は、第1プロセスのトランザクション処理を行う。第2装置32は、第1プロセスの次に実行する第2プロセスのトランザクション処理を行う。記憶装置33は、前記第1プロセスのトランザクション処理に対するコミット処理が実行されるときに前記第2プロセスへ入力される前記第1プロセスの処理結果を保持する。
第2装置32は、第2プロセスのトランザクション処理の遅延状況を所定の基準に基づいて判定し、遅延状況が基準より悪化している場合、コミット処理の保留を指示するコミット抑止通知を第1装置31へ送信する。
情報処理システム30によれば、後段の第2プロセスで処理遅延が発生している場合に前段の第1プロセスのトランザクションのコミットを抑止することにより、記憶装置33への書き込み回数を減らすことができる。これにより、記憶装置33へのアクセス競合が減り、システム全体のボトルネックになりやすい記憶装置33へのアクセス時間を削減することができ、システム全体のスループットが向上する。
図24は、本発明の一実施形態に係る情報処理システムのハードウェア構成の一例を示す図である。
コンピュータ900は、CPU901、主記憶装置902、補助記憶装置903、入出力インタフェース904、通信インタフェース905を備える。上述の中間層装置100、入力層装置200、出力層装置300はそれぞれ、コンピュータ900に実装される。そして、上述した各機能部の動作は、プログラムの方式で補助記憶装置903に記憶されている。CPU901は、プログラムを補助記憶装置903から読み出して主記憶装置902に展開し、当該プログラムに従って上記処理を実行する。また、CPU901は、プログラムに従って、記憶領域を主記憶装置902に確保する。また、CPU901は、プログラムに従って、処理中のデータを記憶する記憶領域を補助記憶装置903に確保する。
なお、少なくとも1つの実施形態において、補助記憶装置903は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、入出力インタフェース904を介して接続される磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ900に配信される場合、配信を受けたコンピュータ900が当該プログラムを主記憶装置902に展開し、上記処理を実行しても良い。また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置903に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であっても良い。
その他、本発明の趣旨を逸脱しない範囲で、上記した実施の形態における構成要素を周知の構成要素に置き換えることは適宜可能である。また、この発明の技術範囲は上記の実施形態に限られるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。
1・・・多段オンライントランザクションシステム(多段OLTXシステム)
2・・・データ入力装置
3・・・NAS
4・・・データベース
100・・・中間層装置
200・・・入力層装置
300・・・出力層装置
101、201、301・・・記憶部
102、302・・・メタデータ受信部
202・・・データ受信部
103、203、303・・・トランザクション管理部
104、204、304・・・コミット抑止・抑止解除通知送信部
105、205、305・・・トランザクション実行部
106、206、306・・・業務データ入力部
107、207、307・・・業務データ処理部
108、208、308・・・コミット可否判定部
109、209、309・・・コミット部
110、210、310・・・メタデータ送信部
111、211、311・・・コミット抑止・抑止解除通知受信部
A、B、C・・・プロセス
X、Y、Z・・・ノード
900・・・コンピュータ
901・・・CPU
902・・・主記憶装置
903・・・補助記憶装置
904・・・入出力インタフェース
905・・・通信インタフェース

Claims (10)

  1. 第1プロセスのトランザクション処理を行う第1装置と、前記第1プロセスの次に実行する第2プロセスのトランザクション処理を行う第2装置と、前記第1プロセスのトランザクション処理に対するコミット処理が実行されるときに前記第2プロセスへ入力される前記第1プロセスの処理結果が書き込まれる記憶装置と、を備え、
    前記第2装置が、前記第2プロセスのトランザクション処理の遅延状況を所定の基準に基づいて判定し、前記遅延状況が前記基準より悪化すると、コミット処理の保留を指示するコミット抑止通知を前記第1装置へ送信する、
    情報処理システム。
  2. 前記第1装置が、前記コミット抑止通知を受信すると、現在実行中の前記トランザクション処理を継続したまま、次データに対する前記第1プロセスの処理を実行する、
    請求項1に記載の情報処理システム。
  3. 前記遅延状況が前記基準より良化すると、前記第2装置が、コミット処理の保留を取り消すコミット抑止解除通知を前記第1装置へ送信する、
    請求項1または請求項2に記載の情報処理システム。
  4. 前記第1装置が1回のコミット処理で処理するデータ数の下限値が定められていて、
    前記第1装置は、前記コミット抑止通知を受信していない場合、コミット処理をしていない前記データ数が前記下限値に達すると、コミット処理を実行する、
    請求項1から請求項3の何れか1項に記載の情報処理システム。
  5. 前記第1装置は、前記コミット抑止通知を受信しておらず、前記第1プロセスの実行待ちのデータが存在しない場合、現在の前記トランザクション処理で処理したデータ数に関わらずコミット処理を実行する、
    請求項1から請求項4の何れか1項に記載の情報処理システム。
  6. 前記第1装置が1回のコミット処理で処理するデータ数の上限値が定められていて、
    前記第1装置は、コミット処理をしていない前記データ数が前記上限値に達すると、前記コミット抑止通知を受信しているか否かに関わらず、コミット処理を実行する、
    請求項1から請求項5の何れか1項に記載の情報処理システム。
  7. 第1プロセスのトランザクション処理を実行し、前記トランザクション処理に対するコミット処理を行うとともに、前記第1プロセスの処理結果を記憶装置に書き込み、前記記憶装置から前記処理結果を読み出して前記第1プロセスの次に実行する第2プロセスへ入力し、前記第2プロセスのトランザクション処理を実行するシステムにおける、前記第2プロセスを実行する情報処理装置であって、
    前記第2プロセスのトランザクション処理の遅延状況を所定の基準に基づいて判定し、前記遅延状況が前記基準より悪化すると、前記第1プロセスのコミット処理の保留を指示するコミット抑止通知を送信する、情報処理装置。
  8. 第1プロセスのトランザクション処理を実行し、前記トランザクション処理に対するコミット処理を行うとともに、前記第1プロセスの処理結果を記憶装置に書き込み、前記記憶装置から前記処理結果を読み出して前記第1プロセスの次に実行する第2プロセスへ入力し、前記第2プロセスのトランザクション処理を実行するシステムにおける、前記第1プロセスを実行する情報処理装置であって、
    前記第1プロセスのコミット処理の保留を指示するコミット抑止通知を受信すると、現在実行中の前記トランザクション処理を継続したまま、次データに対する前記第1プロセスの処理を実行する、情報処理装置。
  9. 第1プロセスのトランザクション処理を実行し、前記トランザクション処理に対するコミット処理を行うとともに、前記第1プロセスの処理結果を記憶装置に書き込み、前記記憶装置から前記処理結果を読み出して前記第1プロセスの次に実行する第2プロセスへ入力し、前記第2プロセスのトランザクション処理を実行するシステムの制御方法であって、
    前記第2プロセスのトランザクション処理の遅延状況を所定の基準に基づいて判定し、前記遅延状況が前記基準より悪化すると、前記第1プロセスのコミット処理の保留を指示するコミット抑止通知を送信する、制御方法。
  10. 第1プロセスのトランザクション処理を実行し、前記トランザクション処理に対するコミット処理を行うとともに、前記第1プロセスの処理結果を記憶装置に書き込み、前記記憶装置から前記処理結果を読み出して前記第1プロセスの次に実行する第2プロセスへ入力し、前記第2プロセスのトランザクション処理を実行するシステムのコンピュータに、
    前記第2プロセスのトランザクション処理の遅延状況を所定の基準に基づいて判定し、前記遅延状況が前記基準より悪化すると、前記第1プロセスのコミット処理の保留を指示するコミット抑止通知を送信する処理、を実行させるプログラム。
JP2019191916A 2019-10-21 2019-10-21 情報処理システム、情報処理装置、制御方法およびプログラム Active JP6780760B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019191916A JP6780760B1 (ja) 2019-10-21 2019-10-21 情報処理システム、情報処理装置、制御方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019191916A JP6780760B1 (ja) 2019-10-21 2019-10-21 情報処理システム、情報処理装置、制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JP6780760B1 true JP6780760B1 (ja) 2020-11-04
JP2021068101A JP2021068101A (ja) 2021-04-30

Family

ID=73022370

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019191916A Active JP6780760B1 (ja) 2019-10-21 2019-10-21 情報処理システム、情報処理装置、制御方法およびプログラム

Country Status (1)

Country Link
JP (1) JP6780760B1 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06243072A (ja) * 1993-02-17 1994-09-02 Hitachi Ltd 分散処理システムの分散トランザクションコミット制御方式
JP4394650B2 (ja) * 2006-02-14 2010-01-06 エヌイーシーコンピュータテクノ株式会社 クレジットに基づいたフロー制御方法およびシステム
JP2010262355A (ja) * 2009-04-30 2010-11-18 Nec Corp 多段オンライントランザクションシステム、サーバ、トランザクションデータの入出力方法とそのプログラム
JP6287451B2 (ja) * 2014-03-26 2018-03-07 富士通株式会社 データ受信装置、データ受信装置の制御方法及びデータ送信装置とデータ受信装置とを有するデータ送受信システム
JP6502134B2 (ja) * 2015-03-18 2019-04-17 Necプラットフォームズ株式会社 データ送信制御装置、データ送信制御方法、及び、プログラム

Also Published As

Publication number Publication date
JP2021068101A (ja) 2021-04-30

Similar Documents

Publication Publication Date Title
US10645152B2 (en) Information processing apparatus and memory control method for managing connections with other information processing apparatuses
JP4378335B2 (ja) ディスクへのトランザクション・データ書き込みの方式を動的に切り替える装置、切り替える方法、及び切り替えるプログラム
JP4681374B2 (ja) ストレージ管理システム
JP4639223B2 (ja) ストレージサブシステム
US9535756B2 (en) Latency-hiding context management for concurrent distributed tasks in a distributed system
JP5323554B2 (ja) ジョブ処理方法、ジョブ処理プログラムを格納したコンピュータ読み取り可能な記録媒体、および、ジョブ処理システム
US9378078B2 (en) Controlling method, information processing apparatus, storage medium, and method of detecting failure
EP3087483B1 (en) System and method for supporting asynchronous invocation in a distributed data grid
WO2016063482A1 (ja) アクセラレータ制御装置、アクセラレータ制御方法およびプログラム記憶媒体
US20130006930A1 (en) Transference control method, transference control apparatus and recording medium of transference control program
US8434083B2 (en) Throttling an asynchronous remote copying system
US20170177520A1 (en) System and Method for Efficient Cross-Controller Request Handling in Active/Active Storage Systems
JP5082479B2 (ja) データ一貫性制御システム及びデータ一貫性制御方法
CN114063883A (zh) 存储数据方法、电子设备和计算机程序产品
JP6780760B1 (ja) 情報処理システム、情報処理装置、制御方法およびプログラム
JP2011108014A (ja) 仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理プログラム
JP6175785B2 (ja) ストレージシステム、ディスクアレイ装置及びストレージシステムの制御方法
JP6046523B2 (ja) インメモリ型分散データベース、データ分散方法及びプログラム
JP4392343B2 (ja) メッセージ配布方法、待機系ノード装置およびプログラム
JP2015153280A (ja) レプリケーション制御システム、レプリケーション制御方法、及び、レプリケーション制御プログラム
JP2021099723A (ja) 分散ストレージシステム、データ制御方法及び記憶媒体
CN110543351B (zh) 数据处理方法以及计算机设备
US8150806B2 (en) Idempotent storage replication management
JP2006268588A (ja) クライアントサーバシステムおよびクライアントサーバシステムのデータ処理方法
JP6912105B2 (ja) ディスクアレイシステム、ディスクアレイシステムの制御方法、および、ディスクアレイ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191021

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200904

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200915

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200928

R150 Certificate of patent or registration of utility model

Ref document number: 6780760

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150