(57)【要約】【課題】処理に与えられた時間を有効に使用してデータに対する処理を実行する。【解決手段】コンピュータが、記憶装置に格納されるデータ群に対して実行され、該データ群を所定の単位で分けた１単位のデータごとに実行される処理において、該処理が終了した１又は複数の単位のそれぞれの処理実績時間を格納手段に蓄積する蓄積ステップと、次の処理対象の単位の処理に掛る予測時間を格納手段に蓄積されている過去の処理実績時間に基づいて取得する取得ステップと、予測時間に基づいて、次の処理対象の単位の処理が所定時間内に終了するか否かを判定し、次の処理対象の単位の処理が所定時間内に終了すると判定した場合に、次の処理対象の単位の処理の実行を決定し、次の処理対象の単位の処理が所定時間内に終了しないことを判定した場合に、データ群に対する処理の終了を決定する判定ステップと、を実行する。【選択図】図３
2014167714.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置に格納されるデータ群に対して実行され、該データ群を所定の単位で分けた１単位のデータごとに実行される処理において、該処理が終了した１又は複数の単位のそれぞれの処理実績時間を格納手段に蓄積する蓄積部と、
次の処理対象の単位の処理に掛る予測時間を前記格納手段に蓄積されている過去の処理実績時間に基づいて取得する取得部と、
前記予測時間に基づいて、前記次の処理対象の単位の処理が所定時間内に終了するか否かを判定し、前記次の処理対象の単位の処理が前記所定時間内に終了すると判定した場合に、前記次の処理対象の単位の処理の実行を決定し、前記次の処理対象の単位の処理が前記所定時間内に終了しないことを判定した場合に、前記データ群に対する処理の終了を決定する判定部と、
を備える情報処理装置。
【請求項２】
前記取得部は、所定の範囲外である前記処理実績時間を、前記予測時間の算出に用いない、
請求項１に記載の情報処理装置。
【請求項３】
所定の条件が満たされた場合に、前記取得部及び前記判定部は、起動する、
請求項１又は２に記載の情報処理装置。
【請求項４】
所定の条件が満たされるまで、
前記取得部及び前記判定部は、次の処理対象の所定数の単位について、それぞれ、前記予測時間の取得及び前記判定を繰り返し行い、
前記所定の条件が満たされた場合に、
前記取得部及び前記判定部は、次の処理対象の１単位について、それぞれ、前記予測時間の取得及び前記判定を繰り返し行い、前記判定部は、前記判定において、前記次の処理対象の１単位の処理が前記所定時間内に終了すると判定した場合に、前記次の処理対象の１単位の処理の実行を決定し、前記次の処理対象の１単位の処理が前記所定時間内に終了しないことを判定した場合に、前記データ群に対する処理の終了を決定する、
請求項１又は２に記載の情報処理装置。
【請求項５】
前記所定の条件は、前記処理が終了した単位の数が閾値に達することである、
請求項３又は４に記載の情報処理装置。
【請求項６】
前記所定の条件は、前記所定時間の残り時間が所定閾値未満になることである、
請求項３又は４に記載の情報処理装置。
【請求項７】
前記取得部及び前記判定部は、次の処理対象の所定数の単位について、それぞれ、前記予測時間の取得及び前記判定を繰り返し行い、
前記次の処理対象の所定数の単位の処理が前記所定時間内に終了しないことが判定された場合には、前記取得部及び前記判定部は、前記処理対象の単位の処理の実行が判定されるまで、又は、前記所定数が１になるまで、前記所定数を１ずつ減らして、それぞれ、前記予測時間の取得及び前記判定を行う、
請求項１又は２に記載の情報処理装置。
【請求項８】
記憶装置に格納されるデータ群に対して実行され、該データ群を所定の単位で分けた１単位のデータごとに実行される処理において、該処理が終了した１又は複数の単位のそれぞれの処理実績時間を格納手段に蓄積する蓄積部と、
次の処理対象の単位の処理に掛る予測時間を前記格納手段に蓄積されている過去の処理
実績時間に基づいて取得する取得部と、
前記予測時間に基づいて、前記次の処理対象の単位の処理が所定時間内に終了するか否かを判定し、前記次の処理対象の単位の処理が前記所定時間内に終了すると判定した場合に、前記次の処理対象の単位の処理の実行を決定し、前記次の処理対象の単位の処理が前記所定時間内に終了しないことを判定した場合に、前記データ群に対する処理の終了を決定する判定部と、
を備える情報処理システム。
【請求項９】
コンピュータが、
記憶装置に格納されるデータ群に対して実行され、該データ群を所定の単位で分けた１単位のデータごとに実行される処理において、該処理が終了した１又は複数の単位のそれぞれの処理実績時間を格納手段に蓄積する蓄積ステップと、
次の処理対象の単位の処理に掛る予測時間を前記格納手段に蓄積されている過去の処理実績時間に基づいて取得する取得ステップと、
前記予測時間に基づいて、前記次の処理対象の単位の処理が所定時間内に終了するか否かを判定し、前記次の処理対象の単位の処理が前記所定時間内に終了すると判定した場合に、前記次の処理対象の単位の処理の実行を決定し、前記次の処理対象の単位の処理が前記所定時間内に終了しないことを判定した場合に、前記データ群に対する処理の終了を決定する判定ステップと、
を実行する情報処理方法。
【請求項１０】
コンピュータに、
記憶装置に格納されるデータ群に対して実行され、該データ群を所定の単位で分けた１単位のデータごとに実行される処理において、該処理が終了した１又は複数の単位のそれぞれの処理実績時間を格納手段に蓄積する蓄積ステップと、
次の処理対象の単位の処理に掛る予測時間を前記格納手段に蓄積されている過去の処理実績時間に基づいて取得する取得ステップと、
前記予測時間に基づいて、前記次の処理対象の単位の処理が所定時間内に終了するか否かを判定し、前記次の処理対象の単位の処理が前記所定時間内に終了すると判定した場合に、前記次の処理対象の単位の処理の実行を決定し、前記次の処理対象の単位の処理が前記所定時間内に終了しないことを判定した場合に、前記データ群に対する処理の終了を決定する判定ステップと、
を実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ管理を行うための情報処理装置、情報処理システム、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【０００２】
データベース及びデータセンタでは、例えば、所定の周期で、不要となったデータを削除するハウスキープ処理が実行される。ハウスキープ処理が行われないと、膨大なデータが記憶手段を逼迫し、システム全体のパフォーマンスが低下するおそれがある。
【０００３】
ハウスキープ処理は、途中で停止するとデータベース内が不整合な状態となるおそれがあるため、一旦開始した後は途中で停止することができない。また、ハウスキープ処理の実行によって、システム内の他の処理に影響を与えるおそれがあるため、例えば、業務時間帯等を避けて、予め実行可能な期間が指定されることが多い。
【０００４】
上記のようなハウスキープ処理の特性のため、従来、ハウスキープ処理では、予め指定された期間内に処理が終了するように、処理完了までに要する時間を予測して、１回のハウスキープ処理で処理可能なデータ量を算出して、膨大な量のデータの中からハウスキープ処理の対象となるデータが抽出されていた。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１５０７１１号公報
【特許文献２】特開平１１−５３２２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来からの方法では、以下のような問題があった。例えば、並行して稼働している業務処理量が多い場合には、ハウスキープ処理に割り当てられるシステムのリソースが少なくなるため、ハウスキープ処理に掛る時間が長くなる。その結果、指定された期間が過ぎてもハウスキープ処理が稼動し続けてしまい、他の処理に影響を与えてしまうことがある。又は、処理対象データ量が多い場合にも、指定された期間が過ぎてもハウスキープ処理が稼動し続けてしまうことがある。
【０００７】
指定された期間が過ぎてもハウスキープ処理が稼動し続ける場合には、例えば、処理を強制終了させるコマンドオペレーションの実行や、該強制終了によるデータベースの不整合状態の回復作業等、人的オペレーションによる対応が行われる。
【０００８】
また、例えば、並行して稼働している業務処理量が少ない場合や、処理対象データ量が少ない場合には、ハウスキープ処理が終了しても指定された期間までの時間が余ることがある。しかしながら、１回で処理されるデータ量は予め決められており、時間が余ったとしても、それ以上のデータを処理することができなかった。また、ハウスキープ処理によってデータベースの記憶容量を空けたいにもかかわらず、指定された期間を有効に使用することができなかった。
【０００９】
本発明は、上記した問題に鑑み、処理に与えられた時間を有効に使用可能な情報処理装置、情報処理システム、情報処理方法及び情報処理プログラムを提供することを課題とす
る。
【課題を解決するための手段】
【００１０】
本発明の態様の一つは、記憶装置に格納されるデータ群に対して実行され、該データ群を所定の単位で分けた１単位のデータごとに実行される処理において、該処理が終了した１又は複数の単位のそれぞれの処理実績時間を格納手段に蓄積する蓄積部と、次の処理対象の単位の処理に掛る予測時間を格納手段に蓄積されている過去の処理実績時間に基づいて取得する取得部と、予測時間に基づいて、次の処理対象の単位の処理が所定時間内に終了するか否かを判定し、次の処理対象の単位の処理が所定時間内に終了すると判定した場合に、次の処理対象の単位の処理の実行を決定し、次の処理対象の単位の処理が所定時間内に終了しないことを判定した場合に、データ群に対する処理の終了を決定する判定部と、を備える情報処理装置である。
【００１１】
本発明の態様の一つによれば、処理に与えられた所定時間を超えて、データ群に対する処理は実行されず、また、データ群に対する処理が終了した時点での所定時間の剰余も１単位に要する時間未満に抑えられるため、処理に与えられた時間を有効に使用することができる。また、処理実績時間には、該処理実行時の並行稼動の業務処理量の影響が反映されるため、過去の処理実績時間に基づいて、次の単位の処理に掛る予測時間を算出することによって、現状の並行稼動の業務処理量が考慮されるので、次の単位の処理に掛る予測時間をより精度良く算出することができる。
【００１２】
本発明の態様の一つにおいて、情報処理装置の取得部は、所定の範囲外である前記処理実績時間を、前記予測時間の算出に用いないようにしてもよい。これによって、次の単位の処理に掛る予測時間の算出に用いられる、格納手段に蓄積された処理実績時間が所定の範囲内に収まり、次の単位の処理に掛る予測時間をより精度良く算出することができる。
【００１３】
本発明の態様の一つの情報処理装置において、所定の条件が満たされた場合に、取得部及び判定部は、起動するようにしてもよい。又は、該所定の条件が満たされるまで、取得部及び判定部は、次の処理対象の所定数の単位について、それぞれ、予測時間の取得及び前記判定を繰り返し行い、所定の条件が満たされた場合に、取得部及び判定部は、次の処理対象の１単位について、それぞれ、予測時間の取得及び前記判定を繰り返し行い、判定部は、前記判定において、次の処理対象の１単位の処理が所定時間内に終了すると判定した場合に、次の処理対象の１単位の処理の実行を決定し、次の処理対象の１単位の処理が所定時間内に終了しないことを判定した場合に、データ群に対する処理の終了を決定するようにしてもよい。所定の条件は、例えば、処理が終了した単位の数が閾値に達することである。又は、所定の条件は、所定時間の残り時間が所定閾値未満になることである。これによって、データ群に対する処理において、取得部及び判定部の処理の回数が減り、情報処理装置の負荷を抑えることができる。
【００１４】
本発明の態様の一つの情報処理装置において、取得部及び判定部は、次の処理対象の所定数の単位について、それぞれ、予測時間の取得及び前記判定を繰り返し行い、次の処理対象の所定数の単位の処理が所定時間内に終了しないことが判定された場合には、取得部及び判定部は、次の処理対象の単位の処理の実行が判定されるまで、又は、所定数が１になるまで、所定数を１ずつ減らして、予測時間の取得及び前記判定を行うようにしてもよい。これによって、データ群に対する処理において、取得部及び判定部の処理の回数が減り、情報処理装置の負荷を抑えることができる。
【００１５】
更に、本発明は、態様の一つとして、システム、方法、装置、又はプログラムとしても把握することが可能である。また、本発明の態様の一つは、上述のプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものでもよい。ここで、
コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、又は化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
【発明の効果】
【００１６】
本発明によれば、処理に与えられた時間を有効に使用することができる。
【図面の簡単な説明】
【００１７】
【図１】実施形態に係るデータ管理システムの構成例を示す図である。
【図２】実施形態に係る情報処理装置のハードウェア構成例を示す図である。
【図３】実施形態に係る情報処理装置の機能ブロック図の一例である。
【図４】実施形態に係る情報処理装置のハウスキープ処理のフローチャートの一例である。
【発明を実施するための形態】
【００１８】
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【００１９】
＜実施形態＞
図１は、実施形態に係るデータ管理システムの構成例を示す図である。データ管理システム１００は、データベース２と、データベース２のハウスキープ処理を行う情報処理装置１とを含む。情報処理装置１とデータベース２とは、例えば、ＬＡＮ（Local Area Network）によって接続されている。データ管理システム１００において、情報処理装置１がハウスキープ処理を実行可能な時間帯である稼動許可時間帯は、予め設定されている。稼動許可時間帯は、例えば、データ管理システム１００を利用する企業ユーザの業務外の時間帯等に設定される。
【００２０】
データベース２には、過去十数年にわたる膨大な量のデータが格納されている。データベース２に格納されるデータは、複数のレコードを含んでいる。各レコードには、例えば、作成された日時、シーケンス番号等が記録されている。
【００２１】
情報処理装置１は、このデータベース２に格納される膨大な量のデータに対して、所定の単位毎にハウスキープ処理を実行する。所定の単位は、例えば、一日、一週間、ひと月、等のレコードを作成日時で区切る時間的単位であってもよいし、シーケンス番号による区切り、レコード数、等のデータ量に基づく単位であってもよい。
【００２２】
所定の単位は、例えば、データを生成するアプリケーションの特性（例えば、一日当たり生成するデータ量等）、ハウスキープ処理を実行する処理の性能、稼動許可時間帯の長さ、稼動許可時間帯における並行処理の量、等に基づいて、データ管理システム１００の管理者によって決定される。
【００２３】
図１に示される例では、情報処理装置１は、１単位を一日に生成されたレコードととして取り扱う。情報処理装置１は、稼動許可時間帯において、データベース２に格納されるデータを日単位で古いものから順に削除する。
【００２４】
情報処理装置１は、１単位のデータの削除処理が終了すると、次の処理対象の１単位のデータの削除処理に掛る予測処理時間を算出し、次の処理対象の１単位のデータの削除処理が稼動許可時間帯内に終了するか否かを判定する。情報処理装置１は、次の処理対象の１単位のデータの削除処理が稼動許可時間帯内に終了すると判定した場合には、次の処理対象の１単位のデータの削除処理の実行を決定する。一方、次の処理対象の１単位のデー
タの削除処理が稼動許可時間帯内に終了しないと判定した場合には、次の処理対象の１単位以降のデータの削除処理を終了する。
【００２５】
これによって、稼動許可時間帯の剰余は、１単位のデータの削除処理に掛る時間よりも少なくなり、稼動許可時間帯を有効に使用することができる。
【００２６】
データの単位は、小さすぎても情報処理装置１に係る処理負荷を増加させてしまい、大きすぎても、稼動許可時間帯の剰余を大きくしてしまう可能性があるため、稼動許可時間帯、情報処理装置１の性能、並行稼動処理の量、等の関係から適正に決定される。例えば、稼動許可時間帯が数時間の長さであるならば、１単位のデータの削除が数分で済むように、単位が決定されることが好ましい。１単位のデータの削除が数分で済むように１単位が決定される場合には、稼動許可時間帯の剰余が数分で済み、稼動許可時間帯をできるだけ使ってデータの削除を行うことができる。
【００２７】
以降、「削除処理」は、１単位のデータに対する削除処理を示すこととする。また、「ハウスキープ処理」は、稼動許可時間帯内に行われるデータベース２に対する削除処理全体を示すこととする。また、次の処理対象の１単位のデータは、単に、「次の単位のデータ」と称する。
【００２８】
＜情報処理装置の構成＞
図２は、実施形態に係る情報処理装置１のハードウェア構成例を示す図である。情報処理装置１は、例えば、サーバ等の特定用途専用のコンピュータ、パーソナルコンピュータ等の汎用のコンピュータである。情報処理装置１は、ＣＰＵ（Central Processing Unit
）１０１、主記憶装置１０２、入力装置１０３、出力装置１０４、補助記憶装置１０５、可搬記録媒体駆動装置１０６、ネットワークインタフェース１０７を備える。また、これらはバス１０９により互いに接続されている。
【００２９】
入力装置１０３は、例えば、タッチパッド、マウス、タッチパネル等のポインティングデバイス、キーボード等である。入力装置１０３から入力されたデータは、ＣＰＵ  １０１に出力される。
【００３０】
主記憶装置１０２は、ＣＰＵ  １０１に、補助記憶装置１０５に格納されているプログラムをロードする記憶領域および作業領域を提供したり、バッファとして用いられたり、一部のプログラムやデータを格納したりする。主記憶装置１０２は、例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ(Read Only Memory)のような半導体メモリを含む。
【００３１】
補助記憶装置１０５は、様々なプログラムや、各プログラムの実行に際してＣＰＵ  １０１が使用するデータを格納する。補助記憶装置１０５は、例えば、ＥＰＲＯＭ（Erasable Programmable ROM）、又はハードディスクドライブ（Hard Disc Drive）等の不揮発性のメモリである。補助記憶装置１０５は、例えば、オペレーティングシステム（ＯＳ）、データ管理プログラム、その他様々なアプリケーションプログラムを保持する。補助記憶装置１０５には、情報処理装置１００に内蔵されているものに加え、外部接続されるものも含まれる。データ管理プログラムは、情報処理装置１に稼動許可時間帯におけるハウスキープ処理を実行させるためのプログラムである。
【００３２】
可搬記録媒体駆動装置１０６は、可搬記録媒体２００に記録されるプログラムや各種データを読出し、ＣＰＵ  １０１に出力する。可搬記録媒体２００は、例えば、ＳＤカード、ｍｉｎｉＳＤカード、ｍｉｃｒｏＳＤカード、ＵＳＢ（Universal Serial Bus）フラッシュメモリ、ＣＤ（Compact Disc）、ＤＶＤ(Digital Versatile Disk)、Ｂｌｕ−ｒａｙ
Ｄｉｓｃ又はフラッシュメモリカードのような記録媒体である
【００３３】
ネットワークインタフェース１０７は、ネットワークとの情報の入出力を行うインタフェースである。ネットワークインタフェース１０７は、有線のネットワーク、および、無線のネットワークと接続する。ネットワークインタフェース１０７は、例えば、ＮＩＣ（Network Interface Card）、無線ＬＡＮ（Local Area Network）カード等である。ネットワークインタフェース１０７で受信されたデータ等は、ＣＰＵ  １０１に出力される。
【００３４】
ＣＰＵ  １０１は、補助記憶装置１０５又は可搬記録媒体に保持されたＯＳや様々なアプリケーションプログラムを主記憶装置１０２にロードして実行することによって、様々な処理を実行する。ＣＰＵ  １０１は、一つであってもよいし、複数であってもよい。
【００３５】
出力装置１０４は、ＣＰＵ  １０１の処理の結果を出力する。出力装置１０４は、表示装置、音声出力装置等を含む。
【００３６】
なお、情報処理装置１のハードウェア構成は、適宜変更（置換、追加、削除）可能である。例えば、情報処理装置１は、入力装置１０３や出力装置１０４を含まなくてもよい。
【００３７】
図３は、実施形態に係る情報処理装置１の機能ブロック図の一例である。情報処理装置１は、例えば、ＣＰＵ  １０１が補助記憶装置１０５に格納されるデータ管理プログラムを実行することによって、制御部１１、時刻取得部１２、予測時間算出部１３、判定部１４、ファイル管理部１５、処理実行部１６として動作する。
【００３８】
制御部１１は、ハウスキープ処理の制御を行う。より具体的には、制御部１１は、時刻取得部１２、予測時間算出部１３、判定部１４、ファイル管理部１５、処理実行部１６に指示をし、それぞれが担当する処理を実行させる。
【００３９】
時刻取得部１２は、制御部１１からの指示を受けて、例えば、情報処理装置１の内部時計（図示せず）又はネットワークから時刻を取得する。
【００４０】
予測時間算出部１３は、制御部１１からの指示を受けて、次の処理対象の単位のデータの削除処理に係る予測時間（処理予測時間）を算出する。算出された処理予測時間は、制御部１１に通知される。処理予測時間の算出は、例えば、以下の通りである。
【００４１】
予測時間算出部１３は、後述の処理時間ファイル１７に格納される、削除処理が終了した各単位のデータの処理時間に基づいて取得される実績時間に安全係数を乗じて、次の単位のデータの処理予測時間を算出する。実績時間は、例えば、処理時間ファイル１７に格納される各単位のデータの処理時間の平均値である。これに限られず、実績時間は、処理時間ファイル１７に格納される内で最新の１単位のデータの処理時間であってもよいし、処理時間ファイル１７に格納される各単位のデータの処理時間の重み付け平均値であってもよい。
【００４２】
データの単位を日単位にした場合、日によってデータ量にばらつきがでたり、データ管理システム１００内の並行稼動処理の量も刻々と変化したりする。安全係数は、これらの変動を吸収し、実際の処理時間が予測時間を超えないようにするための係数である。実際の処理時間が予測時間を超えてしまうと、稼動許可時間帯を過ぎても削除処理が実行されてしまうおそれがあるためである。安全係数は、例えば、１２０％である。
【００４３】
判定部１４は、制御部１１からの指示を受けて、次の単位のデータの削除処理の実行の可否を決定する。制御部１１からは、時刻取得部１２によって取得された現在の時刻と、予測時間算出部１３によって算出された次の単位のデータの処理予測時間とが判定部１４
に通知される。
【００４４】
判定部１４は、まず、現在時刻に、次の単位のデータの処理予測時間を加算し、次の単位のデータの削除処理の終了予測時刻を取得する。判定部１４は、取得した終了予測時刻と、後述の稼動許可時間帯定義ファイル１８に格納される稼動許可時間帯とを比較し、終了予測時刻が稼動許可時間帯に含まれるか否かを判定する。
【００４５】
次の単位のデータの削除処理の終了予測時刻が稼動許可時間帯に含まれる場合には、次の単位のデータの削除処理が稼動許可時間帯内に終了することが予測されるため、判定部１４は、次の単位のデータの削除処理の実行を判定する。次の単位のデータの削除処理の終了予測時刻が稼動許可時間帯に含まれない場合には、次の単位のデータの削除処理が稼動許可時間帯内に終了しないことが予測されるため、判定部１４は、次の単位のデータの削除処理の不実行とともに、ハウスキープ処理の終了を判定する。次の単位のデータの削除処理の実行の可否は、制御部１１に通知される。
【００４６】
処理実行部１６は、制御部１１からの指示を受けて、指示された単位に対する削除処理を実行する。処理実行部１６は、１単位のデータの削除処理に掛る処理時間を計測し、該１単位のデータの削除処理が終了すると、制御部１１に該１単位のデータの削除処理の終了とともに該処理時間を通知する。
【００４７】
ファイル管理部１５は、１単位のデータの削除処理が終了するたびに、制御部１１からの指示を受けて、処理時間ファイル１７に、１単位のデータの削除処理に掛った処理時間を記録する。処理時間は、処理実行部１６によって計測され、制御部１１によってファイル管理部１５に通知される。ただし、このとき、異常な値を示す処理時間は排除される。
【００４８】
異常な値を示す処理時間を排除するために、本実施形態では、第１の閾値と第２の閾値とが用いられる。第１の閾値＜第２の閾値である。
【００４９】
第１の閾値は、データベース２へのアクセスの可否判定を行うための閾値である。第１の閾値は、例えば、５秒である。処理時間が第１の閾値以下である場合には、データベース２へのアクセスができていないことが示される。したがって、ファイル管理部１５は、処理時間が第１の閾値以下である場合には、データベース２へのアクセス不可を制御部１１に通知し、制御部１１は、この通知を受けるとハウスキープ処理を終了する。
【００５０】
第２の閾値は、削除対象の単位に含まれるレコードの存在の有無を判定するための閾値である。第２の閾値は、例えば、１分である。処理時間が第１の閾値より長く、且つ、第２の閾値以下である場合には、データベース２へのアクセスはできているものの、削除対象のレコードが存在していないことが示される。したがって、ファイル管理部１５は、処理時間が第１の閾値より長く、且つ、第２の閾値以下である場合には、該処理時間を処理時間ファイル１７に記録せず、その旨を制御部１１に通知する。制御部１１は、この通知を受けて、次の単位のデータの削除処理の処理予測時間の算出に処理を移行させる。
【００５１】
処理時間が、第２の閾値よりも長い場合には、ファイル管理部１５は、処理時間ファイル１７に該処理時間を書き込む。制御部１１は、ハウスキープ処理が終了する場合に、ファイル管理部１５に処理時間ファイル１７のクリアを指示し、ファイル管理部１５は、この指示を受けて、処理時間ファイル１７をクリアする。
【００５２】
次に、情報処理装置１が保持する情報について説明する。情報処理装置１は、処理時間ファイル１７と稼動許可時間帯定義ファイル１８とを有する。
【００５３】
処理時間ファイル１７には、ファイル管理部１５によって、１単位のデータの削除処理に掛った処理時間が、削除処理が完了した各単位について、記録及び蓄積される。処理時間ファイル１７は、例えば、データ管理プログラムの起動時に主記憶装置１０２の記憶領域に作成され、データ管理プログラムの終了とともにクリアされる。
【００５４】
稼動許可時間帯定義ファイル１８には、稼動許可時間帯の開始時刻と終了時刻とが格納される。稼動許可時間帯は、データ管理システム１００の管理者によって入力される。稼動許可時間帯定義ファイル１８は、例えば、補助記憶装置１０５に格納されており、データ管理プログラムの実行時に主記憶装置１０２の記憶領域に読み出される。
【００５５】
＜処理の流れ＞
図４は、実施形態に係る情報処理装置１のハウスキープ処理のフローチャートの一例である。図４に示されるフローチャートは、稼動許可時間帯の開始時刻になると開始される。
【００５６】
ＯＰ１では、制御部１１は、変数Ｎを初期値の１に設定する。変数Ｎは、削除処理の実行回数を示す。変数Ｎは、正の整数である。なお、本実施形態では、１回の削除処理で１単位のデータが削除されるので、削除処理の実行回数＝削除された単位数であり、変数Ｎは、削除された単位数も示すこととなる。
【００５７】
ＯＰ２では、制御部１１は、処理実行部１６に対して、処理対象の単位の削除処理を指示する。この指示を受けて、処理実行部１６は、処理対象の単位の削除処理を行う。なお、１回目の処理対象の単位は、例えば、データベース２内で最も古いデータを含む単位である。
【００５８】
削除処理が終了すると、制御部１１に、処理実行部１６からＮ回目の処理時間が通知される。制御部１１は、Ｎ回目の処理時間をファイル管理部１５に通知する。
【００５９】
ＯＰ３、ＯＰ４では、Ｎ回目の処理時間の記録の可否が判定される。ＯＰ３では、ファイル管理部１５は、Ｎ回目の処理時間が第１の閾値より長いか否かを判定する。Ｎ回目の処理時間が第１の閾値よりも長い場合には（ＯＰ３：ＹＥＳ）、処理がＯＰ４に進む。Ｎ回目の処理時間が第１の閾値未満である場合には（ＯＰ３：ＮＯ）、データベース２にアクセスできない、すなわち、ハウスキープ処理が継続できないことが示され、ファイル管理部１５は、制御部１１にデータベース２へのアクセス不可を通知する。この通知を受けて、制御部１１は、ハウスキープ処理を終了させ、図４に示される処理が終了する。
【００６０】
ＯＰ４では、ファイル管理部１５は、Ｎ回目の処理時間が第２の閾値より長いか否かを判定する。Ｎ回目の処理時間が第２の閾値よりも長い場合には（ＯＰ４：ＹＥＳ）、処理がＯＰ５に進み、ＯＰ５では、ファイル管理部１５は、Ｎ回目の処理時間を処理時間ファイル１７に記録する。次に、処理がＯＰ６に進む。
【００６１】
Ｎ回目の処理時間が第２の閾値未満である場合には（ＯＰ４：ＮＯ）、削除対象の単位のデータが存在しないことが示される。ファイル管理部１５は、制御部１１にＮ回目の削除処理の実行不可を通知し、制御部１１は、Ｎ回目の処理時間を記録なしに、次の単位の処理、すなわち、ＯＰ６に処理を進める。
【００６２】
ＯＰ６−ＯＰ８では、Ｎ＋１回目の削除処理の実行の可否が判定される。ＯＰ６では、制御部１１は、次の単位のデータの削除処理、すなわち、Ｎ＋１回目の削除処理に掛る処理予測時間の算出を、予測時間算出部１３に指示する。予測時間算出部１３は、処理時間ファイル１７に格納される処理時間を読み出し、１単位のデータの削除処理の実績時間を
算出して、該実績時間に安全係数を乗じて処理予測時間を算出する。予測時間算出部１３は、算出したＮ＋１回目の処理予測時間を制御部１１に通知する。次にＯＰ７に処理が進む。なお、ＯＰ６において、処理時間ファイル１７に処理時間の記録が無い場合には、予め保持される標準処理時間が用いられてもよい。
【００６３】
ＯＰ７では、制御部１１は、時刻取得部１２から現在時刻を取得し、現在時刻と予測処理時間とをＮ＋１回目の削除処理の実行の可否判定の指示とともに判定部１４に通知する。判定部１４は、現在時刻にＮ＋１回目の削除処理の処理予測時間を加算して、Ｎ＋１回目の削除処理の終了予測時刻を算出する。次に処理がＯＰ８に進む。
【００６４】
ＯＰ８では、判定部１４は、稼動許可時間帯定義ファイル１８から稼動許可時間帯を読み出し、Ｎ＋１回目の削除処理の終了予測時刻が稼動許可時間帯に含まれるか否かを判定する。Ｎ＋１回目の削除処理の終了予測時刻が稼動許可時間帯に含まれる場合には（ＯＰ８：ＹＥＳ）、判定部１４は、Ｎ＋１回目の削除処理が実行されることを判定する。判定部１４は、Ｎ＋１回目の削除処理の実行を制御部１１に通知する。その後、処理がＯＰ９に進む。
【００６５】
Ｎ＋１回目の削除処理の終了予測時刻が稼動許可時間帯に含まれない場合には（ＯＰ８：ＮＯ）、判定部１４は、Ｎ＋１回目の削除処理の不実行を制御部１１に通知する。制御部１１は、Ｎ＋１回目の削除処理の不実行の通知を受けて、ハウスキープ処理を終了する。制御部１１は、ファイル管理部１５に処理時間ファイル１７のクリアを指示し、ファイル管理部１５は、処理時間ファイル１７をクリアする。その後、図４に示される処理が終了する。
【００６６】
ＯＰ９では、Ｎ＋１回目の削除処理の実行の通知を受けて、制御部１１は、変数Ｎに１を加算する。その後、ＯＰ２からＯＰ９の処理が繰り返し実行される。
【００６７】
＜実施形態の作用効果＞
図４に示されるフローチャートより、２回目以降の削除処理については、処理予測時間が算出され、実行の可否が判定される。Ｎ＋１回目の削除処理が稼動許可時間帯中に終了しないことが判定されると（ＯＰ８：ＮＯ）、ハウスキープ処理が終了するため、稼動許可時間帯を超えて削除されることが低減される。また、稼動許可時間帯の剰余を１単位のデータの削除処理に掛る時間よりも短くすることができるため、稼動許可時間帯を有効に使用することができる。換言すると、稼動許可時間帯内で可能な限りデータを削除することができる。これによって、より多くのディスクの空き容量を得られるようになる。
【００６８】
また、実施形態では、各単位の削除処理に掛った処理時間を蓄積し、Ｎ＋１回目の削除処理の処理予測時間の算出に用いることによって、ハウスキープ処理と並行して稼働する処理の負荷を考慮したより精度の高い処理予測時間を得ることができる。精度の高い処理予測時間が得られることによって、Ｎ＋１回目の削除処理の実行の可否判定の精度が上がり、稼動許可時間帯内で可能な限りより多くのデータを削除することができる。
【００６９】
また、実施形態では、異常な値の処理時間は蓄積対象から除外することによって、Ｎ＋１回目の削除処理の処理予測時間をより精度良く算出することができる。
【００７０】
＜実施形態のバリエーション＞
上記説明した実施形態では、ハウスキープ処理を情報処理装置１単体で実行したが、これに限られない。上記説明された実施形態のハウスキープ処理は、複数のコンピュータで実行される分散コンピューティングで実現されてもよい。例えば、情報処理装置１の制御部１１、時刻取得部１２、予測時間算出部１３、判定部１４、ファイル管理部１５、処理
実行部１６は、一部又は全部が、異なる独立した装置（コンピュータ等）であってもよい。また、処理時間ファイル１７及び稼動許可時間帯定義ファイル１８は、情報処理装置１とは異なる記憶装置に格納されていてもよい。
【００７１】
上記説明した実施形態では、情報処理装置１は、予測時間算出部１３を備え、Ｎ＋１回目の削除処理の処理予測時間を算出するが、これに代えて、情報処理装置１は、予測時間算出部１３を備えずに、予め算出された標準予測時間を主記憶装置１０２に保持し、Ｎ＋１回目の削除処理の処理予測時間として、該標準予測時間を用いてもよい。
【００７２】
上記説明した実施形態では、情報処理装置１は、開始時刻と終了時刻とで定義された稼動許可時間帯を超えてハウスキープ処理が実行されないように制御を行う。これに限られず、上記説明した実施形態は、時刻による定義のない時間範囲を超えてハウスキープ処理が実行されないように制御を行う情報処理装置にも適用可能である。時刻による定義のない時間範囲とは、例えば、処理開始から所定時間経過するまでの時間範囲である。
【００７３】
上記説明した実施形態では、ファイル管理部１５は、処理時間ファイル１７への記録対象から、１単位のデータの削除処理の処理時間のうち第２の閾値未満のものを除外する。これに代えて、例えば、ファイル管理部１５は、処理時間ファイル１７への記録対象のフィルタリングを行わずに、すべての処理時間を記録し、予測時間算出部１３が、次の単位の処理予測時間の算出に、処理時間ファイル１７に格納される第２の閾値未満の処理時間は用いないようにしてもよい。
【００７４】
上記説明した実施形態では、１単位のデータの削除処理が終了する度に、次の単位のデータの削除処理の実行の可否判定が行われる。これに代えて、例えば、１回目の削除処理からＭ回目までの削除処理までの間は、すなわち、Ｍ単位データの削除処理が終了するまでの間は、次の単位のデータの削除処理の実行の可否判定を行わずに、Ｍ＋１回目の削除処理から次の単位のデータの削除処理の実行の可否判定を行うようにしてもよい。この場合には、図４に示されるフローチャートのＯＰ２からＯＰ５の処理をＭ回繰り返し実行した後に、Ｍ＋１回目以降の削除処理については、ＯＰ６−ＯＰ８の処理が実行されるようにすることで実現可能である。なお、次の単位のデータの削除処理の実行の可否判定が行われない削除処理の回数Ｍは、該Ｍ回分の処理時間の合計が稼動許可時間帯の時間長よりも十分に小さくなるように設定される。
【００７５】
又は、例えば、稼動許可時間帯の残り時間が所定の時間になるまで、又は、稼動許可時間帯内の所定時刻になるまでの間は、次の単位のデータの削除処理の実行の可否判定を行わないようにし、それ以降について、次の単位のデータの削除処理の実行の可否判定を行うようにしてもよい。この場合には、図４に示されるフローチャートのＯＰ２からＯＰ５の処理の後に、残り時間の判定又は時刻の判定を行う処理を追加することによって、実現可能である。これらによって、次の単位のデータの削除処理に掛る処理予測時間の算出及び次の単位のデータの削除処理の実行の可否判定の実行回数を減らすことができ、情報処理装置１の負荷を抑えることができる。
【００７６】
上記説明した実施形態では、情報処理装置１は、次の１単位のデータの削除処理に掛る処理予測時間を算出し、次の１単位のデータの削除処理の実行可否判定を行った。これに代えて、情報処理装置１は、所定数の単位のデータについて、１単位毎に図４のＯＰ２−ＯＰ５のような削除処理を行い、該所定数の単位のデータの削除処理が終了すると、次の所定数の単位のデータの処理予測時間をまとめて算出し、次の所定数の単位のデータの削除処理の実行可否をまとめて判定してもよい。所定数の単位のデータの削除処理に掛る処理予測時間は、例えば、１単位のデータの削除処理に掛る処理予測時間に所定数を乗じて求められる。
【００７７】
所定数の単位について、まとめて、処理予測時間を算出し、削除処理の実行可否の判定が行われる場合には、例えば、Ｍ単位分のデータの削除処理が終了したら（Ｍ＋１回目の削除処理から）、又は、残り時間が所定の時間未満になったら、情報処理装置１は、処理予測時間の算出を、次の１単位のデータの削除処理について行うようにし、該１単位のデータの削除処理の実行可否判定を行うようにしてもよい。又は、所定数の単位のデータの削除処理の不実行が判定された場合には、情報処理装置１は、削除処理の実行が判定されるまで、又は、所定数が１になるまで、所定数を１ずつ減らし、処理予測時間の算出と、削除処理の実行可否の判定とを繰り返し実行してもよい。
【００７８】
これによって、次の単位のデータの削除処理に掛る処理予測時間の算出及び次の単位のデータの削除処理の実行の可否判定の実行回数を減らすことができ、情報処理装置１の負荷を抑えることができる。
【００７９】
上記説明した実施形態では、情報処理装置１が、ハウスキープ処理及びデータの削除処理を行う例について説明したが、情報処理装置１が行う処理は、ハウスキープ処理及びデータの削除処理に限定されない。例えば、所定の１単位毎に実行される処理であれば、データの書換処理、データの追加処理等について、情報処理装置１は、稼動許可時間帯を超えて実行されないように、次の単位のデータの処理時間を予測し、次の単位のデータの処理の実行可否を判定してもよい。
【符号の説明】
【００８０】
１        情報書処理装置
２        データベース
１１      制御部
１２      時刻取得部
１３      予測時間算出部
１４      判定部
１５      ファイル管理部
１６      処理実行部
１７      処理時間ファイル
１８      稼動許可時間帯定義ファイル
【図１】
2014167714.tif 000003
【図２】
2014167714.tif 000004
【図３】
2014167714.tif 000005
【図４】
2014167714.tif 000006