JP6412462B2 - トランザクション管理方法、トランザクション管理装置 - Google Patents

トランザクション管理方法、トランザクション管理装置 Download PDF

Info

Publication number
JP6412462B2
JP6412462B2 JP2015085002A JP2015085002A JP6412462B2 JP 6412462 B2 JP6412462 B2 JP 6412462B2 JP 2015085002 A JP2015085002 A JP 2015085002A JP 2015085002 A JP2015085002 A JP 2015085002A JP 6412462 B2 JP6412462 B2 JP 6412462B2
Authority
JP
Japan
Prior art keywords
server
transaction
queue
scale
database server
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
JP2015085002A
Other languages
English (en)
Other versions
JP2016206779A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2015085002A priority Critical patent/JP6412462B2/ja
Publication of JP2016206779A publication Critical patent/JP2016206779A/ja
Application granted granted Critical
Publication of JP6412462B2 publication Critical patent/JP6412462B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、トランザクション管理方法及びトランザクション管理装置に関する。
クラウド環境で構築されるWEB3階層システムにおいて、クライアント端末からの要求を効率よく処理するため、フロントエンド(アプリケーション)でスケールアウトが行われることがある。このような場合に備え、バックエンド(データベース)はスケールアウトを想定した最大規模のサーバを用意する必要があった。しかし、平常時においては最大規模のサーバは不要であり、そのリソースが無駄となる。一方、フロントエンドでのスケールアウトに応じてバックエンドでの処理を停止し、バックエンドのスケールアップを行うことも可能である。しかし、この場合、バックエンドの処理を停止させることによってシステム全体が利用できなくなるため、フロントエンドからのトランザクションをスムーズに処理できない。
ここで、特許文献1には、WEB3階層システムにおいて実行されるフロントエンドのスケールアウトに追従して、Webアプリケーションを止めることなくデータベースをスケールアップする技術が開示されている。また、特許文献2には、トランザクションをメインで処理する本番システムと、同様の処理を実行可能な代行システムとを有する技術が開示されている。特許文献2の技術は、所謂、ハイ・アベイラビリティ方式(以下、「HA方式」という場合がある)の冗長化構成に関するものであり、保守点検作業等によって本番システムを停止させた場合であってもトランザクションの処理を停止する必要はない。
特開2012−215937号公報 特開2010−033398号公報
しかし、特許文献1の技術は、ストリーム型レプリケーション方式(以下、「レプリケーション方式」という場合がある)のシステムを前提としているため汎用性に欠ける。また、レプリケーション方式は冗長化構成を組むためにデータベースをミラーリングしている。よって、一方のデータベースをスケールアップした場合、他方のデータベースもスケールアップされる(データベース同士の同期処理が行われる)。すなわち、必要なリソース量以上にデータベースがスケールアップすることになるため、リソース効率が悪い。
また、特許文献2の技術は、本番システムまたは代行システムをスケールアップさせることを想定していない。
本発明の目的は、フロントエンドでの処理を停止させることなくバックエンドのスケール変更が可能であり、且つバックエンドのリソース効率を高めることが可能な技術を提供することにある。
上記目的を達成するために、本発明に係るトランザクション管理方法は、データベースサーバのスケール変更に伴うトランザクション管理を行うコンピュータが、前記データベースサーバのスケール変更に必要なリソース量を、前記データベースサーバの稼働状況及び所定のアプリケーションサーバの数に基づいて算出するステップと、算出した前記リソース量に応じて前記データベースサーバのスケール変更を行うステップと、前記データベースサーバのスケール変更の開始から完了までに、前記アプリケーションサーバから前記データベース宛てに送信されるトランザクションを所定サイズのキューに溜めておくステップと、前記キューに溜めたトランザクションを前記スケール変更されたデータベースサーバに送信するステップと、を実行する。
また、本発明に係るトランザクション管理装置は、外部装置と通信を行う通信装置と、所定のデータベースサーバのスケール変更に必要なリソース量を、前記データベースサーバの稼働状況及び所定のアプリケーションサーバの数に基づいて算出するリソース量算出処理と、算出した前記リソース量に応じて前記データベースサーバのスケール変更を行うスケール変更処理と、前記データベースサーバのスケール変更の開始から完了までに、前記アプリケーションサーバから前記データベース宛てに送信されるトランザクションを所定サイズのキューに溜めておくキュー処理と、前記キューに溜めたトランザクションを前記スケール変更されたデータベースサーバに送信するトランザクション送信処理と、を実行する演算装置と、を備える。
本発明によれば、必要なリソース量に基づいてバックエンドのスケール変更を行うことにより、バックエンドのリソース効率を高めることができる。また、本発明によれば、バックエンドのスケール変更の開始から完了までに生じるフロントエンドからのトランザクションをキューに溜めることにより、フロントエンドの処理を止めることなく(すなわち、無停止で)バックエンドのスケール変更が可能となる。
実施形態に係るWEB3階層システムの構成を示す図である。 実施形態に係るコンピュータのハードウェア構成を示す図である。 実施形態に係るトランザクション制御サーバの構成を示す図である。 実施形態に係る管理サーバのソフトウェア構成を示す図である。 実施形態に係るDBサーバ管理情報記憶部に記憶されるテーブルデータを示す図である。 実施形態に係る構成管理情報記憶部に記憶されるテーブルデータを示す図である。 実施形態に係るシステム管理情報記憶部に記憶されるテーブルデータを示す図である。 実施形態に係るトランザクションの処理を示すフローチャート例1を示す図である。 実施形態に係るトランザクションの処理を示すフローチャート例2を示す図である。
図1〜図9を参照して、本発明に係る実施形態の構成について説明を行う。本実施形態では、クラウド環境で構築されるWEB3階層システムを例に説明を行う。なお、本明細書において、「アプリケーションサーバ」を「APサーバ」と記載し、「データベースサーバ」を「DBサーバ」と記載する場合がある。また、本発明は、クラウド環境下の仮想化サーバに限らず、物理的なサーバのみによって構成されるシステムにも適用可能である。
<WEB3階層システムの構成>
図1は、WEB3階層システム1の概略構成を示す図である。WEB3階層システム1は、管理システム10、管理サーバ20及び実行サーバ30を含む。各構成は、有線または無線によりネットワークを介して通信可能に接続されている。なお、WEB3階層システム1は、図示しないクライアント端末(ユーザーインターフェース)を含む。
管理システム10は、仮想化基盤11、仮想化基盤12、及びトランザクション制御サーバ13を含む。なお、図1では、一つの管理システム10のみを示しているが、クラウド上に複数の管理システムを設けることも可能である。
仮想化基盤11、仮想化基盤12、トランザクション制御サーバ13、管理サーバ20及び実行サーバ30は、一般的なコンピュータ100により構成される(図2参照)。各構成は個別のコンピュータで実現されていてもよいし、いくつかの構成を一のコンピュータで実現することでもよい。
コンピュータ100は、CPU101(演算装置)、メモリ102、記憶装置103、入力装置104、出力装置105、及び通信装置106を含む。各構成はインターフェース(図示なし)を介してバスBに接続されている。CPU101は、メモリ102に記憶された動作プログラムを実行することにより各種の機能を実現する。メモリ102は、CPU101により実行されるプログラムを記憶したり、プログラムの実行時に各種情報を一時的に記憶したりする装置である。記憶装置103は、各種のデータやプログラムを格納する装置であり、たとえばハードディスクドライブやSSD等である。入力装置104は、キーボードやマウス等である。出力装置105は、ディスプレイ等である。通信装置106は、コンピュータ100をネットワークに接続するためのインタフェースを提供する。コンピュータ100は、ネットワークを介して別のコンピュータ(外部装置)と接続される。
仮想化基盤11は、少なくとも一つのAPサーバを構成する。APサーバは、クライアント端末(図示なし)からの各種指示に基づいてトランザクションを発行する。本実施形態では、仮想化基盤11にAPサーバ11a及びAPサーバ11bが構成されている。
仮想化基盤12は、少なくとも一つのDBサーバを構成する。DBサーバは、APサーバからのトランザクションを処理する。本実施形態では、仮想化基盤12にDBサーバ12a及びDBサーバ12bが構成されている。なお、本実施形態では、通常時はDBサーバ12aのみが使用され、DBサーバ12bはバックアップ用のサーバとしてスタンバイ状態にある。すなわち、本実施形態のシステムはHA方式である。
トランザクション制御サーバ13は、トランザクションを制御するサーバ(所謂、ロードバランサー)である。図3は、トランザクション制御サーバ13の概略構成を示すイメージ図である。トランザクション制御サーバ13は、通信装置106を介してAPサーバからのトランザクションを受信する。受信したトランザクションは、記憶装置103に設けられる所定サイズのキュー200に入る。通常時、トランザクション制御サーバ13は、通信装置106を介し、キュー200に入ったトランザクションを所定のDBサーバ(本実施形態では、DBサーバ12a)に順次送信する。一方、DBサーバのスケール変更時、トランザクション制御サーバ13は、管理サーバ20(トランザクション管理部23。後述)からの指示に基づいて、APサーバから送信されるトランザクションをキュー200に溜める処理を行う。また、トランザクション制御サーバ13は、管理サーバ20(トランザクション管理部23。後述)からの指示に基づいて、キュー200に溜めたトランザクションをスケール変更されたDBサーバに送信する処理を行う。
管理サーバ20は、管理システム10の管理を行う。実行サーバ30は、管理サーバ20からの指示に基づき、APサーバやDBサーバのスケール変更を行う。
図4は、本実施形態に係る管理サーバ20のソフトウェア構成を示す図である。管理サーバ20は、所定のプログラムを実行することにより、DBサーバ管理部21、APサーバ管理部22、トランザクション管理部23として機能する。DBサーバ管理情報記憶部24、構成管理情報記憶部25、システム管理情報記憶部26は、記憶装置103の提供する記憶領域の一部として実現される。
DBサーバ管理部21は、DBサーバに対する監視や各種処理の指示を行う。具体的には、DBサーバ管理部21は、DBサーバの稼働状況(CPUの使用率、メモリの使用率、現在使用されているDBサーバ等)を定期的、或いは任意のタイミングで監視する。DBサーバ管理部21は、取得した稼働状況をDBサーバ管理情報記憶部24或いは構成管理情報記憶部25に書き込む(図5、図6参照)。
また、DBサーバ管理部21は、DBサーバのスケール変更に必要なリソース量を算出する。リソース量の算出は、様々な情報を用いて行うことが可能である。たとえば、リソース量は、現在使用されているDBサーバにおけるCPUやメモリの使用率にAPサーバの数を乗算した値として求めることができる。なお、DBサーバのスケール変更には、DBサーバのCPU、メモリを増設する「スケールアップ」及びDBサーバのCPU、メモリを減らす「スケールダウン」が含まれる。
更に、DBサーバ管理部21は、実行サーバ30に対し、算出したリソース量に応じたスケール変更の指示を行う。たとえば、DBサーバ管理部21は、算出したリソース量を予め設定した閾値(後述)と比較する。算出したリソース量が閾値以上の場合、DBサーバ管理部21は、閾値を超えるリソース量を補えるだけのスケールアップを行うよう、実行サーバ30に対して指示を行う。なお、本実施形態において、リソース量は、トランザクション処理に必要なCPUの使用率及び/またはメモリの使用率として算出することができる。
実行サーバ30は、当該指示に応じてDBサーバのスケール変更を行う。具体例として、使用中のDBサーバ12aにおけるメモリ使用率の閾値が70%であるのに対し、算出されたリソース量(メモリ使用率)が100%であったとする。この場合、実行サーバ30は、スタンバイ中のDBサーバ12bを一端停止させ、閾値を超える30%のリソース量を補えるようスケールアップを行う。
APサーバ管理部22は、APサーバに対する監視や各種処理の指示を行う。具体的には、APサーバ管理部22は、APサーバの数を定期的、或いは任意のタイミングで監視する。APサーバ管理部22は、取得したAPサーバの数を構成管理情報記憶部25に書き込む(図6参照)。
また、APサーバ管理部22は、実行サーバ30に対し、スケール変更の指示を行う。実行サーバ30は、当該指示に基づいてAPサーバのスケール変更を行う。本実施形態におけるAPサーバのスケール変更には、APサーバの数を増やす「スケールアウト」及びAPサーバの数を減らす「スケールイン」が含まれる。
トランザクション管理部23は、トランザクションの処理状況の監視やトランザクション制御サーバ13に対して各種処理を実行するよう指示を行う。具体的には、トランザクション管理部23は、トランザクション制御サーバ13に対し、APサーバからのトランザクションを順次DBサーバに送るように指示する。
また、トランザクション管理部23は、トランザクション制御サーバ13に対し、DBサーバのスケール変更の開始から完了までにAPサーバから送信されるトランザクションをキュー200に溜めるよう指示する。
また、トランザクション管理部23は、トランザクション制御サーバ13に対し、キュー200に溜めたトランザクションをスケール変更されたDBサーバに送信するよう指示する。
また、トランザクション管理部23は、DBサーバにおけるトランザクションの処理状況を監視する。トランザクションの処理状況は、DBサーバ管理情報記憶部24に記憶される。
ここで、トランザクションの処理が行われている場合において、トランザクション管理部23は、システム管理情報記憶部26に記憶されたタイムアウトの時間を経過しているかどうかを確認することも可能である。そして、タイムアウトの時間を経過している場合、トランザクション管理部23は、DBサーバにおいて実行中のトランザクション処理を強制終了させることもできる。
更に、トランザクション管理部23は、DBサーバのスケール変更の開始から完了までにAPサーバから送信されるトランザクションを溜めるために必要なキューサイズを算出することも可能である。キューサイズの算出は、様々な情報を用いて行うことが可能である。たとえば、キューサイズは、一のAPサーバが処理可能な最大のトランザクション数(トランザクション最大数)をAPサーバの数に乗算した値として求めることができる。トランザクション管理部23は、算出したキューサイズに基づいて、キュー200のサイズを変更する。この場合における算出されたキューサイズは、「所定サイズ」の一例である。
DBサーバ管理情報記憶部24は、DBサーバに関する情報を記憶する。図5は、DBサーバ管理情報記憶部24に記憶される情報の一例である。図5に示すように、DBサーバに関する情報はテーブルデータとして記憶することが可能である。具体的には、使用中のDBサーバにおけるCPUの使用率、メモリの使用率及びQuery per second(トランザクションの処理状況)が記憶されている。DBサーバ管理部21は、CPUの使用率及びメモリの使用率を定期的に更新する。トランザクション管理部23は、トランザクションの処理状況を定期的に更新する。
構成管理情報記憶部25は、管理システム10の構成に関する情報を記憶する。図6は、構成管理情報記憶部25に記憶される情報の一例である。図6に示すように、管理システム10に関する情報はテーブルデータとして記憶することが可能である。具体的には、管理システム毎にIDが付与される。そして、管理システム毎に、方式、現在稼働しているAPサーバの数、現在使用しているDBサーバを特定するための情報(DBマスタ)が記憶されている。APサーバ管理部22は、APサーバのスケール変更に伴い、現在稼働しているAPサーバの数を更新する。DBサーバ管理部21は、トランザクションが処理されるDBサーバが変更(たとえばDBサーバ12aからDBサーバ12bに変更)された場合にDBマスタを更新する。
なお、図6に記載されているHot−Plug方式とは、1つのDBサーバからなり、トランザクションの処理を停止することなく、DBサーバのスケール変更が可能となる方式である。
システム管理情報記憶部26は、管理システム10毎に設定された各種の値を記憶する。図7は、システム管理情報記憶部26に記憶される情報の一例である。図7に示すように、各種の値はテーブルデータとして記憶することが可能である。具体的には、管理システム毎にIDが付与される。そして、管理システム毎に、DBサーバで処理されているトランザクションを強制終了させることを許容する時間(「タイムアウト」)、DBサーバのCPUの使用率及びメモリの使用率の最大値(どれくらいの割合まで使用可能とするか。閾値)、トランザクション最大数(キューサイズを算出するために必要な値)が記憶されている。各種値は、たとえばシステムの構築時にユーザが入力装置104等を介して任意の値を入力する。
<トランザクションの管理>
次に、図8及び図9を参照して本実施形態に係るトランザクションの管理について説明する。図8及び図9は、本実施形態におけるトランザクション管理における処理を示すフローチャートである。トランザクションの管理については、たとえば以下の2パターンが想定される。
(DBサーバの稼働状況に応じたトランザクションの管理)
DBサーバ管理部21は、定期的或いは任意のタイミングにおいて、DBサーバ12aのCPUの使用率及びメモリの使用率(稼働状況)を監視する(ステップ10。S10)。監視結果は、DBサーバ管理情報記憶部24に記録される。なお、DBサーバ管理部21は、CPUの使用率又はメモリの使用率のいずれか一方のみを監視することでもよい。
DBサーバ管理部21は、ステップ10で得られたCPUの使用率及びメモリの使用率とシステム管理情報記憶部26に記憶されたそれぞれの閾値との比較を行う(ステップ11。S11)。
いずれの使用率も閾値より低い場合(ステップ11でNの場合)には、現在使用しているDBサーバ12aのリソースが足りている。よって、DBサーバ管理部21は、継続的にDBサーバ12aの稼働状況を監視する。
一方、いずれか一方の使用率が閾値より高い場合(ステップ11でYの場合)には、現在使用しているDBサーバ12aのリソースが足りていない。この場合、DBサーバ管理部21は、DBサーバ12bのスケールアップに必要なリソース量を算出する(ステップ12。S12)。具体的には、DBサーバ管理部21は、ステップ10で得られたDBサーバ12aにおけるCPUの使用率及びメモリの使用率それぞれに対し、構成管理情報記憶部25に記憶されているAPサーバの数を乗算して必要なリソース量(CPUのリソース量とメモリのリソース量)を算出する。
DBサーバ管理部21は、ステップ12で算出したリソース量に応じてDBサーバ12bのスケールアップを指示する(ステップ13。S13)。具体的には、DBサーバ管理部21は、DBサーバ12bを停止させてDBサーバ12bのスケールアップを行うよう実行サーバ30に指示する。実行サーバ30は、不足しているリソース量を補うことができるよう、DBサーバ12bのスケールアップを行う。
ここで、トランザクション管理部23は、トランザクション制御サーバ13に対し、DBサーバ12bのスケールアップの開始から完了までにAPサーバから送信されるトランザクションをキュー200に溜めるよう指示する(ステップ14。S14)。
また、トランザクション管理部23は、DBサーバ12aにおけるトランザクションの処理が全て完了しているかを確認する(ステップ15。S15)。
トランザクションの処理が全て完了している場合(ステップ15でYの場合)、トランザクション管理部23は、DBサーバ12bのスケールアップが完了した後、トランザクション制御サーバ13に対し、キュー200に溜めたトランザクションをスケールアップされたDBサーバ12bに送信するよう指示する(ステップ16。S16)。なお、DBサーバ12bのスケールアップが完了したかどうかは、DBサーバ管理部21が監視する。
一方、トランザクションの処理が一部完了していない場合(ステップ15でNの場合)、トランザクション管理部23は、システム管理情報記憶部26に記憶されたタイムアウトの時間を経過しているかどうかを確認する(ステップ17。S17)。
タイムアウトの時間を経過している場合(ステップ17でYの場合)、トランザクション管理部23は、DBサーバ12aにおいて実行中のトランザクション処理を強制終了させる(ステップ18。S18)。
なお、DBサーバ12bのスケールアップ完了までにDBサーバ12aでの処理が完了する場合もありえる。或いは、キュー200に溜めたトランザクションを処理した後、DBサーバ12aで実行中であったトランザクションの処理を改めて行うことも可能である。すなわち、DBサーバ12aにおけるトランザクションの処理が完了しているかどうかを確認するステップ(ステップ15)は必ずしも必要ではない。
(APサーバのスケール変更に応じたトランザクションの管理)
上述の通り、APサーバ管理部22は、定期的或いは任意のタイミングにおいて、稼働しているAPサーバの数を監視し、取得したAPサーバの数を構成管理情報記憶部25に書き込む。ここでは、APサーバの数が増えた場合を例に説明を行う。
DBサーバ管理部21は、構成管理情報記憶部25に記憶されたAPサーバの数を定期的或いは任意のタイミングで確認する。APサーバの数が増えた場合、DBサーバ管理部21は、APサーバの増加に伴って必要となるリソース量を算出する(ステップ20。S20)。たとえば、DBサーバ管理部21は、DBサーバ管理情報記憶部24に記憶されたDBサーバ12aにおけるCPUの使用率及びメモリの使用率に対し、構成管理情報記憶部25に記憶されているAPサーバの増加した台数を乗算することにより必要となるCPU及びメモリのリソース量(使用率)を算出する。
DBサーバ管理部21は、ステップ20で算出されたリソース量とシステム管理情報記憶部26に記憶された閾値(CPUの使用率及びメモリの使用率)との比較を行う(ステップ21。S21)。
いずれのリソース量も閾値より低い場合(ステップ21でNの場合)には、APサーバを増加しても現在使用しているDBサーバ12aのリソースで足りる。よって、この場合にはDBサーバのスケール変更を行わない。
一方、少なくとも一方のリソース量が閾値より高い場合(ステップ21でYの場合)には、APサーバの増加に伴い現在使用しているDBサーバ12aのリソースが足りなくなる。この場合、DBサーバ管理部21は、ステップ20で算出したリソース量に応じてDBサーバ12bのスケールアップを指示する(ステップ22。S22)。具体的には、DBサーバ管理部21は、DBサーバ12bを停止させてDBサーバ12bのスケールアップを行うよう実行サーバ30に指示する。実行サーバ30は、不足しているリソース量を補うことができるよう、DBサーバ12bのスケールアップを行う。
ここで、APサーバの増加に伴い、DBサーバで処理すべきトランザクションの数も増加する。そこで、トランザクション管理部23は、増加したAPサーバからのトランザクションを含め、全てのトランザクションを溜めるために必要なキューサイズ(キューの所定サイズ)を算出する(ステップ23。S23)。キューサイズは、たとえば、システム管理情報記憶部26に記憶されたトランザクション最大数と、APサーバの数とを乗算することにより求めることができる。たとえば、APサーバの台数が4倍になれば処理対象となるトランザクションの数も最大で4倍となる。
トランザクション管理部23は、トランザクション制御サーバ13に対して、キュー200をステップ23で算出されたキューサイズに変更させる(ステップ24。S24)。
トランザクション管理部23は、DBサーバ12bのスケールアップの開始から完了までにAPサーバから送信されるトランザクションをステップ24でサイズが変更されたキュー200に溜めるよう指示する(ステップ25。S25)。
また、トランザクション管理部23は、DBサーバ12aにおけるトランザクションの処理が全て完了しているかを確認する(ステップ26。S26)。
トランザクションの処理が全て完了している場合(ステップ26でYの場合)、トランザクション管理部23は、DBサーバ12bのスケールアップが完了した後、トランザクション制御サーバ13に対し、キュー200に溜めたトランザクションをスケールアップされたDBサーバ12bに送信するよう指示する(ステップ27。S27)。
一方、トランザクションの処理が一部完了していない場合(ステップ26でNの場合)、トランザクション管理部23は、システム管理情報記憶部26に記憶されたタイムアウトの時間を経過しているかどうかを確認する(ステップ28。S28)。
タイムアウトの時間を経過している場合(ステップ28でYの場合)、トランザクション管理部23は、DBサーバ12aにおいて実行中のトランザクション処理を強制終了させる(ステップ29。S29)。
なお、DBサーバ12aにおけるトランザクションの処理が完了しているかどうかを確認するステップ(ステップ26)は必ずしも必要ではないことは上述の通りである。
このように、本実施形態に係るトランザクションの管理方法によれば、DBサーバの稼働状況やアプリケーションサーバのスケール変更に応じ、適切なリソース量に基づいてDBサーバのスケール変更ができる。すなわち、DBサーバのリソース効率を高めることができる。更に、DBサーバのスケールアップの開始から完了までにAPサーバから送信されるトランザクションをキューに溜めることにより、APサーバ(フロントエンド)での処理を止めることなく、DBサーバ(バックエンド)のスケール変更が可能となる。
なお、上記実施形態では、HA方式の例で説明を行ったが、本発明は、レプリケーション方式やHot−Plug方式にも適用可能である。すなわち、本発明によれば、レプリケーション方式、HA方式、Hot−Plug方式のいずれの構成のDBサーバでもスケール変更が可能である。
レプリケーション方式の場合、上記のフローチャートにおいて、ステップ16またはステップ27の前に以下の処理が追加されることが望ましい。すなわち、DBサーバ管理部21は、スケールアップしたDBサーバ12bが利用可能な状態にあるか(DBサーバ12aと同期がとれているか)を確認する処理を行うことが望ましい。
一方、Hot−Plug方式の場合、DBサーバが一つである。すなわち、トランザクションを送信するDBサーバはスケール変更の前後で変わらない。
また、上記例では主にDBサーバをスケールアップする例について説明を行ったが、スケールダウンの場合でも同様の処理が可能である。たとえば、閾値としてCPUやメモリの使用率の最小値を設けておく。そして、DBサーバの使用率が最小値を下回った場合にDBサーバのスケールダウンを行うことが可能である。或いは、APサーバがスケールインされた場合に応じて、DBサーバのスケールダウンを行ってもよい。
上記の実施形態は、プログラムが前述した各種の処理をコンピュータ又はマイクロプロセッサに実行させることにより実現可能である。この場合、全ての処理をプログラムとして準備していてもよいし、一部の処理をハードウェアに処理させ残りの処理をプログラムとして準備していてもよい。また、実行可能なプログラムが記憶された非一時的なコンピューター可読媒体(non-transitory computer readable medium with an executable program thereon)を用いて、コンピューターにプログラムを供給することも可能である。なお、非一時的なコンピューターの可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、CD−ROM(Read Only Memory)等がある。
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態のトランザクション管理方法において、前記コンピュータが、前記リソース量を、前記データベースサーバの稼働状況及び前記アプリケーションサーバの数に基づいて算出することでもよい。或いは、本実施形態のトランザクション管理装置において、前記演算装置は、前記リソース量算出処理において、前記リソース量を前記データベースサーバの稼働状況及び前記アプリケーションサーバの数に基づいて算出することでもよい。
このように、データベースサーバの稼働状況(CPUやメモリの使用率)及びアプリケーションサーバの数によって、DBサーバをスケール変更する場合の最適なリソース量を求めることが可能となる。
また、本実施形態のトランザクション管理方法において、前記コンピュータが、前記トランザクションを溜めるために必要なキューサイズを前記キューの所定サイズとして算出するステップを更に実行する。或いは、本実施形態のトランザクション管理装置において、前記演算装置は、前記トランザクションを溜めるために必要なキューサイズを前記キューの所定サイズとして算出するキューサイズ算出処理を更に実行する。
このように、トランザクションを溜めるために必要なキューサイズを算出することにより、APサーバ(フロントエンド)が増加した場合であっても処理を止めることなく、DBサーバ(バックエンド)のスケール変更が可能となる。
また、本実施形態のトランザクション管理方法において、前記コンピュータが、前記キューの所定サイズを、前記アプリケーションサーバが処理可能な最大のトランザクション数及び前記アプリケーションサーバの数に基づいて算出する。或いは、本実施形態のトランザクション管理装置において、前記演算装置は、前記キューサイズ算出処理において、前記キューの所定サイズを、前記アプリケーションサーバが処理可能な最大のトランザクション数及び前記アプリケーションサーバの数に基づいて算出する。
このように、アプリケーションサーバが処理可能な最大のトランザクション数及びアプリケーションサーバの数によって、トランザクションを溜めるのに最適なキューサイズ(所定サイズ)を求めることが可能となる。
上記実施形態は、例として提示したものであり、発明の範囲を限定するものではない。これらの構成は、適宜組み合わせて実施することが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。それらの実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 WEB3階層システム
10 管理システム
11、12 仮想化基盤
11a、11b APサーバ
12a、12b DBサーバ
13 トランザクション制御サーバ
20 管理サーバ
21 DBサーバ管理部
22 APサーバ管理部
23 トランザクション管理部
24 DBサーバ管理情報記憶部
25 構成管理情報記憶部
26 システム管理情報記憶部
30 実行サーバ

