(57)【要約】  業務処理への影響を抑制しつつ、業務処理の実行と並列にバックアップ処理を行うことを可能とする。  ストレージのＩ／Ｏ性能を記憶しておき((1)参照)、業務処理の実行に伴って加わるストレージのＩ／Ｏ負荷及びＣＰＵの負荷を検出した結果を処理実績情報として収集し((2),(3)参照)、ストレージのＩ／Ｏ性能及び処理実績情報に基づき、バックアップの最新化における処理対象データ量を含む制御パラメータを決定し((4)参照)、データベースの更新差分が記憶されるアーカイブログの更新を検知すると、制御パラメータを参照し、ＣＰＵの遊び率を乗じることで処理対象データ量を補正し、補正後の処理対象のデータ量だけバックアップの最新化を行う。
2015075803.tif 000002
【特許請求の範囲】
【請求項１】
ストレージに対するアクセスの負荷及びプロセッサの負荷を検出する検出部と、
検出された前記ストレージに対するアクセスの負荷及びプロセッサの負荷に基づき、前記ストレージに対するアクセスを伴うバックアップ処理のデータ量を決定する決定部と、
前記データ量に基づいて前記バックアップ処理を行うバックアップ処理部と、
を含む情報処理装置。
【請求項２】
前記決定部は、前記ストレージに対するアクセスの負荷から前記ストレージに対するアクセスの負荷の余裕分を求め、求めた負荷の余裕分に対応する前記バックアップ処理のデータ量に、前記プロセッサの負荷から求まる前記プロセッサの遊び率を乗ずることで、前記バックアップ処理のデータ量を決定する請求項１記載の情報処理装置。
【請求項３】
前記検出部は、単位時間内に生じた前記ストレージに対するアクセスの回数及び個々のアクセスに要した時間を記録する第１記録部を備え、前記単位時間内に生じた前記ストレージに対する個々のアクセスに要した時間の合計値を、前記単位時間内における前記ストレージに対するアクセスの負荷として検出する請求項１又は請求項２記載の情報処理装置。
【請求項４】
前記検出部は、単位時間内に生じた前記ストレージに対するアクセスの回数及び個々のアクセスに要した時間を記録する第１記録部を備え、前記単位時間内に生じた前記ストレージに対する個々のアクセスに要した時間の合計値を、前記単位時間内における前記ストレージに対するアクセスの負荷として検出し、
前記決定部は、前記単位時間から、前記単位時間内に生じた前記ストレージに対する個々のアクセスに要した時間の合計値を減算した使用可能時間を、前記ストレージに対するアクセスの負荷の余裕分として求める請求項２記載の情報処理装置。
【請求項５】
前記ストレージに対して単位時間当りにアクセス可能なデータ量を表すアクセス性能情報を記憶する記憶部を更に備え、
前記決定部は、前記ストレージに対するアクセスの負荷の余裕分として求めた前記使用可能時間に、前記アクセス性能情報が表す単位時間当りにアクセス可能なデータ量を乗ずることで、前記負荷の余裕分に対応する前記バックアップ処理のデータ量を求める請求項４記載の情報処理装置。
【請求項６】
前記検出部は、単位時間内に前記プロセッサが占有された回数及び時間を記録する第２記録部を更に備え、前記処理の実行に伴って前記単位時間内に前記プロセッサが占有された時間の合計値を、前記プロセッサの負荷として検出する請求項１乃至請求項５の何れか１項記載の情報処理装置。
【請求項７】
ストレージに対するアクセスの負荷及びプロセッサの負荷を伴う処理は、第１のストレージに記憶されたデータベースを更新する処理を含み、
前記バックアップ処理は、前記データベースの更新差分を第２のストレージに記憶させる処理を含む請求項１乃至請求項６の何れか１項記載の情報処理装置。
【請求項８】
ストレージに対するアクセスの負荷及びプロセッサの負荷を検出し、
検出した前記ストレージに対するアクセスの負荷及びプロセッサの負荷に基づき、前記ストレージに対するアクセスを伴うバックアップ処理のデータ量を決定し、
前記データ量に基づいて前記バックアップ処理を行う
ことを含む情報処理方法。
【請求項９】
前記ストレージに対するアクセスの負荷から前記ストレージに対するアクセスの負荷の余裕分を求め、求めた負荷の余裕分に対応する前記バックアップ処理のデータ量に、前記プロセッサの負荷から求まる前記プロセッサの遊び率を乗ずることで、前記バックアップ処理のデータ量を決定する請求項８記載の情報処理方法。
【請求項１０】
単位時間内に生じた前記ストレージに対するアクセスの回数及び個々のアクセスに要した時間を記録し、前記単位時間内に生じた前記ストレージに対する個々のアクセスに要した時間の合計値を、前記単位時間内における前記ストレージに対するアクセスの負荷として検出する請求項８又は請求項９記載の情報処理方法。
【請求項１１】
単位時間内に生じた前記ストレージに対するアクセスの回数及び個々のアクセスに要した時間を記録し、前記単位時間内に生じた前記ストレージに対する個々のアクセスに要した時間の合計値を、前記単位時間内における前記ストレージに対するアクセスの負荷として検出し、
前記単位時間から、前記単位時間内に生じた前記ストレージに対する個々のアクセスに要した時間の合計値を減算した使用可能時間を、前記ストレージに対するアクセスの負荷の余裕分として求める請求項９記載の情報処理方法。
【請求項１２】
前記ストレージに対して単位時間当りにアクセス可能なデータ量を表すアクセス性能情報を記憶部に記憶しておき、
前記ストレージに対するアクセスの負荷の余裕分として求めた前記使用可能時間に、前記アクセス性能情報が表す単位時間当りにアクセス可能なデータ量を乗ずることで、前記負荷の余裕分に対応する前記バックアップ処理のデータ量を求める請求項１１記載の情報処理方法。
【請求項１３】
単位時間内に前記プロセッサが占有された回数及び時間を記録し、前記処理の実行に伴って前記単位時間内に前記プロセッサが占有された時間の合計値を、前記プロセッサの負荷として検出する請求項８乃至請求項１２の何れか１項記載の情報処理方法。
【請求項１４】
ストレージに対するアクセスの負荷及びプロセッサの負荷を伴う処理は、第１のストレージに記憶されたデータベースを更新する処理を含み、
前記バックアップ処理は、前記データベースの更新差分を第２のストレージに記憶させる処理を含む請求項８乃至請求項１３の何れか１項記載の情報処理方法。
【請求項１５】
ストレージに対するアクセスの負荷及びプロセッサの負荷を検出し、
検出した前記ストレージに対するアクセスの負荷及びプロセッサの負荷に基づき、前記ストレージに対するアクセスを伴うバックアップ処理のデータ量を決定し、
前記データ量に基づいて前記バックアップ処理を行う
ことを含む処理をコンピュータによって行わせるための情報処理プログラム。
【請求項１６】
前記ストレージに対するアクセスの負荷から前記ストレージに対するアクセスの負荷の余裕分を求め、求めた負荷の余裕分に対応する前記バックアップ処理のデータ量に、前記プロセッサの負荷から求まる前記プロセッサの遊び率を乗ずることで、前記バックアップ処理のデータ量を決定する請求項１５記載の情報処理プログラム。
【請求項１７】
単位時間内に生じた前記ストレージに対するアクセスの回数及び個々のアクセスに要した時間を記録し、前記単位時間内に生じた前記ストレージに対する個々のアクセスに要した時間の合計値を、前記単位時間内における前記ストレージに対するアクセスの負荷として検出する請求項１５又は請求項１６記載の情報処理プログラム。
【請求項１８】
単位時間内に生じた前記ストレージに対するアクセスの回数及び個々のアクセスに要した時間を記録し、前記単位時間内に生じた前記ストレージに対する個々のアクセスに要した時間の合計値を、前記単位時間内における前記ストレージに対するアクセスの負荷として検出し、
前記単位時間から、前記単位時間内に生じた前記ストレージに対する個々のアクセスに要した時間の合計値を減算した使用可能時間を、前記ストレージに対するアクセスの負荷の余裕分として求める請求項１６記載の情報処理プログラム。
【請求項１９】
前記ストレージに対して単位時間当りにアクセス可能なデータ量を表すアクセス性能情報を記憶部に記憶しておき、
前記ストレージに対するアクセスの負荷の余裕分として求めた前記使用可能時間に、前記アクセス性能情報が表す単位時間当りにアクセス可能なデータ量を乗ずることで、前記負荷の余裕分に対応する前記バックアップ処理のデータ量を求める請求項１８記載の情報処理プログラム。
【請求項２０】
単位時間内に前記プロセッサが占有された回数及び時間を記録する第２記録部を更に備え、前記単位時間内に前記プロセッサが占有された時間の合計値を、前記プロセッサの負荷として検出する請求項１５乃至請求項１９の何れか１項記載の情報処理プログラム。
【請求項２１】
ストレージに対するアクセスの負荷及びプロセッサの負荷を伴う処理は、第１のストレージに記憶されたデータベースを更新する処理を含み、
前記バックアップ処理は、前記データベースの更新差分を第２のストレージに記憶させる処理を含む請求項１５乃至請求項２０の何れか１項記載の情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、情報処理プログラム及び記録媒体に関する。
【背景技術】
【０００２】
データベースのデータのバックアップとして、データベースのデータの更新差分をストレージに記憶させる、所謂バックアップの最新化が知られている。バックアップの最新化を含むデータベースのデータのバックアップは、一般に実行中にはコンピュータ・システムに多大な負荷が加わる。従って、データベースへのアクセスを伴う業務処理を実行している時間帯にバックアップを行うと、業務処理の実行に多大な影響を与えることになる。このため、データベースのデータのバックアップは、例えば図１７に示すように、業務処理を実行していない時間帯や業務処理の実行に伴う負荷が比較的低い時間帯(例えば夜間)に、バッチ処理として実行する運用を行うことが一般的であった。【０００３】
但し、バックアップを行う時間帯を業務処理の実行時間帯と分け、バックアップを集中的に行うようにした場合、図１７に示すように、コンピュータ・システムに加わる負荷はバックアップを行っている期間に特に大きくなる。このため、バックアップに伴ってコンピュータ・システムに加わる負荷を平準化したいというニーズがある。また、一定の時間帯にバッチ処理としてバックアップを行う場合、バックアップ処理の実行開始時刻等を設定する作業を行う必要がある。【０００４】
上記に関連して、オペレータによる操作入力が途絶えたり、ＣＰＵ負荷や通信負荷が所定レベル以下になったことに基づき、オペレータによる作業が中断したと推測した場合にバックアップ処理の実行を指示する第１の技術が提案されている。第１の技術は、オペレータによる作業が再開したと推測した場合にバックアップ処理の中止を指示している。【０００５】
また、データアクセス負荷が少なければ、負荷の少ないＩ／Ｏパスを使ってバックアップ処理を一定時間行い、データアクセス負荷が多ければバックアップ処理を一時中断する第２の技術が提案されている。第２の技術は、更新処理中のデータに対してバックアップ処理が行われていないかを監視し、バックアップ処理を検知した場合はバックアップ処理を一時中断し、データ更新完了後にバックアップ処理を再開している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−３４６２１８号公報
【特許文献２】特開２０１０−２６８３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、第１の技術は、オペレータによる作業が再開したと推測した場合にバックアップ処理を中止するので、バックアップ処理を完了させるためには、オペレータによる操作入力が行われない時間帯、例えば夜間にバックアップ処理を行う必要がある。従って、オペレータによる操作入力を含む業務処理を実行可能な時間帯が制約を受けるという課題がある。【０００８】
一方、第２の技術はデータアクセス負荷を監視し、データアクセス負荷が少ない期間にバックアップ処理を行うので、バックアップ処理を行う時間帯は制約されない。但し、バックアップ処理を行った場合にはＣＰＵにも高い負荷が加わる。これに対し、第２の技術は、データアクセス負荷が少なければバックアップ処理を一定時間行うので、バックアップ処理に伴ってＣＰＵに加わる負荷が過大となることで、例として図１８に示すように、処理の限界に達する可能性がある。このように、第２の技術はＣＰＵに加わる負荷を考慮していないので、ＣＰＵに加わる負荷が過大となることで、業務処理に処理遅延等の影響を及ぼす可能性がある。【０００９】
また、第２の技術は、データアクセス負荷が少なければ、データアクセス負荷の値の大小に拘わらずバックアップ処理を一定時間行うので、バックアップ処理を行っている間に、データアクセス負荷やＣＰＵの負荷が過大となる可能性もある。そしてこの場合も、例として図１８に示すように、処理の限界に達したり、処理の限界に近い状態となることで、業務処理に処理遅延等の影響を及ぼすことになる。【００１０】
一つの側面では、本発明は、業務処理への影響を抑制しつつ、業務処理の実行と並列にバックアップ処理を行うことを可能とすることを目的とする。
【課題を解決するための手段】
【００１１】
一態様の情報処理装置は、ストレージに対するアクセスの負荷及びプロセッサの負荷を検出する検出部を備えている。また開示の技術は、検出されたストレージに対するアクセスの負荷及びプロセッサの負荷に基づき、ストレージに対するアクセスを伴うバックアップ処理のデータ量を決定する決定部を備えている。そして開示の技術は、前記データ量に基づいてバックアップ処理を行うバックアップ処理部を備えている。
【発明の効果】
【００１２】
一つの側面として、業務処理への影響を抑制しつつ、業務処理の実行と並列にバックアップ処理を行うことが可能となる、という効果を有する。
【図面の簡単な説明】
【００１３】
【図１】実施形態に係るＤＢサーバの概略構成を示す機能ブロック図である。
【図２】ＤＢサーバとして機能するコンピュータの一例を示す概略ブロック図である。
【図３】ＤＢサーバにおいて、アプリケーションの実行やコマンドの入力に伴い、ＣＰＵに関する処理やＩ／Ｏに関する処理の実行を示す概略図である。
【図４】ＤＢサーバで実行される処理のうち、開示の技術に係る処理の概略を示す概念図である。
【図５】ＣＰＵ処理実績記録処理を示すフローチャートである。
【図６】ＣＰＵ処理実績情報の一例を示す図表である。
【図７】Ｉ／Ｏに関する処理実績情報の収集を説明するための図表である。
【図８】Ｉ／Ｏに関する処理を示すフローチャートである。
【図９】ストレージ及び構成管理情報の一例を示すイメージ図及び図表である。
【図１０】負荷監視処理を示すフローチャートである。
【図１１】負荷監視処理を説明するための図表である。
【図１２】使用可能時間の算出を説明するための説明図である。
【図１３Ａ】負荷監視処理での使用可能時間算出の一例を説明するための説明図である。
【図１３Ｂ】負荷監視処理でのＣＰＵ遊び率算出の一例を説明するための説明図である。
【図１４】バックアップ最新化処理を示すフローチャートである。
【図１５】バックアップ最新化処理及びバックアップ最新化実施処理を説明するための説明図である。
【図１６】開示の技術を適用した場合の業務処理、バックアップ最新化処理、全体処理の負荷の一例を各々示す線図である。
【図１７】バックアップ処理の従来の運用を説明するための線図である。
【図１８】既存技術で業務処理中にバックアップの最新化を行った場合の課題を説明するための線図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。図１には、本実施形態に係るデータベースサーバ(ＤＢサーバ)１０が示されている。ＤＢサーバ１０は、ストレージ１２に記憶されたデータベース１４に対するアクセスを管理する装置(サーバ)である。ＤＢサーバ１０は、データベース管理部１６、アプリケーション１８、ディスプレイ２０、入力デバイス２２、データベース１４を記憶するストレージ１２を含む複数のストレージ１２を備えている。
【００１５】
アプリケーション１８は、業務処理を実現するアプリケーションであり、必要に応じて、例えばＳＱＬ(Structured Query Language)を発行する等により、データベース管理部１６に対してデータベース１４に対するアクセスを指示する。また、入力デバイス２２は、利用者により、データベース１４に対するアクセスを指示するコマンドが、例えばＳＱＬ等の形態で入力される。データベース管理部１６は、アプリケーション１８や、入力デバイス２２を介して利用者から入力されたコマンドからの指示に従い、データベース１４に対するアクセスを管理する処理を行う。また、データベース管理部１６は、データベース１４に対するアクセスに伴って生じた、データベース１４に登録されているデータの更新差分を、アーカイブログ２４としてストレージ１２に記憶させる処理を行う。
【００１６】
更に、ストレージ１２は、データベース１４に登録されているデータの或る時点の複製を、バックアップデータ２６として記憶している。データベース管理部１６は、アーカイブログ２４を更新した場合に、バックアップデータ２６を最新化する処理を行うために、負荷検出部２８、データ量決定部３０、バックアップ処理部３２及び構成管理情報記憶部３４を備えている。
【００１７】
負荷検出部２８は、ストレージ１２を含むＤＢサーバ１０の負荷を検出する。より詳しくは、負荷検出部２８は第１記録部３６及び第２記録部３８を備えている。第１記録部３６は、ストレージ１２に対するアクセスの負荷(Ｉ／Ｏ負荷)を繰り返し検出し、検出したＩ／Ｏ負荷をメモリ４４等に記録する。また第２記録部３８は、ＤＢサーバ１０のＣＰＵ(後述)の負荷を繰り返し検出し、検出したＣＰＵの負荷をメモリ４４等に記録する。
【００１８】
データ量決定部３０は、負荷検出部２８によって検出されたストレージ１２を含むＤＢサーバ１０の負荷に基づいて、バックアップデータ２６を最新化するバックアップ処理における処理対象のデータ量を繰り返し決定する。バックアップ処理部３２は、データ量決定部３０によって決定されたデータ量のデータについて、バックアップデータ２６を最新化するバックアップ処理を行う。構成管理情報記憶部３４は、ＤＢサーバ１０に設けられた複数のストレージ１２の各々の識別情報やＩ／Ｏ性能等を含む構成管理情報を記憶する。構成管理情報記憶部３４に記憶される構成管理情報の一例を図９に示す。
【００１９】
なお、負荷検出部２８は開示の技術における検出部の一例であり、データ量決定部３０は開示の技術における決定部の一例であり、バックアップ処理部３２は開示の技術におけるバックアップ処理部の一例である。また、構成管理情報記憶部３４は開示の技術における記憶部の一例であり、第１記録部３６は開示の技術における第１記録部の一例であり、第２記録部３８は開示の技術における第２記録部の一例である。
【００２０】
ＤＢサーバ１０は、例えば図２に示すコンピュータ４０で実現することができる。コンピュータ４０は複数のコアが設けられたＣＰＵ４２、メモリ４４、不揮発性の記憶部４６、ディスプレイ２０、キーボードやマウス等の入力デバイス２２及びホストバスアダプタ(ＨＢＡ)４７を備えている。ＣＰＵ４２、メモリ４４、記憶部４６、ディスプレイ２０、入力デバイス２２及びホストバスアダプタ４７はバス５０を介して互いに接続されている。ホストバスアダプタ４７はストレージコントローラ４８が接続され、ストレージコントローラ４８には複数のストレージ１２が各々接続されている。
【００２１】
また、記憶部４６はＨＤＤ(Hard Disk Drive)やフラッシュメモリ等によって実現できる。記憶部４６は、ＯＳ(Operating System)のプログラム５２、アプリケーション１８のプログラム５４、ドライバのプログラム５５を記憶している。また記憶部４６は、コンピュータ４０をＤＢサーバ１０のデータベース管理部１６として機能させるためのデータベース管理プログラム５６を記憶し、構成管理情報記憶領域５８及び処理実績情報記憶領域５９が設けられている。ＣＰＵ４２は、データベース管理プログラム５６を記憶部４６から読み出してメモリ４４に展開し、データベース管理プログラム５６が有するプロセスを順次実行する。
【００２２】
データベース管理プログラム５６は、負荷検出プロセス６０、データ量決定プロセス６２及びバックアップ処理プロセス６４を有する。ＣＰＵ４２は、負荷検出プロセス６０を実行することで、図１に示す負荷検出部２８として動作する。またＣＰＵ４２は、データ量決定プロセス６２を実行することで、図１に示すデータ量決定部３０として動作する。またＣＰＵ４２は、バックアップ処理プロセス６４を実行することで、図１に示すバックアップ処理部３２として動作する。また、負荷検出プロセス６０は、より詳しくは第１記録プロセス６６及び第２記録プロセス６８を有する。ＣＰＵ４２は、第１記録プロセス６６を実行することで、図１に示す第１記録部３６として動作する。また、ＣＰＵ４２は、第２記録プロセス６８を実行することで、図１に示す第２記録部３８として動作する。
【００２３】
ＤＢサーバ１０がコンピュータ４０で実現される場合、構成管理情報記憶領域５８は図１に示す構成管理情報記憶部３４として機能する。これにより、データベース管理プログラム５６を実行したコンピュータ４０が、ＤＢサーバ１０として機能することになる。なお、データベース管理プログラム５６は開示の技術における情報処理プログラムの一例である。
【００２４】
本実施形態の作用として、まず図３を参照し、アプリケーション１８や、利用者によって入力されたコマンドからの指示に従って、データベース１４に対してアクセスする処理について説明する。
【００２５】
図３に示すように、アプリケーション１８やコマンドによるデータベース１４へのアクセス指示は、まずサーバプロセス７０に入力され、個々のアクセス指示を実現するＣＰＵ処理プロセスが各々生成される。そして、生成された個々のＣＰＵ処理プロセスは、ＣＰＵ４２に設けられた複数のコアの各々の稼働率に基づき、ＣＰＵ４２の何れかのコアに割り当てられて実行される。
【００２６】
図３では、アプリケーション１８からの指示を実現するＣＰＵ処理プロセス(図３では"アプリケーション実行機能"と表記)がＣＰＵ４２の第１コア及び第２コア(図３ではそれぞれ"CPU1","CPU2"と表記)に割り当てられて実行される例を示している。また図３では、コマンドによるアクセス指示を実現するＣＰＵ処理プロセス(図３では"コマンド実行機能"と表記)がＣＰＵ４２の第３コア(図３では"CPU3"と表記)に割り当てられて実行された例を示している。なお、図３はＣＰＵ４２に４個のコアが設けられた例を示しているが、ＣＰＵ４２に設けられたコアの数は４個に限られるものではない。
【００２７】
また、各ＣＰＵ処理プロセスがＣＰＵ４２の何れかのコアで実行されることで、図３に示すように、データベース１４へのアクセスを要求するＩ／Ｏ要求(図３に示す"アプリケーションＩ／Ｏ制御"や"コマンドＩ／Ｏ制御")がドライバによって各々生成される。また、データベース１４へのアクセスを行うＩ／Ｏ制御プロセスの実行に伴ってデータベース１４のデータが更新される場合には、アーカイブログ２４の更新を要求するＩ／Ｏ要求(図３に示す"アーカイブログＩ／Ｏ制御")もドライバによって生成される。
【００２８】
ドライバは、Ｉ／Ｏ要求を保持するためのＩ／Ｏキュー(図７参照)を複数設けており、ＣＰＵ処理からの要求に応じて生成したＩ／Ｏ要求を何れかのＩ／Ｏキューに一旦投入する。またドライバは、個々のキューに保持されているＩ／Ｏ要求をＩ／Ｏキューへの投入順に個々のＩ／Ｏキューから取り出して対応するＨＢＡ４７へ転送・入力することで、ストレージ１２(データベース１４やアーカイブログ２４)へのアクセスを行わせる。ドライバからＨＢＡ４７へ転送されたＩ／Ｏ要求はストレージコントローラ４８へ転送され、前記Ｉ／Ｏ要求に応じてストレージ１２(データベース１４やアーカイブログ２４)へのアクセス(読み書き)が行われた後に、Ｉ／Ｏ要求に対する応答が転送される。
【００２９】
次に、本実施形態におけるバックアップデータ２６を最新化する処理(バックアップ最新化処理)について説明する。図４に示すように、バックアップ最新化処理は、(1)ストレージ１２の構成管理、(2)ＣＰＵ４２の処理実績情報の収集、(3)Ｉ／Ｏの処理実績情報の収集、(4)負荷監視処理、及び、(5)バックアップ最新化処理を含んでいる。
【００３０】
このうち、「(1)ストレージ１２の構成管理」は、構成管理情報記憶部３４に、複数のストレージ１２の各々の構成管理情報７２(図９参照)が記憶されていることで実現されている。図９に示すように、構成管理情報７２は、ＤＢサーバ１０の個々のストレージ毎に、個々のストレージ１２の識別情報や、Ｉ／Ｏ性能を表す情報を含んでいる。
【００３１】
また「(2)ＣＰＵ４２の処理実績情報の収集」は、ＣＰＵ４２の個々のコアによってＣＰＵ処理プロセスが実行される度に、負荷検出部２８の第２記録部３８により、ＣＰＵ４２のコアＩＤ及び占有時間が処理実績情報記憶領域５９に記録されることで実現される。より詳しくは、ＣＰＵ４２の各コアによってＣＰＵ処理プロセスが実行されることで、図５に示すＣＰＵ処理実績記録処理が実現される。
【００３２】
ＣＰＵ処理実績記録処理は、ステップ１００において、ＣＰＵ４２の何れかのコアへの処理の割り当てが行われ、ステップ１０２において、実処理が行われる。ＣＰＵ４２の個々のコアに割り当てられた処理の実行が終了すると、次のステップ１０６において、第２記録部３８は、処理の実行が終了したＣＰＵ４２のコアのＩＤと、実行が終了した処理によるコアの占有時間を処理実績情報記憶領域５９に記録する。これにより、図６にＣＰＵ処理実績情報１０８として一例を示すように、ＣＰＵ４２の個々のコアのＩＤと対応付けて、個々のコアが占有されていた時間が処理実績情報記憶領域５９に記録される。また、次のステップ１０６ではコンピュータ４０がシャットダウンされるか否か判定され、ステップ１０６の判定が否定された場合はステップ１００に戻ってステップ１００以降を繰り返す。ステップ１０６の判定が肯定された場合はＣＰＵ処理実績記録処理を終了する。
【００３３】
また、図４に示す「(3)Ｉ／Ｏの処理実績情報の収集」は、図７に示す処理によって実現される。すなわち、ＣＰＵ４２の各コアによるＣＰＵ処理プロセスの実行に伴い、ストレージ１２へのアクセスが要求される(図７に示す「Ｉ／Ｏ依頼発行」)度に、ドライバは、Ｉ／Ｏ要求を生成してＩ／Ｏキューへ投入する処理(図７に示すＩ／Ｏ受付処理)を行う。またドライバは、図７に示すＩ／Ｏに関する処理を常に実行している。Ｉ／Ｏに関する処理の詳細を図８に示す。なお、図８に示したドライバによるＩ／Ｏに関する処理は、ＣＰＵ４２の各コア毎に独立に実行される。
【００３４】
Ｉ／Ｏに関する処理のステップ１１０において、ドライバはＩ／Ｏキューを監視し、次のステップ１１１において、ドライバはＩ／ＯキューにＩ／Ｏ要求が残存しているか否かを判定する。Ｉ／ＯキューにＩ／Ｏ要求が残存していない場合はステップ１１１の判定が否定されてステップ１１０に戻り、ステップ１１０,１１１を繰り返す。また、Ｉ／ＯキューにＩ／Ｏ要求が残存している場合は、ステップ１１１の判定が肯定されてステップ１１２へ移行し、ステップ１１２において、ドライバは、Ｉ／Ｏキューに残存しているＩ／Ｏ要求を取り出す。次のステップ１１３において、ドライバは、Ｉ／Ｏキューから取り出したＩ／Ｏ要求に対応して、一定サイズのＩ／Ｏを要求する単位Ｉ／Ｏ要求をＨＢＡ４７へ転送・入力する、Ｉ／Ｏ実処理を行う。
【００３５】
また、次のステップ１１４において、負荷検出部２８の第１記録部３６は、アクセス対象のストレージ１２のＩＤ、Ｉ／Ｏデータ量及びアクセス時間(単位Ｉ／Ｏ要求を転送してから応答を受信する迄のＩ／Ｏ時間)を処理実績情報記憶領域５９に記録する。
ステップ１１５において、ドライバは、ステップ１１２でＩ／Ｏキューから取り出したＩ／Ｏ要求に対応する全ての単位Ｉ／Ｏ要求を出力したか否か判定する。ステップ１１５の判定が否定された場合はステップ１１３に戻り、ステップ１１５の判定が肯定される迄、ステップ１１３〜ステップ１１５が繰り返される。
【００３６】
これにより、ステップ１１２でＩ／Ｏキューから取り出したＩ／Ｏ要求に対応する全ての単位Ｉ／Ｏ要求がＨＢＡ４７へ転送される。また、図７に示すＩ／Ｏ処理実績情報１２０として一例を示すように、アクセスが行われたストレージ１２のＩＤ、Ｉ／Ｏデータ量及びアクセス時間(Ｉ／Ｏ時間)が、ＣＰＵ４２の各コア毎に処理実績情報記憶領域５９に記録される。
【００３７】
ステップ１１２でＩ／Ｏキューから取り出したＩ／Ｏ要求に対応する全ての単位Ｉ／Ｏ要求をＨＢＡ４７へ転送すると、ステップ１１５の判定が肯定されてステップ１１６へ移行し、ステップ１１６において、ドライバは、コンピュータ４０がシャットダウンされるか否かを判定する。ステップ１１６の判定が否定された場合はステップ１１０に戻り、ドライバは、Ｉ／Ｏキューの監視を再開する。
【００３８】
続いて、図４に示す「(4)負荷監視処理」の詳細について、図１０を参照して説明する。負荷監視処理は、データ量決定部３０によって実現され、ＣＰＵ４２の何れかのコアで一定時間毎に実行される。例えば図３では、バックアップ最新化機能を実現するＣＰＵ処理プロセス(図３では"バックアップ最新化機能"と表記)がＣＰＵ４２の第４コア(図３では"CPU4"と表記)に割り当てられて実行された例を示している。
【００３９】
負荷監視処理のステップ１３０において、データ量決定部３０は、処理実績情報記憶領域５９に記憶されているＩ／Ｏ処理実績情報１２０から、バックアップの最新化処理を行うストレージ１２のＩＤが付与されたＩ／Ｏ処理実績情報１２０(一例を図１１に示す)を取得する。次のステップ１３２において、データ量決定部３０は、構成管理情報記憶領域５８から、バックアップの最新化処理を行うストレージ１２の構成管理情報７２(一例を図１１に示す)を取得する。
【００４０】
次のステップ１３４において、データ量決定部３０は、ステップ１３０で取得した情報に基づいて、バックアップの最新化処理に割り当て可能な使用可能時間を次の(１)式に従って演算する。
使用可能時間＝Ｔ0−ΣｔI/O(ｘ)  …(１)
但し、Ｔ0は負荷監視処理の実行周期、ｔI/O(ｘ)はバックアップの最新化処理を行うストレージ１２に対する各回のアクセスにおけるアクセス時間(Ｉ／Ｏ）時間である。例えば、図１２に「使用可能時間の算出」と表記して示す例は、負荷監視処理の実行周期(モニタリング周期)Ｔ0＝200ｍｓ、負荷監視処理を前回実行してからのアクセス回数が３回で、各々のアクセス時間が、20ｍｓ,18ｍｓ,24ｍｓの例を示す。この場合、使用可能時間＝200−(20＋18＋24)＝138ｍｓとなる。
【００４１】
また、図１３Ａには、負荷監視処理の実行周期で２周期分の時間(１周期分の時間＝図１３Ａに示すモニタ時間)におけるストレージ１２に対するアクセスの推移の一例を示す。図１３Ａでは、負荷監視処理の実行周期で１周期目の期間のうち、ストレージ１２に対するアクセスが行われた期間をグレイに着色して示し、ストレージ１２に対するアクセスが行われていない期間を網掛けで示している。先の(１)式は、負荷監視処理の実行周期で１周期目の期間のうち、ストレージ１２に対するアクセスが行われていない、網掛けで示した期間の合計時間(Ｉ／Ｏ余力と見込める時間)を使用可能時間として算出している。
【００４２】
なお、上記の使用可能時間は、開示の技術における「ストレージに対するアクセスの負荷の余裕分」の一例である。上記処理により、ストレージ１２へのアクセス負荷の余裕分を正確に求めることができる。
【００４３】
次のステップ１３６において、データ量決定部３０は、ステップ１３４で演算したバックアップの最新化処理に割り当て可能な使用可能時間に基づき、バックアップの最新化処理における処理対象のデータ量を演算する。なお、バックアップの最新化処理における処理対象のデータ量は、バックアップの最新化処理に割り当て可能な使用可能時間に、ステップ１３２で取得したストレージ１２のＩ／Ｏ性能を乗ずることで演算できる。演算したバックアップの最新化処理における処理対象のデータ量はメモリ４４に記憶させる。上記の処理対象のデータ量は、開示の技術における「ストレージに対するアクセスの負荷の余裕分に対応するバックアップ処理のデータ量」の一例である。
【００４４】
但し、バックアップの最新化処理において、ステップ１３６で演算した処理対象のデータ量のデータのバックアップを行った場合、図１３Ａに負荷監視処理の実行周期で２周期目の期間として示すように、ストレージ１２に対して常にアクセスが行われることになる。従って、ストレージ１２に対するアクセスの負荷が過大となり、業務処理に処理遅延等の悪影響を及ぼす可能性がある。また、上記の処理対象のデータ量は、ＣＰＵ４２の負荷を考慮せずに求めているので、ＣＰＵ４２の負荷が過大となる可能性もある。このため、本実施形態では、後述するように、ＣＰＵ４２の負荷も考慮して、ステップ１３６で演算したバックアップの最新化処理における処理対象のデータ量を補正する。
【００４５】
次のステップ１３８において、データ量決定部３０は、処理実績情報記憶領域５９からＣＰＵ４２の各コア毎のＣＰＵ処理実績情報１０８(一例を図１１に示す)を取得する。また、取得したＣＰＵ処理実績情報１０８に基づいてＣＰＵ４２の各コア毎の遊び率(稼働率の逆数)を次の(２)式に従って演算する。
遊び率＝Σｔidle(ｘ)÷Ｔ0  …(２)
但し、Ｔ0は負荷監視処理の実行周期、ｔidle(ｘ)はコアｘの待機時間である。ＣＰＵ処理実績情報１０８にはＣＰＵ４２のコアが占有されていた時間が記録されているが、ごく短い占有時間が連続している期間はＣＰＵ４２のコアが待機状態になっているとみなし(図１３Ｂも参照)、上記期間の占有時間は待機時間に算入して遊び率を演算する。ＣＰＵ４２の各コア毎に演算した遊び率はメモリ４４に記憶させる。
【００４６】
次のステップ１４０において、データ量決定部３０は、負荷監視処理の次の実行タイミングが到来する迄待機し、実行タイミングが到来するとステップ１３０に戻る。上記の負荷監視処理により、バックアップの最新化処理の制御パラメータ１４２(処理対象のデータ量及びＣＰＵ４２の各コア毎の遊び率：図１１参照)がメモリ４４に記憶されると共に、負荷監視処理の実行周期Ｔ0毎に制御パラメータ１４２の値が更新される。
【００４７】
次に、図４に示す「(5)バックアップ最新化処理」の詳細について、図１４及び図１５を参照して説明する。バックアップ最新化処理は、データ量決定部３０及びバックアップ処理部３２によって実現され、負荷監視処理と同様にＣＰＵ４２の何れかのコアで一定時間毎に実行される。例えば図３では、バックアップ最新化機能を実現するＣＰＵ処理プロセス(図３では"バックアップ最新化機能"と表記)がＣＰＵ４２の第４コア(図３では"CPU4"と表記)に割り当てられて実行された例を示している。
【００４８】
バックアップ最新化処理のステップ１５０において、バックアップ処理部３２は、アーカイブログ２４の更新の有無を検知し、次のステップ１５１において、バックアップ処理部３２は、アーカイブログ２４が更新されたか否か判定する。アーカイブログ２４が更新されていない場合はステップ１５１の判定が否定されてステップ１５０に戻り、ステップ１５０,１５１を繰り返す。アーカイブログ２４が更新された場合はステップ１５１の判定が肯定されてステップ１５２へ移行し、ステップ１５２において、データ量決定部３０はバックアップ最新化情報(制御パラメータ１４２：図１５参照)をメモリ４４から取得する。
【００４９】
次のステップ１５４において、データ量決定部３０は、取得した制御パラメータ１４２に含まれるＣＰＵ４２の各コア毎の遊び率に基づいて、バックアップ最新化実施処理を行わせるコアを特定する。なお、バックアップ最新化実施処理を行わせるコアとしては、取得した制御パラメータ１４２に含まれるＣＰＵ４２の各コア毎の遊び率が最大のコアを適用することができる。
【００５０】
次のステップ１５６において、データ量決定部３０は、取得した制御パラメータ１４２に含まれるバックアップの最新化処理における処理対象のデータ量を、ステップ１５４で特定したコアの遊び率に基づき、次の(３)式に従って補正する。
補正後の処理対象データ量＝補正前の処理対象データ量×コアの遊び率  …(３)
上記の(３)式により、バックアップ最新化実施処理を行わせるコアの遊び率が低くなるに従って、補正後の処理対象データ量が少なくされる。これにより、ストレージ１２に対するアクセスの負荷やバックアップ最新化実施処理を行わせるコアの負荷が過大となり、業務処理に処理遅延等の悪影響を及ぼすことを抑制することができる。
【００５１】
次のステップ１５８において、バックアップ処理部３２は、ステップ１５４で特定したコアにより、図１５に示すバックアップ最新化実施処理を補正後の処理対象データ量だけ行わせる。これにより、アーカイブログ２４の更新データ(データベース１４の更新差分に相当するデータ)が補正後の処理対象データ量だけバックアップデータ２６に追加記憶されることで、バックアップデータ２６が最新化される。バックアップ最新化実施処理を行うと、次のステップ１６０において、バックアップ処理部３２は、バックアップ最新化の１区間が終了したか否か判定する。ステップ１６０の判定が否定されている間はステップ１６０の判定を繰り返す。ステップ１６０の判定が肯定されるとステップ１５０に戻り、バックアップ処理部３２は、アーカイブログ２４の更新の有無を検知する処理を再開する。
【００５２】
上記のように、本実施形態では、業務処理と並行して、ストレージ１２に対するアクセスの負荷及びＣＰＵ４２の各コアの負荷を検出し、検出した負荷に基づいて処理対象データ量を決定してバックアップの最新化を行っている。これにより、例えば図１６に破線で示すように業務処理の実行に伴う負荷が変動した場合にも、バックアップの最新化における処理対象データ量が図１６に二点鎖線で示すように調整されることで、全体の負荷が平準化される。従って、業務処理の実行に伴う負荷が比較的高い環境下でも、ストレージ１２に対するアクセスの負荷やＣＰＵ４２の各コアの負荷が過大となることで、業務処理に悪影響を及ぼすことを抑制しつつ、バックアップの最新化を継続して行うことができる。
【００５３】
また、業務処理と並行してバックアップの最新化を行うことが可能となることで、夜間等に業務処理の実行を停止する期間を設け、当該期間にバックアップの最新化を行う等の運用を行う必要もなくなる。
【００５４】
なお、上記では開示の技術に係る情報処理装置の一例としてＤＢサーバ１０を適用した態様を説明したが、これに限定されるものではなく、ＷＥＢサーバやアプリケーションサーバ、パーソナルコンピュータ等を適用することも可能である。
【００５５】
また、上記ではＣＰＵ４２に複数のコアが設けられた構成を説明したが、これに限定されるものでもなく、ＣＰＵは単一のコアが設けられた構成であってもよい。また、上記ではストレージ１２が複数設けられた構成を説明したが、これに限定されるものではなく、ストレージが１台のみ設けられた構成に適用することも可能である。
【００５６】
また、上記では開示の技術に係る情報処理プログラムの一例であるデータベース管理プログラムがＤＢサーバ１０の記憶部４６に予め記憶（インストール）されている態様を説明した。しかし、開示の技術は上記態様に限定されるものではなく、開示の技術に係る情報処理プログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体に記録されている形態で提供することも可能である。
【００５７】
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
【図１】
2015075803.tif 000003
【図２】
2015075803.tif 000004
【図３】
2015075803.tif 000005
【図４】
2015075803.tif 000006
【図５】
2015075803.tif 000007
【図６】
2015075803.tif 000008
【図７】
2015075803.tif 000009
【図８】
2015075803.tif 000010
【図９】
2015075803.tif 000011
【図１０】
2015075803.tif 000012
【図１１】
2015075803.tif 000013
【図１２】
2015075803.tif 000014
【図１４】
2015075803.tif 000015
【図１５】
2015075803.tif 000016
【図１６】
2015075803.tif 000017
【図１７】
2015075803.tif 000018
【図１８】
2015075803.tif 000019
【図１３Ａ】
2015075803.tif 000020
【図１３Ｂ】
2015075803.tif 000021
【国際調査報告】
2015075803.tif 000022
2015075803.tif 000023
2015075803.tif 000024
2015075803.tif 000025