(57)【要約】【課題】ログ探索の際の作業負荷を軽減することを目的とする。【解決手段】制御プログラムは、コンピュータに、端末装置からログの取得要求を受け付けると、端末装置から過去に受け付けたログの取得要求に関する情報を記憶する記憶部を参照して、端末装置から受け付けた複数の取得要求のパターンを特定し、特定したパターンに基づき、ログを受け付けるごとに該ログを記憶させる第１の記憶部と、特定のイベントに応じて、該イベントに応じた時刻に第１の記憶部に記憶されていたログを記憶させる第２の記憶部とのうち、いずれかの記憶部を選択し、受け付けた取得要求と、選択した記憶部の識別情報と、を送信する処理を実行させる。【選択図】図１１
2018194882.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
端末装置からログの取得要求を受け付けると、前記端末装置から過去に受け付けたログの取得要求に関する情報を記憶する記憶部を参照して、前記端末装置から受け付けた複数の取得要求のパターンを特定し、
特定した前記パターンに基づき、ログを受け付けるごとに該ログを記憶させる第１の記憶部と、特定のイベントに応じて、該イベントに応じた時刻に前記第１の記憶部に記憶されていたログを記憶させる第２の記憶部とのうち、いずれかの記憶部を選択し、
受け付けた前記取得要求と、選択した前記記憶部の識別情報と、を送信する、
処理を実行させる制御プログラム。
【請求項２】
前記パターンは、複数の取得要求の頻度を示す
ことを特徴とする請求項１記載の制御プログラム。
【請求項３】
前記端末装置からのログの取得要求の時間間隔が所定の閾値以上である場合、前記第１の記憶部を選択し、前記時間間隔が所定の閾値未満場合、前記第２の記憶部を選択する、
処理を実行させることを特徴とする請求項２記載の制御プログラム。
【請求項４】
前記ログの取得要求は、前記ログのうちの取得対象範囲を示す情報を含む
ことを特徴とする請求項１乃至３のうち何れか１項に記載の制御プログラム。
【請求項５】
前記特定のイベントは、前記第１の記憶部に記憶された前記ログの取得に関する依頼の受け付けである
ことを特徴とする請求項１乃至４のうち何れか１項に記載の制御プログラム。
【請求項６】
コンピュータが、
端末装置からログの取得要求を受け付けると、前記端末装置から過去に受け付けたログの取得要求に関する情報を記憶する記憶部を参照して、前記端末装置から受け付けた複数の取得要求のパターンを特定し、
特定した前記パターンに基づき、ログを受け付けるごとに該ログを記憶させる第１の記憶部と、特定のイベントに応じて、該イベントに応じた時刻に前記第１の記憶部に記憶されていたログを記憶させる第２の記憶部とのうち、いずれかの記憶部を選択し、
受け付けた前記取得要求と、選択した前記記憶部の識別情報と、を送信する、
処理を実行することを特徴とする制御方法。
【請求項７】
端末装置からログの取得要求を受け付けると、前記端末装置から過去に受け付けたログの取得要求に関する情報を記憶する記憶部を参照して、前記端末装置から受け付けた複数の取得要求のパターンを特定する特定部と、
特定した前記パターンに基づき、ログを受け付けるごとに該ログを記憶させる第１の記憶部と、特定のイベントに応じて、該イベントに応じた時刻に前記第１の記憶部に記憶されていたログを記憶させる第２の記憶部とのうち、いずれかの記憶部を選択する選択部と、
受け付けた前記取得要求と、選択した前記記憶部の識別情報と、を送信する通信部と、
を備えることを特徴とする制御装置。
【請求項８】
ログを受け付けるごとに該ログを記憶させる第１の記憶部と、
特定のイベントに応じて、該イベントに応じた時刻に前記第１の記憶部に記憶されていたログを記憶させる第２の記憶部と、を備え、
前記特定のイベントは、前記第１の記憶部に記憶された前記ログの取得に関する依頼の受け付けである
ことを特徴とするデータベースサーバ。
【請求項９】
ユーザの識別情報と、前記ユーザの要求に応じて前記特定のイベントが発生した際の前記第２の記憶部に記憶されたログの先頭位置を示す情報とが対応づけられた対応情報を記憶する第３の記憶部と、
ログの取得要求を前記第２の記憶部の識別情報とともに受信した場合、前記ログの取得要求の依頼元のユーザの識別情報と前記対応情報とに基づいて、前記先頭位置を取得し、前記先頭位置に基づいて、前記第２の記憶部に記憶されたログのうちの取得対象範囲を取得する管理部と、
を備えることを特徴とする請求項８記載のデータベースサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御プログラム、制御方法、制御装置、及びデータベースサーバに関する。
【背景技術】
【０００２】
利用者からのHypertext Transfer Protocol（ＨＴＴＰ）リクエストを受け付けて、DataBase（ＤＢ）インスタンス用仮想マシン（Virtual Machine:ＶＭ）を利用者に割り当てる、Database as a Service（ＤＢａａＳ）が用いられている。
【０００３】
ＤＢａａＳは、ＤＢに対する各種操作を、例えば、ＨＴＴＰを用いたリクエストに応じて実行する。例えば、ユーザ端末は、ＤＢのログを参照する際にＨＴＴＰを用いた参照リクエストをＤＢａａＳに送り、ログデータを取得する。
【０００４】
関連する技術として、メールサーバと連動するメッセージ分類機能により分類されたサービス内容に応じて分析を実行し、Ｗｅｂページに分析結果を反映する技術が提案されている（例えば、特許文献１を参照）。
【０００５】
また、取得したログ抽出条件に対応してログ統合管理ファイルへアクセスし整形したログデータを抽出し、整形したログデータの抽出結果を画面に表示する技術が提案されている（例えば、特許文献２を参照）。
【０００６】
また、記録対象とするデータ項目に対応して、保存対象とするか否かを示す制御値、保存対象のデータ範囲を示す制御値、及び保存形式を示す制御値を特定し、特定された制御値から保存方法を決定する技術が提案されている（例えば、特許文献３を参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−２８０４２３号公報
【特許文献２】特開２００８−７７６１１号公報
【特許文献３】特開２０１０−１４０１１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ログのデータ量が大きい場合、データベースサーバは、１回のリクエストに対して全てのログデータを返すのではなく、一部のログデータをリクエストの送信元の端末に出力することが考えられる。
【０００９】
例えば、ログデータを複数ページに分割してユーザ端末に表示するページ方式を用いた場合、データベースサーバは、ページ番号を指定したＨＴＴＰリクエストをユーザ端末から受信し、対象ページのログデータをユーザ端末に送信する。
【００１０】
ページ方式において、ユーザ端末がログデータを取得した後に新規ログが発生し、発生後に再度、ログデータ取得した場合、各ページに含まれるログの内容が変更されている可能性があることを発明者は見出した。例えば、ユーザ端末が、参照済みのログの過去のログを参照するために、参照済みのページの前のページを指定してログを取得すると、すでに参照しているログを取得する可能性がある。そして、ユーザが、再度、ページ番号を指定して他のページを参照することとなる可能性がある。すなわち、ログ参照中に新規ログが発生することにより、ログ探索の際の作業負荷が増加するおそれがある。
【００１１】
１つの側面として、本発明は、ログ探索の際の作業負荷を軽減することを目的とする。
【課題を解決するための手段】
【００１２】
１つの態様では、制御プログラムは、コンピュータに、端末装置からログの取得要求を受け付けると、前記端末装置から過去に受け付けたログの取得要求に関する情報を記憶する記憶部を参照して、前記端末装置から受け付けた複数の取得要求のパターンを特定し、特定した前記パターンに基づき、ログを受け付けるごとに該ログを記憶させる第１の記憶部と、特定のイベントに応じて、該イベントに応じた時刻に前記第１の記憶部に記憶されていたログを記憶させる第２の記憶部とのうち、いずれかの記憶部を選択し、受け付けた前記取得要求と、選択した前記記憶部の識別情報と、を送信する処理を実行させる。
【発明の効果】
【００１３】
１つの側面によれば、ログ探索の際の作業負荷を軽減することができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態のシステムの全体構成の一例を示す図である。
【図２】ログ取得の概要を示す図である。
【図３】ページ１を指定した場合のログ表示内容の一例を示す図である。
【図４】ページ２を指定した場合のログ表示内容の第１の例を示す図である。
【図５】ページ２を指定した場合のログ表示内容の第２の例を示す図である。
【図６】開始位置を指定したログ表示内容の第１の例を示す図である。
【図７】開始位置を指定したログ表示内容の第２の例を示す図である。
【図８】管理サーバの一例を示す図である。
【図９】履歴管理情報の一例を示す図である。
【図１０】第１の実施形態におけるデータベースサーバの一例を示す図である。
【図１１】管理サーバの処理の流れの一例を示すフローチャートである。
【図１２】図１１のステップＳ１０２の処理の流れを示すフローチャートである。
【図１３】第１の実施形態におけるデータベースサーバの処理の流れを示すフローチャートである。
【図１４】第２の実施形態におけるデータベースサーバの一例を示す図である。
【図１５】対応情報の一例を示す図である。
【図１６】第２の実施形態におけるデータベースサーバの処理の流れを示すフローチャートである。
【図１７】データベースサーバの処理を実行する前の各情報を示す図である。
【図１８】データベースサーバの処理を実行した後の各情報を示す図である。
【図１９】管理サーバのハードウェア構成の一例を示す図である。
【図２０】データベースサーバのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１５】
＜実施形態のシステムの全体構成の一例＞
以下、図面を参照して、実施形態について説明する。図１は、実施形態のシステムの全体構成の一例を示す。実施形態のシステムは、端末装置１と表示装置２とネットワーク３と管理サーバ４とデータベースサーバ５とを含む。
【００１６】
端末装置１は、管理サーバ４に各種リクエストを送信する。各種リクエストは、例えば、ＤＢの参照、ログデータの取得等を要求するＨＴＴＰリクエストである。端末装置１は、コンピュータおよび制御装置の一例である。
【００１７】
表示装置２は、端末装置１から受信した情報の表示を行う。表示装置２は、例えば、端末装置１からＤＢに関するログデータを受信して、ログ内容（ログデータの内容）を画面に表示する。表示装置２は、例えば、ログ内容をページごとに表示する。例えば、ノートパソコンやタブレット端末等のように、端末装置１と表示装置２とは一体の装置であってもよい。
【００１８】
ネットワーク３は、例えば、インターネットである。ネットワーク３は、例えばLocal Area Network（ＬＡＮ）であってもよい。
【００１９】
管理サーバ４は、データベースサーバ５を管理する。管理サーバ４は、例えば、受信したリクエストに基づいて、データベースサーバ５からログデータを取得する。
【００２０】
データベースサーバ５は、ＤＢおよびＤＢに関するログデータ等を記憶する。データベースサーバ５は、例えば、ＤＢａａＳに適用される。
【００２１】
図２は、ログ取得の概要を示す図である。端末装置１は、ログ取得要求として図２の例に示すＨＴＴＰリクエストを管理サーバ４に送信する。管理サーバ４は、ＨＴＴＰリクエストで指定されたログデータをデータベースサーバ５から取得し、端末装置１に送信する。端末装置１は、受信したログデータに基づいて、ログ内容を表示装置２に表示する。ログの表示内容について、詳細は後述する。
【００２２】
＜ログ表示の例＞
ページ形式のログ表示方法の例について説明する。図３は、ページ１を指定した場合のログ表示内容の一例を示す図である。図４は、ページ２を指定した場合のログ表示内容の第１の例を示す図である。図５は、ページ２を指定した場合のログ表示内容の第２の例を示す図である。
【００２３】
ユーザがページ１のログを参照するために、ページ１を指定する操作を端末装置１に行ったとする。端末装置１は、ユーザの操作に応じて、ページ１を指定するログ取得要求を管理サーバ４に送信する。管理サーバ４は、データベースサーバ５からページ１に対応するログデータを取得し、取得したログデータを端末装置１に送信する。
【００２４】
端末装置１は、管理サーバ４から受信したログデータに基づいて、ログのページ１を表示装置２に表示する。図３に示すように、ログデータは、日時（ログ発生日時）とログ内容とを含む。図３に示す例では、１ページに４行（４レコード）のログが表示される。また、図３に示す例では、ページ１に最新のログが表示されるとする。
【００２５】
図３に示す例では、1/1 00:08におけるログにfailoverが発生していることが示されている。該failoverは、例えば、稼働中のサーバに異常が発生し、待機系のサーバに切り替わったことを示す。
【００２６】
failoverの原因を知るために、ユーザがページ１に表示されたログより過去のログを参照することが考えられる。そして、ユーザがページ２を指定する操作を端末装置１に行ったとする。端末装置１は、ユーザの操作に応じて、ページ２を指定するログ取得要求を管理サーバ４に送信する。管理サーバ４は、データベースサーバ５からページ２に対応するログデータを取得し、取得したログデータを端末装置１に送信する。
【００２７】
そして、端末装置１は、ページ２を表示装置２に表示する。図４に示すように、管理サーバ４がページ１に対応するログデータを取得してから、ページ２に対応するログデータを取得するまでの間に新たなログが１行発生していたとする。新たなログは、ページ１に含まれることとなるため、図３においてページ１に表示されていた、日時が1/1 00:07であるログは、ページ２に含まれることとなる。すなわち、次のページを参照したにも関わらず、前回の表示内容と新たな表示内容とが重複する。
【００２８】
次に、管理サーバ４がページ１のログデータを取得してから、ページ２のログデータを取得するまでの間に新たなログが８行追加される例を説明する。
【００２９】
端末装置１が図３に示す画面を表示した後、ユーザがページ１に表示されたログより過去のログを参照するために、ページ２を指定する操作を端末装置１に行ったとする。端末装置１は、ユーザの操作に応じて、ページ２を指定するログ取得要求を管理サーバ４に送信する。管理サーバ４は、データベースサーバ５からページ２に対応するログデータを取得し、取得したログデータを端末装置１に送信する。
【００３０】
そして、端末装置１は、ページ２を表示装置２に表示する。管理サーバ４が図３に示すページ１のログデータを取得してから、ページ２のログデータを取得するまでの間に新たなログが８行発生していたとする。新たなログは、ページ１およびページ２に含まれることとなる。従って、端末装置１は、図５に示すように、ページ２に新たなログを表示することなる。すなわち、ユーザがページ１に表示されたログより過去のログを参照しようとしたにも関わらず、前回の表示されたログより新しいログが表示される。
【００３１】
図３〜図５に示すように、ページ方式でログを表示する場合、ユーザが意図しないログが表示される可能性があるため、ユーザが再度リクエストを要求する操作を行うこととなり、ログ探索の作業負荷が増加するおそれがある。また、上記リクエストの再度の処理のために、管理サーバ４、データベースサーバ５の処理負荷、および各装置間の通信負荷が増加するおそれがある。
【００３２】
次に、開始位置を指定したログ表示方法について説明する。図６は、開始位置を指定したログ表示内容の第１の例を示す。
【００３３】
ユーザが所定位置のログを参照するために、ログ取得開始位置を示すｍａｒｋｅｒとして９９６を指定する操作を端末装置１に行ったとする。端末装置１は、ユーザの操作に応じて、ｍａｒｋｅｒとして９９６を指定するログ取得要求を管理サーバ４に送信する。なお、本例では、指定されたｍａｒｋｅｒが示すログの次の４行のログを取得対象とする。管理サーバ４は、データベースサーバ５から、９９５から９９２までのｍａｒｋｅｒに対応するログデータを取得し、取得したログデータを端末装置１に送信する。
【００３４】
端末装置１は、管理サーバ４から受信したログデータに基づいて、表示装置２にログを表示する。本例では、端末装置１は、図６に示すように、９９５から９９２までのｍａｒｋｅｒに対応するログを表示装置２に表示する。
【００３５】
そして、ユーザが現在参照しているログの次の新しいログを参照するために、ログ取得開始位置を示すｍａｒｋｅｒを指定する操作を、ユーザが端末装置１に行うことを想定する。例えば、ユーザがエラーの原因を探るために過去のログを参照していたが、原因が見つからないため、見直しを行うことが考えられる。本例では、上述のように、指定されたｍａｒｋｅｒが示すログの次の４行のログが表示対象となる。
【００３６】
従って、ユーザは、新しいログを参照するために、以下の式（１）の計算を行うことにより、指定するｍａｒｋｅｒ（指定ｍａｒｋｅｒ）を得る。
【００３７】
指定ｍａｒｋｅｒ＝表示中の最大ｍａｒｋｅｒ＋１ページあたりのログ数＋１    （１）
【００３８】
図６に示す例では、１ページあたりのログ数は４行であり、図６において、表示中の最大ｍａｒｋｅｒは９９５である。従って、ユーザは、図６に示す表示内容の次の新しいログを参照するために、以下の計算を行うことにより、指定するｍａｒｋｅｒを得る。
【００３９】
９９５＋４＋１＝１０００
【００４０】
上記計算結果に基づいて、ユーザは、ログ取得開始位置を示すｍａｒｋｅｒとして１０００を指定する操作を端末装置１に行う。端末装置１は、ユーザの操作に応じて、ｍａｒｋｅｒとして１０００を指定するログ取得要求を管理サーバ４に送信する。管理サーバ４は、データベースサーバ５から、９９９から９９６までのｍａｒｋｅｒに対応するログデータを取得し、取得したログデータを端末装置１に送信する。
【００４１】
図７は、開始位置を指定したログ表示内容の第２の例を示す。端末装置１は、管理サーバ４から受信したログデータに基づいて、表示装置２にログを表示する。本例では、端末装置１は、図７に示すように、９９９から９９６までのｍａｒｋｅｒに対応するログを表示装置２に表示する。
【００４２】
以上のように、開始位置を指定したログ表示方法を用いた場合、現在表示しているログより新しいログを参照する際に、ユーザが指定する開始位置（上記例におけるｍａｒｋｅｒ）を計算する。該開始位置の計算は、ユーザにより行なわれるため、ユーザがログ探索を行う際におけるユーザの作業負荷が大きくなる。
【００４３】
＜管理サーバの一例＞
図８は、管理サーバの一例を示す図である。管理サーバ４は、第１通信部１１と管理サーバ記憶部１２と特定部１３と選択部１４とを含む。
【００４４】
第１通信部１１は、端末装置１からのログの取得要求（ログ取得要求）を受信する。ログ取得要求は、例えば、ＨＴＴＰリクエストであり、ユーザＩＤとログ取得対象のＤＢＩＤとログ取得対象範囲を示す情報とを含む。ログ取得対象範囲を示す情報は、例えば、ページ番号である。
【００４５】
管理サーバ記憶部１２は、端末装置１から過去に受け付けたログ取得要求に関する履歴管理情報を記憶する。履歴管理情報の詳細は後述する。
【００４６】
特定部１３は、第１通信部１１を介して端末装置１からのログ取得要求を受け付けると、管理サーバ記憶部１２に記憶された履歴管理情報を参照して、端末装置１から受け付けた複数の取得要求のパターンを特定する。
【００４７】
複数の取得要求のパターンは、例えば、複数の取得要求の頻度を示す。複数の取得要求のパターンは、例えば、今回のログ取得要求を受け付けた時刻と、該ログ取得要求と同じユーザからの同じＤＢに対する直前のログ取得要求の時刻とを含む。複数の取得要求のパターンは、例えば、今回の取得要求と同じユーザからの同じＤＢに対する、複数のログ取得要求の平均時間間隔であってもよい。
【００４８】
選択部１４は、特定部１３が特定したパターンに基づいて、データベースサーバ５が有するログを記憶する領域とログキャッシュを記憶する領域とのいずれかの記憶領域を、参照先の記憶領域として選択する。
【００４９】
第１通信部１１は、端末装置１から受け付けた取得要求と、選択部１４が選択した記憶領域を識別する識別情報とを、データベースサーバ５に送信する。
【００５０】
図９は、過去のログの取得要求に関する履歴管理情報の一例を示す図である。履歴管理情報は、管理サーバ記憶部１２に記憶される。図９に示すように、履歴管理情報には、受付時刻とＤＢ Identification（ＩＤ）とユーザＩＤとが対応付けて記録されている。受付時刻は、管理サーバ４が端末装置１からログ取得要求を受け付けた時刻である。また、ログ取得要求に含まれていたＤＢＩＤおよびユーザＩＤが、履歴管理情報に記録される。
【００５１】
＜第１の実施形態におけるデータベースサーバの一例＞
図１０は、第１の実施形態におけるデータベースサーバ５の一例を示す図である。データベースサーバ５は、第２通信部２１とデータ記憶部２２と制御部２３とを含む。
【００５２】
第２通信部２１は、管理サーバ４から、ログ領域２２ｂまたはキャッシュ領域２２ｃに対するログ取得要求を受信する。
【００５３】
データ記憶部２２は、ＤＢ領域２２ａとログ領域２２ｂとキャッシュ領域２２ｃを含む。ログ領域２２ｂは、第１の記憶部の一例である。キャッシュ領域２２ｃは、第２の記憶部の一例である。なお、第１の記憶部と第２の記憶部とは異なる記憶装置であってもよい。
【００５４】
ＤＢ領域２２ａは、ＤＢを記憶する。
ログ領域２２ｂは、制御部２３の指示に応じて、ログを受け付けるごとに該ログを記憶させる。本実施形態では、ログ領域２２ｂは、ＤＢ領域２２ａに記憶されるＤＢのログデータを記憶する。ログデータは、例えば、ＤＢ領域２２ａに記憶されたＤＢに新たなイベントが発生した際に更新される。ログデータは、例えば、複数のログファイルを含んでいてもよい。ログデータは、例えば、ログが記録されたＤＢであってもよい。
【００５５】
キャッシュ領域２２ｃは、制御部２３の指示に応じて、特定のイベントに応じて、該イベントに応じた時刻にログ領域２２ｂに記憶されていたログデータをログキャッシュデータとして記憶させる。特定のイベントは、例えば、ログ領域２２ｂに記憶されたログの取得に関する依頼（ログ取得要求）の受け付けである。
【００５６】
すなわち、キャッシュ領域２２ｃに記憶されるログキャッシュデータは、所定タイミングにおけるログデータのコピーであり、ＤＢ領域２２ａに記憶されたＤＢにログ取得対象である新たな事象が発生しても更新されない。ログキャッシュデータは、例えばＤＢごと、かつ、ユーザごとに生成される。ログデータが複数のログファイルを含む場合、ログキャッシュデータは、例えば、最新のログファイルのコピーである。
制御部２３は、データベースサーバ５における各種処理を実行する。
【００５７】
＜管理サーバの処理の流れの一例＞
図１１は、管理サーバの処理の流れの一例を示すフローチャートである。第１通信部１１は、端末装置１からのログの取得要求を受け付ける（ステップＳ１０１）。
【００５８】
特定部１３は、第１通信部１１を介して端末装置１からのログの取得要求を受け付けると、管理サーバ記憶部１２に記憶された履歴管理情報を参照して、端末装置１から受け付けた複数の取得要求のパターンを特定する（ステップＳ１０２）。複数の取得要求のパターンは、例えば、今回の取得要求を受け付けた時刻と、該取得要求と同じユーザＩＤと同じＤＢＩＤとを含む直前のログ取得要求の時刻とを含む。ステップＳ１０２の処理について、詳細は後述する。
【００５９】
選択部１４は、今回の取得要求を受け付けた時刻から、該取得要求と同じユーザＩＤと同じＤＢＩＤを含む直前のログ取得要求の時刻までの時間間隔が算出済みであり、かつ、該時間隔が所定の閾値を超えるかを判定する（ステップＳ１０３）。所定の閾値は、例えば、２秒であるとする。時間間隔は、パターンの一例である。
【００６０】
ステップＳ１０３でＮＯの場合、選択部１４は、ログの取得先として、データベースサーバ５のデータ記憶部２２に含まれるログ領域２２ｂを選択する（ステップＳ１０４）。ステップＳ１０３でＹＥＳの場合、選択部１４は、ログの取得先として、データベースサーバ５のデータ記憶部２２内のキャッシュ領域２２ｃを選択する（ステップＳ１０５）。ステップＳ１０３でＹＥＳの場合、ユーザがログを探索中であると考えられる。
【００６１】
そして、第１通信部１１は、端末装置１から受け付けたログ取得要求と、選択部１４が選択した記憶領域を識別する識別情報とを、データベースサーバ５に送信する（ステップＳ１０６）。選択部１４が選択した記憶領域を識別する識別情報は、ログ領域２２ｂまたはキャッシュ領域２２ｃを示す識別情報である。
【００６２】
第１通信部１１は、データベースサーバ５からログデータまたはログキャッシュデータを受信した場合（ステップＳ１０７でＹＥＳ）、受信したログデータまたはログキャッシュデータを端末装置１に送信する（ステップＳ１０８）。第１通信部１１がログデータまたはログキャッシュデータを受信しない場合（ステップＳ１０７でＮＯ）、処理は次のステップに進まない。
【００６３】
以上のように、管理サーバ４は、ユーザがログを探索中である場合（ステップＳ１０３でＹＥＳ）、キャッシュ領域２２ｃを選択することにより、ログキャッシュを取得する。ログキャッシュは、新たなログが発生しても更新されないため、ページ内のログ内容が前回参照時点から変更されていない。従って、管理サーバ４は、ユーザが意図しないログが表示されることを抑制してログ取得の回数を減らすことができるため、ログ探索の際の作業負荷を軽減することができる。また、管理サーバ４およびデータベースサーバ５の処理負荷、端末装置１と管理サーバ４との間の通信負荷、管理サーバ４とデータベースサーバ５との間の通信負荷等を抑制することができる。
【００６４】
また、本実施形態の管理サーバ４を用いた場合、ログ表示方法は、ページ方式となり、図６、７における開始位置を指定した方式のようにユーザが指定位置を計算する手間がないため、ログ探索の際の作業負荷を軽減することができる。
【００６５】
図１２は、図１１のステップＳ１０２の処理の流れを示すフローチャートである。特定部１３は、端末装置１から取得したログ取得要求の受付時間と、ログ取得要求において指定されているＤＢＩＤおよびユーザＩＤとを履歴管理情報に記録する（ステップＳ２０１）。
【００６６】
特定部１３は、ログ取得要求において指定されているユーザＩＤおよびＤＢＩＤの組と一致するユーザＩＤおよびＤＢＩＤの組に関する履歴が履歴管理情報に存在するか判定する（ステップＳ２０２）。ステップＳ２０２でＮＯの場合、ステップＳ１０２の処理を終了する。
【００６７】
ステップＳ２０２でＹＥＳの場合、特定部１３は、時間間隔として、今回の取得要求の受付時刻と、該取得要求と同じユーザからの同じＤＢに対する直前のログ取得要求の受付時刻との差を算出する（ステップＳ２０３）。
【００６８】
＜第１の実施形態におけるデータベースサーバの処理の流れの一例＞
図１３は、第１の実施形態におけるデータベースサーバの処理の流れを示すフローチャートである。なお、図１３に示す処理は、例えば、所定時間ごとに実行される。
【００６９】
制御部２３は、管理サーバ４からログ領域２２ｂに対するログ取得要求を受信したか判定する（ステップＳ３０１）。制御部２３は、例えば、管理サーバ４からログ領域２２ｂの識別情報とともにログ取得要求を受信したか判定する。
【００７０】
ステップＳ３０１でＹＥＳの場合、制御部２３は、ログ領域２２ｂから、ログ取得要求に含まれるＤＢＩＤに対応するログデータを取得する（ステップＳ３０４）。
【００７１】
制御部２３は、ログ領域２２ｂから取得したログデータを、ログ取得要求に含まれるＤＢＩＤとユーザＩＤとを対応づけてログキャッシュデータとしてキャッシュ領域２２ｃに記憶する（ステップＳ３０５）。キャッシュ領域２２ｃにログ取得要求に含まれるＤＢＩＤとユーザＩＤに対応するログキャッシュデータがすでに記憶されている場合、制御部２３は、ログ領域２２ｂから取得したログデータでキャッシュ領域２２ｃのログキャッシュデータを更新する。  第２通信部２１は、ログデータのうち、ログ取得要求に含まれる取得対象のページ番号に対応する部分（対象ページ）を管理サーバ４に送信する（ステップＳ３０６）。
【００７２】
ステップＳ３０１でＮＯの場合、管理サーバ４からキャッシュ領域２２ｃに対するログ取得要求を受信したか判定する（ステップＳ３０２）。制御部２３は、例えば、キャッシュ領域２２ｃの識別情報とともにログ取得要求を受信したか判定する。ステップＳ３０２でＮＯの場合、制御部２３は、処理を終了する。
【００７３】
ステップＳ３０２でＹＥＳの場合、制御部２３は、取得対象のログキャッシュデータが存在するか判定する（ステップＳ３０３）。上述のように、ログキャッシュデータは、ユーザＩＤごと、かつ、ＤＢＩＤごとに生成される。よって、制御部２３は、例えば、ログ取得要求に含まれるユーザＩＤおよびＤＢＩＤに対応するログキャッシュデータが存在するか判定する。ステップＳ３０３でＮＯの場合、ログ取得要求に含まれるユーザＩＤおよびＤＢＩＤに対応するログキャッシュデータが存在しないため、処理は、ステップＳ３０４に移行する。
【００７４】
ステップＳ３０３でＹＥＳの場合、制御部２３は、キャッシュ領域２２ｃから取得対象のログキャッシュデータを取得する（ステップＳ３０７）。
【００７５】
第２通信部２１は、ログキャッシュデータのうち、ログ取得要求に含まれる取得対象のページ番号に対応する部分を管理サーバ４に送信する（ステップＳ３０８）。
【００７６】
＜第２の実施形態におけるデータベースサーバの一例＞
図１４は、第２の実施形態におけるデータベースサーバ５の一例を示す図である。図２に示すように、第２の実施形態におけるデータベースサーバ５は第２通信部２１と、データ記憶部２２と、制御部２３と、管理部２４とを含む。データ記憶部２２は、ＤＢ領域２２ａとログ領域２２ｂとキャッシュ領域２２ｃと管理領域２２ｄとを含む。管理領域２２ｄは、第３の記憶部の一例である。
【００７７】
第２の実施形態におけるデータベースサーバ５は、管理領域２２ｄと管理部２４とを含む点で第１の実施形態におけるデータベースサーバ５と異なる。第１の実施形態と同様の構成については、説明を省略する。
【００７８】
管理領域２２ｄは、ユーザの識別情報と、ユーザのログ取得要求に応じて特定のイベントが発生した際のキャッシュ領域２２ｃに記憶されたログキャッシュデータの先頭位置を示す情報とが対応づけられた対応情報を記憶する。ユーザの識別情報は、例えば、ユーザＩＤである。先頭位置を示す情報は、例えば、先頭ログＩＤである。
【００７９】
管理部２４は、ログの取得要求をキャッシュ領域２２ｃの識別情報とともに受信した場合、ログの取得要求の依頼元のユーザＩＤと対応情報とに基づいて、先頭ログＩＤを取得する。管理部２４は、先頭ログＩＤに基づいて、キャッシュ領域２２ｃに記憶されたログキャッシュデータのうちの取得対象範囲（取得対象ページ）を取得する。
【００８０】
図１５は、対応情報の一例である。対応情報は、ユーザＩＤと先頭ログＩＤとの関係を示す。先頭ログＩＤは、ログキャッシュデータの直前の更新時の先頭位置を示す。
【００８１】
対応情報は、データベースサーバ５が管理サーバ４からログ領域２２ｂに対するログ取得要求を受信し、ログ領域２２ｂのログデータでキャッシュ領域２２ｃのログキャッシュデータが更新された場合に更新される。
【００８２】
管理部２４は、対応情報のうち、受信したログ取得要求の依頼元ユーザに一致するユーザＩＤに対応する先頭ログＩＤを、記憶したログキャッシュデータの先頭ＩＤで更新する。また、管理部２４は、対応情報のうち、更新後のログキャッシュデータに含まれない先頭ログＩＤを含むレコードを削除する。
【００８３】
＜第２の実施形態におけるデータベースサーバの処理の流れの一例＞
図１６は、データベースサーバの処理の流れを示すフローチャートである。なお、図１６に示す処理は、例えば、所定時間ごとに実行されてもよい。
【００８４】
制御部２３は、管理サーバ４からログ領域２２ｂに対するログ取得要求を受信したか判定する（ステップＳ４０１）。制御部２３は、例えば、管理サーバ４からログ領域２２ｂの識別情報とともにログ取得要求を受信したか判定する。
【００８５】
ステップＳ４０１でＹＥＳの場合、制御部２３は、ログ領域２２ｂから、ログ取得要求に含まれるＤＢＩＤに対応するログデータを取得する（ステップＳ４０４）。
【００８６】
制御部２３は、ログ領域２２ｂから取得したログデータを、ログ取得要求に含まれるＤＢＩＤとユーザＩＤとを対応づけてログキャッシュデータとしてキャッシュ領域２２ｃに記憶する（ステップＳ４０５）。
【００８７】
キャッシュ領域２２ｃに、ログ取得要求に含まれるＤＢＩＤおよびユーザＩＤに対応するログキャッシュデータがすでに記憶されている場合、制御部２３は、ログ領域２２ｂから取得したログデータでキャッシュ領域２２ｃのログキャッシュデータを更新する。
【００８８】
管理部２４は、対応情報のうち、ログ取得要求の依頼元ユーザに一致するユーザＩＤに対応する先頭ログＩＤを、ステップＳ４０５で記憶したログキャッシュデータの先頭ＩＤで更新する（ステップＳ４０６）。管理部２４は、依頼元ユーザを、例えば、ログ取得要求に含まれるユーザＩＤで識別する。
【００８９】
管理部２４は、対応情報のうち、更新後のログキャッシュデータに含まれない先頭ログＩＤを含むレコードを削除する（ステップＳ４０７）。対応情報は、ログキャッシュデータからのデータ取得時に使用されるためである。
【００９０】
第２通信部２１は、ログデータのうち、ログ取得要求に含まれる取得対象のページ番号に対応する部分（対象ページ）を管理サーバ４に送信する（ステップＳ４０８）。
【００９１】
ステップＳ４０１でＮＯの場合、管理サーバ４からキャッシュ領域２２ｃに対するログキャッシュの取得要求を受信したか判定する（ステップＳ４０２）。制御部２３は、例えば、キャッシュ領域２２ｃの識別情報とともにログ取得要求を受信したか判定する。ステップＳ４０２でＮＯの場合、制御部２３は、処理を終了する。
【００９２】
ステップＳ４０２でＹＥＳの場合、管理部２４は、対応情報に対象ユーザが存在するか判定する（ステップＳ４０３）。ステップＳ４０３でＮＯの場合、処理は、ステップＳ４０４に移行する。
【００９３】
ステップＳ４０３でＹＥＳの場合、管理部２４は、対応情報から、ログ取得要求の依頼元ユーザの先頭ログＩＤを取得する（ステップＳ４０９）。管理部２４は、依頼元ユーザを、例えば、ログ取得要求に含まれるユーザＩＤで識別する。
【００９４】
管理部２４は、取得した先頭ログＩＤを開始位置として、ログキャッシュデータのうち、ログ取得要求に含まれる取得対象のページ番号に対応する部分を取得する（ステップＳ４１０）。
【００９５】
第２通信部２１は、ログキャッシュデータのうち、ステップＳ４１０で取得した対象ページ部分を管理サーバ４に送信する（ステップＳ４１１）。
【００９６】
以上のように、本実施形態では、ログキャッシュデータは、ＤＢごとに生成され、複数のユーザに共用される。したがって、ユーザごと、かつ、ＤＢごとに生成される場合と比べてログキャッシュデータの量を抑制することができる。本実施形態では、対応情報が記憶されるが、対応情報は、通常、ログキャッシュデータよりデータ量が少ないためである。
【００９７】
また、対応情報にユーザ毎の前回の参照開始位置が記録されているため、ログキャッシュデータがユーザごとに記憶されていなくても、ユーザが意図したログが表示されるため、ログ探索の際の作業負荷を軽減することができる。
【００９８】
＜第２の実施形態におけるデータベースサーバの処理の適用例＞
次に、第２の実施形態におけるデータベースサーバの処理の適用例について説明する。図１７は、データベースサーバの処理を実行する前の各情報を示す図である。図１７（ａ）は、ログデータの一例である。ログデータは、ログＩＤごとにログ内容が記録されている。
【００９９】
図１７（ｂ）は、更新前のログキャッシュデータの一例である。図１７（ｂ）に示すログキャッシュデータは、ログＩＤが「１００１」であるログが存在しておらず、ログＩＤが「５００」であるデータが存在している点で図１７（ａ）に示すログデータと異なる。
【０１００】
図１７（ｃ）は、更新前の対応情報の一例である。
図１８は、データベースサーバの処理を実行した後の各情報を示す図である。図１８は、図１７に示す各情報に対して、図１６のステップＳ４０４〜Ｓ４０７の処理を実行した後の各情報を示す。図１８（ａ）は、ログデータの一例であり、図１７（ａ）に示すログデータと同じである。
【０１０１】
図１８（ｂ）は、更新後のログキャッシュデータの一例である。本例では、ステップＳ４０４、Ｓ４０５の処理により、図１７（ｂ）に示すログキャッシュデータが図１７（ａ）に示すログデータで更新されたことを想定している。上述のように図１７（ａ）と図１８（ａ）は同じデータデーあるため、図１８（ｂ）に示すログキャッシュデータは、図１７（ａ）および図１８（ａ）に示すログデータと同じである。
【０１０２】
図１８（ｃ）は、更新後の対応情報の一例である。本例では、ユーザＩＤが「１００」であるユーザの取得要求により、ログデータが取得されたことを想定している。従って、図１８（ｃ）では、ユーザＩＤが「１００」であるユーザの先頭ＩＤが、ステップＳ４０６の処理により、ログキャッシュデータの先頭ログＩＤである「１００１」に更新されている。
【０１０３】
また、本例では、図１７（ｂ）に示すように、ログＩＤが「５００」であるログがログキャッシュデータから削除されている。従って、図１７（ｃ）では、ユーザＩＤが「１０８」で、先頭ログＩＤが「５００」であるデータが存在していたが、図１８（ｃ）では、ステップＳ４０７の処理により削除されている。
【０１０４】
＜管理サーバのハードウェア構成の一例＞
次に、図１９の例を参照して、管理サーバ４のハードウェア構成の一例を説明する。図１９の例に示すように、バス１００に対して、プロセッサ１１１とRandom Access Memory(RAM)１１２とRead Only Memory(ROM)１１３とが接続される。また、該バス１００に対して、補助記憶装置１１４と媒体接続部１１５と通信インタフェース１１６とが接続される。
【０１０５】
プロセッサ１１１はＲＡＭ１１２に展開されたプログラムを実行する。実行されるプログラムとしては、実施形態における処理を行う制御プログラムが適用されてもよい。
【０１０６】
ＲＯＭ１１３はＲＡＭ１１２に展開されるプログラムを記憶する不揮発性の記憶装置である。補助記憶装置１１４は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブや半導体メモリ等を補助記憶装置１１４に適用してもよい。補助記憶装置１１４に実施形態の処理を行う制御プログラムが記録されていてもよい。
【０１０７】
媒体接続部１１５は、可搬型記録媒体１１８と接続可能に設けられている。可搬型記録媒体１１８としては、可搬型のメモリや光学式ディスク（例えば、Compact Disc(CD)やDigital Versatile Disc(DVD))、半導体メモリ等を適用してもよい。可搬型記録媒体１１８に実施形態の処理を行う制御プログラムが記録されていてもよい。
【０１０８】
図８に示す管理サーバ記憶部１２は、ＲＡＭ１１２や補助記憶装置１１４等により実現されてもよい。図８に示す第１通信部１１は、通信インタフェース１１６により実現されてもよい。図８に示す特定部１３、選択部１４は、与えられた制御プログラムをプロセッサ１１１が実行することにより実現されてもよい。
【０１０９】
ＲＡＭ１１２、ＲＯＭ１１３、補助記憶装置１１４および可搬型記録媒体１１８は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
【０１１０】
＜データベースサーバのハードウェア構成の一例＞
次に、図２０の例を参照して、データベースサーバ５のハードウェア構成の一例を説明する。図２０の例に示すように、バス２００に対して、プロセッサ２１１とRandom Access Memory(RAM)２１２とRead Only Memory(ROM)２１３とが接続される。また、該バス２００に対して、補助記憶装置２１４と媒体接続部２１５と通信インタフェース２１６とが接続される。
【０１１１】
プロセッサ２１１はＲＡＭ２１２に展開されたプログラムを実行する。実行されるプログラムとしては、実施形態における処理を行う制御プログラムが適用されてもよい。
【０１１２】
ＲＯＭ２１３はＲＡＭ２１２に展開されるプログラムを記憶する不揮発性の記憶装置である。補助記憶装置２１４は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブや半導体メモリ等を補助記憶装置２１４に適用してもよい。補助記憶装置２１４に実施形態の処理を行う制御プログラムが記録されていてもよい。
【０１１３】
媒体接続部２１５は、可搬型記録媒体２１８と接続可能に設けられている。可搬型記録媒体２１８としては、可搬型のメモリや光学式ディスク（例えば、Compact Disc(CD)やDigital Versatile Disc(DVD))、半導体メモリ等を適用してもよい。可搬型記録媒体２１８に実施形態の処理を行う制御プログラムが記録されていてもよい。
【０１１４】
図１０、１４に示すデータ記憶部２２は、ＲＡＭ２１２や補助記憶装置２１４等により実現されてもよい。図１０、１４に示す第２通信部２１は、通信インタフェース２１６により実現されてもよい。図１０、１４に示す制御部２３、および図１４に示す管理部２４は、与えられた制御プログラムをプロセッサ２１１が実行することにより実現されてもよい。
【０１１５】
ＲＡＭ２１２、ＲＯＭ２１３、補助記憶装置２１４および可搬型記録媒体２１８は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
【０１１６】
＜その他＞
本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【符号の説明】
【０１１７】
１    端末装置
２    表示装置
３    ネットワーク
４    管理サーバ
５    データベースサーバ
１１    第１通信部
１２    管理サーバ記憶部
１３    特定部
１４    選択部
２１    第２通信部
２２    データ記憶部
２２ａ  ＤＢ領域
２２ｂ  ログ領域
２２ｃ  キャッシュ領域
２２ｄ  管理領域
２３    制御部
２４    管理部
１００，２００    バス
１１１，２１１    プロセッサ
１１２，２１２    ＲＡＭ
１１３，２１３    ＲＯＭ
１１４，２１４    補助記憶装置
１１５，２１５    媒体接続部
１１６，２１６    通信インタフェース
１１８，２１７    可搬型記録媒体
【図１】
2018194882.tif 000003
【図２】
2018194882.tif 000004
【図３】
2018194882.tif 000005
【図４】
2018194882.tif 000006
【図５】
2018194882.tif 000007
【図６】
2018194882.tif 000008
【図７】
2018194882.tif 000009
【図８】
2018194882.tif 000010
【図９】
2018194882.tif 000011
【図１０】
2018194882.tif 000012
【図１１】
2018194882.tif 000013
【図１２】
2018194882.tif 000014
【図１３】
2018194882.tif 000015
【図１４】
2018194882.tif 000016
【図１５】
2018194882.tif 000017
【図１６】
2018194882.tif 000018
【図１７】
2018194882.tif 000019
【図１８】
2018194882.tif 000020
【図１９】
2018194882.tif 000021
【図２０】
2018194882.tif 000022