Claims (6)

  1. データベースサーバのスケール変更に伴うトランザクション管理を行うコンピュータが、
    前記データベースサーバのスケール変更に必要なリソース量を、前記データベースサーバの稼働状況及び所定のアプリケーションサーバの数に基づいて算出するステップと、
    算出した前記リソース量に応じて前記データベースサーバのスケール変更を行うステップと、
    前記データベースサーバのスケール変更の開始から完了までに、前記アプリケーションサーバから前記データベース宛てに送信されるトランザクションを所定サイズのキューに溜めておくステップと、
    前記キューに溜めたトランザクションを前記スケール変更されたデータベースサーバに送信するステップと、
    を実行することを特徴とするトランザクション管理方法。
  2. 前記コンピュータが、
    前記トランザクションを溜めるために必要なキューサイズを前記キューの所定サイズとして算出するステップを更に実行することを特徴とする請求項1に記載のトランザクション管理方法。
  3. 前記コンピュータが、
    前記キューの所定サイズを、前記アプリケーションサーバが処理可能な最大のトランザクション数及び前記アプリケーションサーバの数に基づいて算出することを特徴とする請求項2に記載のトランザクション管理方法。
  4. 外部装置と通信を行う通信装置と、
    所定のデータベースサーバのスケール変更に必要なリソース量を、前記データベースサーバの稼働状況及び所定のアプリケーションサーバの数に基づいて算出するリソース量算出処理と、算出した前記リソース量に応じて前記データベースサーバのスケール変更を行うスケール変更処理と、前記データベースサーバのスケール変更の開始から完了までに、前記アプリケーションサーバから前記データベース宛てに送信されるトランザクションを所定サイズのキューに溜めておくキュー処理と、前記キューに溜めたトランザクションを前記スケール変更されたデータベースサーバに送信するトランザクション送信処理と、を実行する演算装置と、
    を備えることを特徴とするトランザクション管理装置。
  5. 前記演算装置は、
    前記トランザクションを溜めるために必要なキューサイズを前記キューの所定サイズとして算出するキューサイズ算出処理を更に実行することを特徴とする請求項4に記載のトランザクション管理装置。
  6. 前記演算装置は、
    前記キューサイズ算出処理において、前記キューの所定サイズを、前記アプリケーションサーバが処理可能な最大のトランザクション数及び前記アプリケーションサーバの数に基づいて算出することを特徴とする請求項5に記載のトランザクション管理装置。
JP2015085002A 2015-04-17 2015-04-17 トランザクション管理方法、トランザクション管理装置 Active JP6412462B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015085002A JP6412462B2 (ja) 2015-04-17 2015-04-17 トランザクション管理方法、トランザクション管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015085002A JP6412462B2 (ja) 2015-04-17 2015-04-17 トランザクション管理方法、トランザクション管理装置

Publications (2)

Publication Number Publication Date
JP2016206779A JP2016206779A (ja) 2016-12-08
JP6412462B2 true JP6412462B2 (ja) 2018-10-24

Family

ID=57489751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015085002A Active JP6412462B2 (ja) 2015-04-17 2015-04-17 トランザクション管理方法、トランザクション管理装置

Country Status (1)

Country Link
JP (1) JP6412462B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI735519B (zh) * 2017-01-24 2021-08-11 香港商阿里巴巴集團服務有限公司 分散式環境協調消費隊列方法和裝置
JP2020024482A (ja) * 2018-08-06 2020-02-13 京セラドキュメントソリューションズ株式会社 処理実行システムおよび処理実行プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4207596B2 (ja) * 2003-02-21 2009-01-14 株式会社日立製作所 データベースのオンライン構成変更方法
JP2005250548A (ja) * 2004-03-01 2005-09-15 Fujitsu Ltd 中継制御方法、中継制御プログラム、および中継制御装置
JP2007199811A (ja) * 2006-01-24 2007-08-09 Hitachi Ltd プログラム制御方法、計算機およびプログラム制御プログラム
JP3916652B2 (ja) * 2006-10-20 2007-05-16 株式会社日立製作所 リソース割り当てシステム、方法及びプログラム
JP5585195B2 (ja) * 2010-05-12 2014-09-10 日本電気株式会社 トランザクション処理装置、トランザクション処理方法およびトランザクション処理プログラム
JP2012099062A (ja) * 2010-11-05 2012-05-24 Hitachi Ltd サービス連携システムおよび情報処理システム

Also Published As

Publication number Publication date
JP2016206779A (ja) 2016-12-08

Similar Documents

Publication Publication Date Title
US9396039B1 (en) Scalable load testing using a queue
JP5653151B2 (ja) クラウドコンピューティングシステム、クラウドコンピューティングシステムの制御方法、および管理アプリケーション
CN104335137B (zh) 管理计算系统的功耗和性能
US9367501B2 (en) Dynamic streaming data dispatcher
US20080104259A1 (en) Methods and systems for communicating with storage devices in a storage system
JP2013535745A (ja) 高可用性仮想機械環境におけるアプリケーションの高可用性の提供
TWI624757B (zh) 資料處理方法、資料處理系統與電腦程式產品
JP6639245B2 (ja) サーバシステム、サーバシステムを制御する方法およびプログラム。
US20140156853A1 (en) Computer and resource retrieval method
JP2015191324A (ja) ストレージ管理装置、性能調整方法及び性能調整プログラム
US10055313B2 (en) Method and system for session disaster recovery
JP6412462B2 (ja) トランザクション管理方法、トランザクション管理装置
JP7367287B2 (ja) 変更タスクを実行する方法、装置、電子機器、及び読み取り可能な記憶媒体
WO2022199204A1 (zh) 用于确定资源的方法和装置
CN115168256A (zh) 中断控制方法、中断控制器、电子设备、介质和芯片
JP2014078160A (ja) 仮想リソースの組み合わせの決定を支援する装置及び方法
JP2014229088A (ja) データ処理システム、データ処理装置および記憶媒体
US9607068B2 (en) Parallel truncation point management for log based replication
US10002173B1 (en) System and methods for dynamically adjusting between asynchronous and synchronous data replication policies in a networked virtualization environment
JP6848278B2 (ja) ストレージ管理装置、性能調整方法及び性能調整プログラム
US11113106B2 (en) Coordinating distributed task execution
US10795726B2 (en) Processing requests received online and dividing processing requests for batch processing
JP2013186520A (ja) コンピュータシステム、サーバ装置、負荷分散方法、及びプログラム
JP2008210110A (ja) 業務システム及びその実行要求管理方法
JP6786835B2 (ja) 管理装置、サーバ、シンクライアントシステム、管理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180710

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180809

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: 20180904

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180928

R150 Certificate of patent or registration of utility model

Ref document number: 6412462

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150