JP6870466B2 - 制御プログラム、制御方法、制御装置、及びデータベースサーバ - Google Patents

制御プログラム、制御方法、制御装置、及びデータベースサーバ Download PDF

Info

Publication number
JP6870466B2
JP6870466B2 JP2017095374A JP2017095374A JP6870466B2 JP 6870466 B2 JP6870466 B2 JP 6870466B2 JP 2017095374 A JP2017095374 A JP 2017095374A JP 2017095374 A JP2017095374 A JP 2017095374A JP 6870466 B2 JP6870466 B2 JP 6870466B2
Authority
JP
Japan
Prior art keywords
log
storage unit
acquisition request
received
terminal device
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
JP2017095374A
Other languages
English (en)
Other versions
JP2018194882A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017095374A priority Critical patent/JP6870466B2/ja
Priority to EP18171457.7A priority patent/EP3401791A1/en
Priority to US15/974,874 priority patent/US20180329797A1/en
Publication of JP2018194882A publication Critical patent/JP2018194882A/ja
Application granted granted Critical
Publication of JP6870466B2 publication Critical patent/JP6870466B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、制御プログラム、制御方法、制御装置、及びデータベースサーバに関する。
利用者からのHypertext Transfer Protocol(HTTP)リクエストを受け付けて、DataBase(DB)インスタンス用仮想マシン(Virtual Machine:VM)を利用者に割り当てる、Database as a Service(DBaaS)が用いられている。
DBaaSは、DBに対する各種操作を、例えば、HTTPを用いたリクエストに応じて実行する。例えば、ユーザ端末は、DBのログを参照する際にHTTPを用いた参照リクエストをDBaaSに送り、ログデータを取得する。
関連する技術として、メールサーバと連動するメッセージ分類機能により分類されたサービス内容に応じて分析を実行し、Webページに分析結果を反映する技術が提案されている(例えば、特許文献1を参照)。
また、取得したログ抽出条件に対応してログ統合管理ファイルへアクセスし整形したログデータを抽出し、整形したログデータの抽出結果を画面に表示する技術が提案されている(例えば、特許文献2を参照)。
また、記録対象とするデータ項目に対応して、保存対象とするか否かを示す制御値、保存対象のデータ範囲を示す制御値、及び保存形式を示す制御値を特定し、特定された制御値から保存方法を決定する技術が提案されている(例えば、特許文献3を参照)。
特開2004−280423号公報 特開2008−77611号公報 特開2010−140111号公報
ログのデータ量が大きい場合、データベースサーバは、1回のリクエストに対して全てのログデータを返すのではなく、一部のログデータをリクエストの送信元の端末に出力することが考えられる。
例えば、ログデータを複数ページに分割してユーザ端末に表示するページ方式を用いた場合、データベースサーバは、ページ番号を指定したHTTPリクエストをユーザ端末から受信し、対象ページのログデータをユーザ端末に送信する。
ページ方式において、ユーザ端末がログデータを取得した後に新規ログが発生し、発生後に再度、ログデータ取得した場合、各ページに含まれるログの内容が変更されている可能性があることを発明者は見出した。例えば、ユーザ端末が、参照済みのログの過去のログを参照するために、参照済みのページの前のページを指定してログを取得すると、すでに参照しているログを取得する可能性がある。そして、ユーザが、再度、ページ番号を指定して他のページを参照することとなる可能性がある。すなわち、ログ参照中に新規ログが発生することにより、ログ探索の際の作業負荷が増加するおそれがある。
1つの側面として、本発明は、ログ探索の際の作業負荷を軽減することを目的とする。
1つの態様では、制御プログラムは、コンピュータに、端末装置からログの取得要求を受け付けると、前記端末装置から過去に受け付けたログの取得要求に関する情報を記憶する記憶部を参照して、前記端末装置から受け付けた複数の取得要求のパターンを特定し、特定した前記パターンに基づき、ログを受け付けるごとに該ログを記憶させる第1の記憶部と、特定のイベントに応じて、該イベントに応じた時刻に前記第1の記憶部に記憶されていたログを記憶させる第2の記憶部とのうち、いずれかの記憶部を選択し、受け付けた前記取得要求と、選択した前記記憶部の識別情報と、を送信する処理を実行させる。
1つの側面によれば、ログ探索の際の作業負荷を軽減することができる。
実施形態のシステムの全体構成の一例を示す図である。 ログ取得の概要を示す図である。 ページ1を指定した場合のログ表示内容の一例を示す図である。 ページ2を指定した場合のログ表示内容の第1の例を示す図である。 ページ2を指定した場合のログ表示内容の第2の例を示す図である。 開始位置を指定したログ表示内容の第1の例を示す図である。 開始位置を指定したログ表示内容の第2の例を示す図である。 管理サーバの一例を示す図である。 履歴管理情報の一例を示す図である。 第1の実施形態におけるデータベースサーバの一例を示す図である。 管理サーバの処理の流れの一例を示すフローチャートである。 図11のステップS102の処理の流れを示すフローチャートである。 第1の実施形態におけるデータベースサーバの処理の流れを示すフローチャートである。 第2の実施形態におけるデータベースサーバの一例を示す図である。 対応情報の一例を示す図である。 第2の実施形態におけるデータベースサーバの処理の流れを示すフローチャートである。 データベースサーバの処理を実行する前の各情報を示す図である。 データベースサーバの処理を実行した後の各情報を示す図である。 管理サーバのハードウェア構成の一例を示す図である。 データベースサーバのハードウェア構成の一例を示す図である。
<実施形態のシステムの全体構成の一例>
以下、図面を参照して、実施形態について説明する。図1は、実施形態のシステムの全体構成の一例を示す。実施形態のシステムは、端末装置1と表示装置2とネットワーク3と管理サーバ4とデータベースサーバ5とを含む。
端末装置1は、管理サーバ4に各種リクエストを送信する。各種リクエストは、例えば、DBの参照、ログデータの取得等を要求するHTTPリクエストである。端末装置1は、コンピュータおよび制御装置の一例である。
表示装置2は、端末装置1から受信した情報の表示を行う。表示装置2は、例えば、端末装置1からDBに関するログデータを受信して、ログ内容(ログデータの内容)を画面に表示する。表示装置2は、例えば、ログ内容をページごとに表示する。例えば、ノートパソコンやタブレット端末等のように、端末装置1と表示装置2とは一体の装置であってもよい。
ネットワーク3は、例えば、インターネットである。ネットワーク3は、例えばLocal Area Network(LAN)であってもよい。
管理サーバ4は、データベースサーバ5を管理する。管理サーバ4は、例えば、受信したリクエストに基づいて、データベースサーバ5からログデータを取得する。
データベースサーバ5は、DBおよびDBに関するログデータ等を記憶する。データベースサーバ5は、例えば、DBaaSに適用される。
図2は、ログ取得の概要を示す図である。端末装置1は、ログ取得要求として図2の例に示すHTTPリクエストを管理サーバ4に送信する。管理サーバ4は、HTTPリクエストで指定されたログデータをデータベースサーバ5から取得し、端末装置1に送信する。端末装置1は、受信したログデータに基づいて、ログ内容を表示装置2に表示する。ログの表示内容について、詳細は後述する。
<ログ表示の例>
ページ形式のログ表示方法の例について説明する。図3は、ページ1を指定した場合のログ表示内容の一例を示す図である。図4は、ページ2を指定した場合のログ表示内容の第1の例を示す図である。図5は、ページ2を指定した場合のログ表示内容の第2の例を示す図である。
ユーザがページ1のログを参照するために、ページ1を指定する操作を端末装置1に行ったとする。端末装置1は、ユーザの操作に応じて、ページ1を指定するログ取得要求を管理サーバ4に送信する。管理サーバ4は、データベースサーバ5からページ1に対応するログデータを取得し、取得したログデータを端末装置1に送信する。
端末装置1は、管理サーバ4から受信したログデータに基づいて、ログのページ1を表示装置2に表示する。図3に示すように、ログデータは、日時(ログ発生日時)とログ内容とを含む。図3に示す例では、1ページに4行(4レコード)のログが表示される。また、図3に示す例では、ページ1に最新のログが表示されるとする。
図3に示す例では、1/1 00:08におけるログにfailoverが発生していることが示されている。該failoverは、例えば、稼働中のサーバに異常が発生し、待機系のサーバに切り替わったことを示す。
failoverの原因を知るために、ユーザがページ1に表示されたログより過去のログを参照することが考えられる。そして、ユーザがページ2を指定する操作を端末装置1に行ったとする。端末装置1は、ユーザの操作に応じて、ページ2を指定するログ取得要求を管理サーバ4に送信する。管理サーバ4は、データベースサーバ5からページ2に対応するログデータを取得し、取得したログデータを端末装置1に送信する。
そして、端末装置1は、ページ2を表示装置2に表示する。図4に示すように、管理サーバ4がページ1に対応するログデータを取得してから、ページ2に対応するログデータを取得するまでの間に新たなログが1行発生していたとする。新たなログは、ページ1に含まれることとなるため、図3においてページ1に表示されていた、日時が1/1 00:07であるログは、ページ2に含まれることとなる。すなわち、次のページを参照したにも関わらず、前回の表示内容と新たな表示内容とが重複する。
次に、管理サーバ4がページ1のログデータを取得してから、ページ2のログデータを取得するまでの間に新たなログが8行追加される例を説明する。
端末装置1が図3に示す画面を表示した後、ユーザがページ1に表示されたログより過去のログを参照するために、ページ2を指定する操作を端末装置1に行ったとする。端末装置1は、ユーザの操作に応じて、ページ2を指定するログ取得要求を管理サーバ4に送信する。管理サーバ4は、データベースサーバ5からページ2に対応するログデータを取得し、取得したログデータを端末装置1に送信する。
そして、端末装置1は、ページ2を表示装置2に表示する。管理サーバ4が図3に示すページ1のログデータを取得してから、ページ2のログデータを取得するまでの間に新たなログが8行発生していたとする。新たなログは、ページ1およびページ2に含まれることとなる。従って、端末装置1は、図5に示すように、ページ2に新たなログを表示することなる。すなわち、ユーザがページ1に表示されたログより過去のログを参照しようとしたにも関わらず、前回の表示されたログより新しいログが表示される。
図3〜図5に示すように、ページ方式でログを表示する場合、ユーザが意図しないログが表示される可能性があるため、ユーザが再度リクエストを要求する操作を行うこととなり、ログ探索の作業負荷が増加するおそれがある。また、上記リクエストの再度の処理のために、管理サーバ4、データベースサーバ5の処理負荷、および各装置間の通信負荷が増加するおそれがある。
次に、開始位置を指定したログ表示方法について説明する。図6は、開始位置を指定したログ表示内容の第1の例を示す。
ユーザが所定位置のログを参照するために、ログ取得開始位置を示すmarkerとして996を指定する操作を端末装置1に行ったとする。端末装置1は、ユーザの操作に応じて、markerとして996を指定するログ取得要求を管理サーバ4に送信する。なお、本例では、指定されたmarkerが示すログの次の4行のログを取得対象とする。管理サーバ4は、データベースサーバ5から、995から992までのmarkerに対応するログデータを取得し、取得したログデータを端末装置1に送信する。
端末装置1は、管理サーバ4から受信したログデータに基づいて、表示装置2にログを表示する。本例では、端末装置1は、図6に示すように、995から992までのmarkerに対応するログを表示装置2に表示する。
そして、ユーザが現在参照しているログの次の新しいログを参照するために、ログ取得開始位置を示すmarkerを指定する操作を、ユーザが端末装置1に行うことを想定する。例えば、ユーザがエラーの原因を探るために過去のログを参照していたが、原因が見つからないため、見直しを行うことが考えられる。本例では、上述のように、指定されたmarkerが示すログの次の4行のログが表示対象となる。
従って、ユーザは、新しいログを参照するために、以下の式(1)の計算を行うことにより、指定するmarker(指定marker)を得る。
指定marker=表示中の最大marker+1ページあたりのログ数+1 (1)
図6に示す例では、1ページあたりのログ数は4行であり、図6において、表示中の最大markerは995である。従って、ユーザは、図6に示す表示内容の次の新しいログを参照するために、以下の計算を行うことにより、指定するmarkerを得る。
995+4+1=1000
上記計算結果に基づいて、ユーザは、ログ取得開始位置を示すmarkerとして1000を指定する操作を端末装置1に行う。端末装置1は、ユーザの操作に応じて、markerとして1000を指定するログ取得要求を管理サーバ4に送信する。管理サーバ4は、データベースサーバ5から、999から996までのmarkerに対応するログデータを取得し、取得したログデータを端末装置1に送信する。
図7は、開始位置を指定したログ表示内容の第2の例を示す。端末装置1は、管理サーバ4から受信したログデータに基づいて、表示装置2にログを表示する。本例では、端末装置1は、図7に示すように、999から996までのmarkerに対応するログを表示装置2に表示する。
以上のように、開始位置を指定したログ表示方法を用いた場合、現在表示しているログより新しいログを参照する際に、ユーザが指定する開始位置(上記例におけるmarker)を計算する。該開始位置の計算は、ユーザにより行なわれるため、ユーザがログ探索を行う際におけるユーザの作業負荷が大きくなる。
<管理サーバの一例>
図8は、管理サーバの一例を示す図である。管理サーバ4は、第1通信部11と管理サーバ記憶部12と特定部13と選択部14とを含む。
第1通信部11は、端末装置1からのログの取得要求(ログ取得要求)を受信する。ログ取得要求は、例えば、HTTPリクエストであり、ユーザIDとログ取得対象のDBIDとログ取得対象範囲を示す情報とを含む。ログ取得対象範囲を示す情報は、例えば、ページ番号である。
管理サーバ記憶部12は、端末装置1から過去に受け付けたログ取得要求に関する履歴管理情報を記憶する。履歴管理情報の詳細は後述する。
特定部13は、第1通信部11を介して端末装置1からのログ取得要求を受け付けると、管理サーバ記憶部12に記憶された履歴管理情報を参照して、端末装置1から受け付けた複数の取得要求のパターンを特定する。
複数の取得要求のパターンは、例えば、複数の取得要求の頻度を示す。複数の取得要求のパターンは、例えば、今回のログ取得要求を受け付けた時刻と、該ログ取得要求と同じユーザからの同じDBに対する直前のログ取得要求の時刻とを含む。複数の取得要求のパターンは、例えば、今回の取得要求と同じユーザからの同じDBに対する、複数のログ取得要求の平均時間間隔であってもよい。
選択部14は、特定部13が特定したパターンに基づいて、データベースサーバ5が有するログを記憶する領域とログキャッシュを記憶する領域とのいずれかの記憶領域を、参照先の記憶領域として選択する。
第1通信部11は、端末装置1から受け付けた取得要求と、選択部14が選択した記憶領域を識別する識別情報とを、データベースサーバ5に送信する。
図9は、過去のログの取得要求に関する履歴管理情報の一例を示す図である。履歴管理情報は、管理サーバ記憶部12に記憶される。図9に示すように、履歴管理情報には、受付時刻とDB Identification(ID)とユーザIDとが対応付けて記録されている。受付時刻は、管理サーバ4が端末装置1からログ取得要求を受け付けた時刻である。また、ログ取得要求に含まれていたDBIDおよびユーザIDが、履歴管理情報に記録される。
<第1の実施形態におけるデータベースサーバの一例>
図10は、第1の実施形態におけるデータベースサーバ5の一例を示す図である。データベースサーバ5は、第2通信部21とデータ記憶部22と制御部23とを含む。
第2通信部21は、管理サーバ4から、ログ領域22bまたはキャッシュ領域22cに対するログ取得要求を受信する。
データ記憶部22は、DB領域22aとログ領域22bとキャッシュ領域22cを含む。ログ領域22bは、第1の記憶部の一例である。キャッシュ領域22cは、第2の記憶部の一例である。なお、第1の記憶部と第2の記憶部とは異なる記憶装置であってもよい。
DB領域22aは、DBを記憶する。
ログ領域22bは、制御部23の指示に応じて、ログを受け付けるごとに該ログを記憶させる。本実施形態では、ログ領域22bは、DB領域22aに記憶されるDBのログデータを記憶する。ログデータは、例えば、DB領域22aに記憶されたDBに新たなイベントが発生した際に更新される。ログデータは、例えば、複数のログファイルを含んでいてもよい。ログデータは、例えば、ログが記録されたDBであってもよい。
キャッシュ領域22cは、制御部23の指示に応じて、特定のイベントに応じて、該イベントに応じた時刻にログ領域22bに記憶されていたログデータをログキャッシュデータとして記憶させる。特定のイベントは、例えば、ログ領域22bに記憶されたログの取得に関する依頼(ログ取得要求)の受け付けである。
すなわち、キャッシュ領域22cに記憶されるログキャッシュデータは、所定タイミングにおけるログデータのコピーであり、DB領域22aに記憶されたDBにログ取得対象である新たな事象が発生しても更新されない。ログキャッシュデータは、例えばDBごと、かつ、ユーザごとに生成される。ログデータが複数のログファイルを含む場合、ログキャッシュデータは、例えば、最新のログファイルのコピーである。
制御部23は、データベースサーバ5における各種処理を実行する。
<管理サーバの処理の流れの一例>
図11は、管理サーバの処理の流れの一例を示すフローチャートである。第1通信部11は、端末装置1からのログの取得要求を受け付ける(ステップS101)。
特定部13は、第1通信部11を介して端末装置1からのログの取得要求を受け付けると、管理サーバ記憶部12に記憶された履歴管理情報を参照して、端末装置1から受け付けた複数の取得要求のパターンを特定する(ステップS102)。複数の取得要求のパターンは、例えば、今回の取得要求を受け付けた時刻と、該取得要求と同じユーザIDと同じDBIDとを含む直前のログ取得要求の時刻とを含む。ステップS102の処理について、詳細は後述する。
選択部14は、今回の取得要求を受け付けた時刻から、該取得要求と同じユーザIDと同じDBIDを含む直前のログ取得要求の時刻までの時間間隔が算出済みであり、かつ、該時間隔が所定の閾値を超えるかを判定する(ステップS103)。所定の閾値は、例えば、2秒であるとする。時間間隔は、パターンの一例である。
ステップS103でNOの場合、選択部14は、ログの取得先として、データベースサーバ5のデータ記憶部22に含まれるログ領域22bを選択する(ステップS104)。ステップS103でYESの場合、選択部14は、ログの取得先として、データベースサーバ5のデータ記憶部22内のキャッシュ領域22cを選択する(ステップS105)。ステップS103でYESの場合、ユーザがログを探索中であると考えられる。
そして、第1通信部11は、端末装置1から受け付けたログ取得要求と、選択部14が選択した記憶領域を識別する識別情報とを、データベースサーバ5に送信する(ステップS106)。選択部14が選択した記憶領域を識別する識別情報は、ログ領域22bまたはキャッシュ領域22cを示す識別情報である。
第1通信部11は、データベースサーバ5からログデータまたはログキャッシュデータを受信した場合(ステップS107でYES)、受信したログデータまたはログキャッシュデータを端末装置1に送信する(ステップS108)。第1通信部11がログデータまたはログキャッシュデータを受信しない場合(ステップS107でNO)、処理は次のステップに進まない。
以上のように、管理サーバ4は、ユーザがログを探索中である場合(ステップS103でYES)、キャッシュ領域22cを選択することにより、ログキャッシュを取得する。ログキャッシュは、新たなログが発生しても更新されないため、ページ内のログ内容が前回参照時点から変更されていない。従って、管理サーバ4は、ユーザが意図しないログが表示されることを抑制してログ取得の回数を減らすことができるため、ログ探索の際の作業負荷を軽減することができる。また、管理サーバ4およびデータベースサーバ5の処理負荷、端末装置1と管理サーバ4との間の通信負荷、管理サーバ4とデータベースサーバ5との間の通信負荷等を抑制することができる。
また、本実施形態の管理サーバ4を用いた場合、ログ表示方法は、ページ方式となり、図6、7における開始位置を指定した方式のようにユーザが指定位置を計算する手間がないため、ログ探索の際の作業負荷を軽減することができる。
図12は、図11のステップS102の処理の流れを示すフローチャートである。特定部13は、端末装置1から取得したログ取得要求の受付時間と、ログ取得要求において指定されているDBIDおよびユーザIDとを履歴管理情報に記録する(ステップS201)。
特定部13は、ログ取得要求において指定されているユーザIDおよびDBIDの組と一致するユーザIDおよびDBIDの組に関する履歴が履歴管理情報に存在するか判定する(ステップS202)。ステップS202でNOの場合、ステップS102の処理を終了する。
ステップS202でYESの場合、特定部13は、時間間隔として、今回の取得要求の受付時刻と、該取得要求と同じユーザからの同じDBに対する直前のログ取得要求の受付時刻との差を算出する(ステップS203)。
<第1の実施形態におけるデータベースサーバの処理の流れの一例>
図13は、第1の実施形態におけるデータベースサーバの処理の流れを示すフローチャートである。なお、図13に示す処理は、例えば、所定時間ごとに実行される。
制御部23は、管理サーバ4からログ領域22bに対するログ取得要求を受信したか判定する(ステップS301)。制御部23は、例えば、管理サーバ4からログ領域22bの識別情報とともにログ取得要求を受信したか判定する。
ステップS301でYESの場合、制御部23は、ログ領域22bから、ログ取得要求に含まれるDBIDに対応するログデータを取得する(ステップS304)。
制御部23は、ログ領域22bから取得したログデータを、ログ取得要求に含まれるDBIDとユーザIDとを対応づけてログキャッシュデータとしてキャッシュ領域22cに記憶する(ステップS305)。キャッシュ領域22cにログ取得要求に含まれるDBIDとユーザIDに対応するログキャッシュデータがすでに記憶されている場合、制御部23は、ログ領域22bから取得したログデータでキャッシュ領域22cのログキャッシュデータを更新する。 第2通信部21は、ログデータのうち、ログ取得要求に含まれる取得対象のページ番号に対応する部分(対象ページ)を管理サーバ4に送信する(ステップS306)。
ステップS301でNOの場合、管理サーバ4からキャッシュ領域22cに対するログ取得要求を受信したか判定する(ステップS302)。制御部23は、例えば、キャッシュ領域22cの識別情報とともにログ取得要求を受信したか判定する。ステップS302でNOの場合、制御部23は、処理を終了する。
ステップS302でYESの場合、制御部23は、取得対象のログキャッシュデータが存在するか判定する(ステップS303)。上述のように、ログキャッシュデータは、ユーザIDごと、かつ、DBIDごとに生成される。よって、制御部23は、例えば、ログ取得要求に含まれるユーザIDおよびDBIDに対応するログキャッシュデータが存在するか判定する。ステップS303でNOの場合、ログ取得要求に含まれるユーザIDおよびDBIDに対応するログキャッシュデータが存在しないため、処理は、ステップS304に移行する。
ステップS303でYESの場合、制御部23は、キャッシュ領域22cから取得対象のログキャッシュデータを取得する(ステップS307)。
第2通信部21は、ログキャッシュデータのうち、ログ取得要求に含まれる取得対象のページ番号に対応する部分を管理サーバ4に送信する(ステップS308)。
<第2の実施形態におけるデータベースサーバの一例>
図14は、第2の実施形態におけるデータベースサーバ5の一例を示す図である。図2に示すように、第2の実施形態におけるデータベースサーバ5は第2通信部21と、データ記憶部22と、制御部23と、管理部24とを含む。データ記憶部22は、DB領域22aとログ領域22bとキャッシュ領域22cと管理領域22dとを含む。管理領域22dは、第3の記憶部の一例である。
第2の実施形態におけるデータベースサーバ5は、管理領域22dと管理部24とを含む点で第1の実施形態におけるデータベースサーバ5と異なる。第1の実施形態と同様の構成については、説明を省略する。
管理領域22dは、ユーザの識別情報と、ユーザのログ取得要求に応じて特定のイベントが発生した際のキャッシュ領域22cに記憶されたログキャッシュデータの先頭位置を示す情報とが対応づけられた対応情報を記憶する。ユーザの識別情報は、例えば、ユーザIDである。先頭位置を示す情報は、例えば、先頭ログIDである。
管理部24は、ログの取得要求をキャッシュ領域22cの識別情報とともに受信した場合、ログの取得要求の依頼元のユーザIDと対応情報とに基づいて、先頭ログIDを取得する。管理部24は、先頭ログIDに基づいて、キャッシュ領域22cに記憶されたログキャッシュデータのうちの取得対象範囲(取得対象ページ)を取得する。
図15は、対応情報の一例である。対応情報は、ユーザIDと先頭ログIDとの関係を示す。先頭ログIDは、ログキャッシュデータの直前の更新時の先頭位置を示す。
対応情報は、データベースサーバ5が管理サーバ4からログ領域22bに対するログ取得要求を受信し、ログ領域22bのログデータでキャッシュ領域22cのログキャッシュデータが更新された場合に更新される。
管理部24は、対応情報のうち、受信したログ取得要求の依頼元ユーザに一致するユーザIDに対応する先頭ログIDを、記憶したログキャッシュデータの先頭IDで更新する。また、管理部24は、対応情報のうち、更新後のログキャッシュデータに含まれない先頭ログIDを含むレコードを削除する。
<第2の実施形態におけるデータベースサーバの処理の流れの一例>
図16は、データベースサーバの処理の流れを示すフローチャートである。なお、図16に示す処理は、例えば、所定時間ごとに実行されてもよい。
制御部23は、管理サーバ4からログ領域22bに対するログ取得要求を受信したか判定する(ステップS401)。制御部23は、例えば、管理サーバ4からログ領域22bの識別情報とともにログ取得要求を受信したか判定する。
ステップS401でYESの場合、制御部23は、ログ領域22bから、ログ取得要求に含まれるDBIDに対応するログデータを取得する(ステップS404)。
制御部23は、ログ領域22bから取得したログデータを、ログ取得要求に含まれるDBIDとユーザIDとを対応づけてログキャッシュデータとしてキャッシュ領域22cに記憶する(ステップS405)。
キャッシュ領域22cに、ログ取得要求に含まれるDBIDおよびユーザIDに対応するログキャッシュデータがすでに記憶されている場合、制御部23は、ログ領域22bから取得したログデータでキャッシュ領域22cのログキャッシュデータを更新する。
管理部24は、対応情報のうち、ログ取得要求の依頼元ユーザに一致するユーザIDに対応する先頭ログIDを、ステップS405で記憶したログキャッシュデータの先頭IDで更新する(ステップS406)。管理部24は、依頼元ユーザを、例えば、ログ取得要求に含まれるユーザIDで識別する。
管理部24は、対応情報のうち、更新後のログキャッシュデータに含まれない先頭ログIDを含むレコードを削除する(ステップS407)。対応情報は、ログキャッシュデータからのデータ取得時に使用されるためである。
第2通信部21は、ログデータのうち、ログ取得要求に含まれる取得対象のページ番号に対応する部分(対象ページ)を管理サーバ4に送信する(ステップS408)。
ステップS401でNOの場合、管理サーバ4からキャッシュ領域22cに対するログキャッシュの取得要求を受信したか判定する(ステップS402)。制御部23は、例えば、キャッシュ領域22cの識別情報とともにログ取得要求を受信したか判定する。ステップS402でNOの場合、制御部23は、処理を終了する。
ステップS402でYESの場合、管理部24は、対応情報に対象ユーザが存在するか判定する(ステップS403)。ステップS403でNOの場合、処理は、ステップS404に移行する。
ステップS403でYESの場合、管理部24は、対応情報から、ログ取得要求の依頼元ユーザの先頭ログIDを取得する(ステップS409)。管理部24は、依頼元ユーザを、例えば、ログ取得要求に含まれるユーザIDで識別する。
管理部24は、取得した先頭ログIDを開始位置として、ログキャッシュデータのうち、ログ取得要求に含まれる取得対象のページ番号に対応する部分を取得する(ステップS410)。
第2通信部21は、ログキャッシュデータのうち、ステップS410で取得した対象ページ部分を管理サーバ4に送信する(ステップS411)。
以上のように、本実施形態では、ログキャッシュデータは、DBごとに生成され、複数のユーザに共用される。したがって、ユーザごと、かつ、DBごとに生成される場合と比べてログキャッシュデータの量を抑制することができる。本実施形態では、対応情報が記憶されるが、対応情報は、通常、ログキャッシュデータよりデータ量が少ないためである。
また、対応情報にユーザ毎の前回の参照開始位置が記録されているため、ログキャッシュデータがユーザごとに記憶されていなくても、ユーザが意図したログが表示されるため、ログ探索の際の作業負荷を軽減することができる。
<第2の実施形態におけるデータベースサーバの処理の適用例>
次に、第2の実施形態におけるデータベースサーバの処理の適用例について説明する。図17は、データベースサーバの処理を実行する前の各情報を示す図である。図17(a)は、ログデータの一例である。ログデータは、ログIDごとにログ内容が記録されている。
図17(b)は、更新前のログキャッシュデータの一例である。図17(b)に示すログキャッシュデータは、ログIDが「1001」であるログが存在しておらず、ログIDが「500」であるデータが存在している点で図17(a)に示すログデータと異なる。
図17(c)は、更新前の対応情報の一例である。
図18は、データベースサーバの処理を実行した後の各情報を示す図である。図18は、図17に示す各情報に対して、図16のステップS404〜S407の処理を実行した後の各情報を示す。図18(a)は、ログデータの一例であり、図17(a)に示すログデータと同じである。
図18(b)は、更新後のログキャッシュデータの一例である。本例では、ステップS404、S405の処理により、図17(b)に示すログキャッシュデータが図17(a)に示すログデータで更新されたことを想定している。上述のように図17(a)と図18(a)は同じデータデーあるため、図18(b)に示すログキャッシュデータは、図17(a)および図18(a)に示すログデータと同じである。
図18(c)は、更新後の対応情報の一例である。本例では、ユーザIDが「100」であるユーザの取得要求により、ログデータが取得されたことを想定している。従って、図18(c)では、ユーザIDが「100」であるユーザの先頭IDが、ステップS406の処理により、ログキャッシュデータの先頭ログIDである「1001」に更新されている。
また、本例では、図17(b)に示すように、ログIDが「500」であるログがログキャッシュデータから削除されている。従って、図17(c)では、ユーザIDが「108」で、先頭ログIDが「500」であるデータが存在していたが、図18(c)では、ステップS407の処理により削除されている。
<管理サーバのハードウェア構成の一例>
次に、図19の例を参照して、管理サーバ4のハードウェア構成の一例を説明する。図19の例に示すように、バス100に対して、プロセッサ111とRandom Access Memory(RAM)112とRead Only Memory(ROM)113とが接続される。また、該バス100に対して、補助記憶装置114と媒体接続部115と通信インタフェース116とが接続される。
プロセッサ111はRAM112に展開されたプログラムを実行する。実行されるプログラムとしては、実施形態における処理を行う制御プログラムが適用されてもよい。
ROM113はRAM112に展開されるプログラムを記憶する不揮発性の記憶装置である。補助記憶装置114は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブや半導体メモリ等を補助記憶装置114に適用してもよい。補助記憶装置114に実施形態の処理を行う制御プログラムが記録されていてもよい。
媒体接続部115は、可搬型記録媒体118と接続可能に設けられている。可搬型記録媒体118としては、可搬型のメモリや光学式ディスク(例えば、Compact Disc(CD)やDigital Versatile Disc(DVD))、半導体メモリ等を適用してもよい。可搬型記録媒体118に実施形態の処理を行う制御プログラムが記録されていてもよい。
図8に示す管理サーバ記憶部12は、RAM112や補助記憶装置114等により実現されてもよい。図8に示す第1通信部11は、通信インタフェース116により実現されてもよい。図8に示す特定部13、選択部14は、与えられた制御プログラムをプロセッサ111が実行することにより実現されてもよい。
RAM112、ROM113、補助記憶装置114および可搬型記録媒体118は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
<データベースサーバのハードウェア構成の一例>
次に、図20の例を参照して、データベースサーバ5のハードウェア構成の一例を説明する。図20の例に示すように、バス200に対して、プロセッサ211とRandom Access Memory(RAM)212とRead Only Memory(ROM)213とが接続される。また、該バス200に対して、補助記憶装置214と媒体接続部215と通信インタフェース216とが接続される。
プロセッサ211はRAM212に展開されたプログラムを実行する。実行されるプログラムとしては、実施形態における処理を行う制御プログラムが適用されてもよい。
ROM213はRAM212に展開されるプログラムを記憶する不揮発性の記憶装置である。補助記憶装置214は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブや半導体メモリ等を補助記憶装置214に適用してもよい。補助記憶装置214に実施形態の処理を行う制御プログラムが記録されていてもよい。
媒体接続部215は、可搬型記録媒体218と接続可能に設けられている。可搬型記録媒体218としては、可搬型のメモリや光学式ディスク(例えば、Compact Disc(CD)やDigital Versatile Disc(DVD))、半導体メモリ等を適用してもよい。可搬型記録媒体218に実施形態の処理を行う制御プログラムが記録されていてもよい。
図10、14に示すデータ記憶部22は、RAM212や補助記憶装置214等により実現されてもよい。図10、14に示す第2通信部21は、通信インタフェース216により実現されてもよい。図10、14に示す制御部23、および図14に示す管理部24は、与えられた制御プログラムをプロセッサ211が実行することにより実現されてもよい。
RAM212、ROM213、補助記憶装置214および可搬型記録媒体218は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
<その他>
本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
1 端末装置
2 表示装置
3 ネットワーク
4 管理サーバ
5 データベースサーバ
11 第1通信部
12 管理サーバ記憶部
13 特定部
14 選択部
21 第2通信部
22 データ記憶部
22a DB領域
22b ログ領域
22c キャッシュ領域
22d 管理領域
23 制御部
24 管理部
100,200 バス
111,211 プロセッサ
112,212 RAM
113,213 ROM
114,214 補助記憶装置
115,215 媒体接続部
116,216 通信インタフェース
118,217 可搬型記録媒体

Claims (9)

  1. コンピュータに、
    端末装置からログの取得要求を受け付けると、前記端末装置から過去に受け付けたログの取得要求に関する情報を記憶する記憶部を参照して、前記端末装置から受け付けた複数の取得要求のパターンを特定し、
    特定した前記パターンに基づき、ログを受け付けるごとに該ログを記憶させる第1の記憶部と、特定のイベントに応じて、該イベントに応じた時刻に前記第1の記憶部に記憶されていたログを記憶させる第2の記憶部とのうち、いずれかの記憶部を選択し、
    受け付けた前記取得要求と、選択した前記記憶部の識別情報と、を送信する、
    処理を実行させる制御プログラム。
  2. 前記パターンは、複数の取得要求の頻度を示す
    ことを特徴とする請求項1記載の制御プログラム。
  3. 前記端末装置からのログの取得要求の時間間隔が所定の閾値以上である場合、前記第1の記憶部を選択し、前記時間間隔が所定の閾値未満場合、前記第2の記憶部を選択する、
    処理を実行させることを特徴とする請求項2記載の制御プログラム。
  4. 前記ログの取得要求は、前記ログのうちの取得対象範囲を示す情報を含む
    ことを特徴とする請求項1乃至3のうち何れか1項に記載の制御プログラム。
  5. 前記特定のイベントは、前記第1の記憶部に記憶された前記ログの取得に関する依頼の受け付けである
    ことを特徴とする請求項1乃至4のうち何れか1項に記載の制御プログラム。
  6. コンピュータが、
    端末装置からログの取得要求を受け付けると、前記端末装置から過去に受け付けたログの取得要求に関する情報を記憶する記憶部を参照して、前記端末装置から受け付けた複数の取得要求のパターンを特定し、
    特定した前記パターンに基づき、ログを受け付けるごとに該ログを記憶させる第1の記憶部と、特定のイベントに応じて、該イベントに応じた時刻に前記第1の記憶部に記憶されていたログを記憶させる第2の記憶部とのうち、いずれかの記憶部を選択し、
    受け付けた前記取得要求と、選択した前記記憶部の識別情報と、を送信する、
    処理を実行することを特徴とする制御方法。
  7. 端末装置からログの取得要求を受け付けると、前記端末装置から過去に受け付けたログの取得要求に関する情報を記憶する記憶部を参照して、前記端末装置から受け付けた複数の取得要求のパターンを特定する特定部と、
    特定した前記パターンに基づき、ログを受け付けるごとに該ログを記憶させる第1の記憶部と、特定のイベントに応じて、該イベントに応じた時刻に前記第1の記憶部に記憶されていたログを記憶させる第2の記憶部とのうち、いずれかの記憶部を選択する選択部と、
    受け付けた前記取得要求と、選択した前記記憶部の識別情報と、を送信する通信部と、
    を備えることを特徴とする制御装置。
  8. ログを受け付けるごとに該ログを記憶させる第1の記憶部と、
    特定のイベントに応じて、該イベントに応じた時刻に前記第1の記憶部に記憶されていたログを記憶させる第2の記憶部と、を備え、
    前記特定のイベントは、前記第1の記憶部に記憶された前記ログの取得に関する依頼の受け付けである
    ことを特徴とするデータベースサーバ。
  9. ユーザの識別情報と、前記ユーザの要求に応じて前記特定のイベントが発生した際の前記第2の記憶部に記憶されたログの先頭位置を示す情報とが対応づけられた対応情報を記憶する第3の記憶部と、
    ログの取得要求を前記第2の記憶部の識別情報とともに受信した場合、前記ログの取得要求の依頼元のユーザの識別情報と前記対応情報とに基づいて、前記先頭位置を取得し、前記先頭位置に基づいて、前記第2の記憶部に記憶されたログのうちの取得対象範囲を取得する管理部と、
    を備えることを特徴とする請求項8記載のデータベースサーバ。
JP2017095374A 2017-05-12 2017-05-12 制御プログラム、制御方法、制御装置、及びデータベースサーバ Active JP6870466B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017095374A JP6870466B2 (ja) 2017-05-12 2017-05-12 制御プログラム、制御方法、制御装置、及びデータベースサーバ
EP18171457.7A EP3401791A1 (en) 2017-05-12 2018-05-09 Log output control apparatus, log output control method, and database server
US15/974,874 US20180329797A1 (en) 2017-05-12 2018-05-09 Log output control apparatus, log output control method, and database server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017095374A JP6870466B2 (ja) 2017-05-12 2017-05-12 制御プログラム、制御方法、制御装置、及びデータベースサーバ

Publications (2)

Publication Number Publication Date
JP2018194882A JP2018194882A (ja) 2018-12-06
JP6870466B2 true JP6870466B2 (ja) 2021-05-12

Family

ID=62245127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017095374A Active JP6870466B2 (ja) 2017-05-12 2017-05-12 制御プログラム、制御方法、制御装置、及びデータベースサーバ

Country Status (3)

Country Link
US (1) US20180329797A1 (ja)
EP (1) EP3401791A1 (ja)
JP (1) JP6870466B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110427299B (zh) * 2019-07-19 2022-02-11 腾讯科技(深圳)有限公司 微服务系统应用的日志处理方法、相关设备及系统
CN110908967B (zh) * 2019-11-13 2022-08-12 北京百度云途腾科技有限责任公司 用于存储日志的方法、装置、设备和计算机可读介质
CN111193619B (zh) * 2019-12-20 2023-07-04 视联动力信息技术股份有限公司 一种日志文件的采集方法及装置
CN111274059B (zh) * 2020-01-21 2023-10-10 浙江大华技术股份有限公司 一种从设备的软件异常处理方法及装置
CN111343045B (zh) * 2020-02-14 2022-06-28 青岛聚看云科技有限公司 调整心跳频率的方法及装置
CN112231287A (zh) * 2020-09-06 2021-01-15 厦门天锐科技股份有限公司 系统日志的处理方法、装置、电子设备及介质
CN112351090B (zh) * 2020-10-29 2024-04-05 深圳Tcl新技术有限公司 基于智能大屏的日志信息传输方法、装置及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280423A (ja) 2003-03-14 2004-10-07 Mitsubishi Electric Building Techno Service Co Ltd ロギング分析サービスシステム
JP2008077611A (ja) 2006-09-25 2008-04-03 Hitachi Software Eng Co Ltd ログ統合管理システム
JP2009253564A (ja) * 2008-04-04 2009-10-29 Fuji Xerox Co Ltd ログ情報提供装置、ログ管理システム及びプログラム
JP2010140111A (ja) 2008-12-09 2010-06-24 Ricoh Co Ltd 機器管理装置、機器管理システム、ログ管理方法、ログ管理プログラム、及びそのプログラムを記録した記録媒体
JP2012088849A (ja) * 2010-10-18 2012-05-10 Ricoh Co Ltd 画像形成装置、ログ管理方法、及びログ管理プログラム
US9348883B2 (en) * 2011-06-01 2016-05-24 Clustrix, Inc. Systems and methods for replication replay in a relational database
JP2016009220A (ja) * 2014-06-20 2016-01-18 株式会社東芝 ストレージ装置、通信装置、及びストレージ制御システム
US10277672B2 (en) * 2015-04-17 2019-04-30 Zuora, Inc. System and method for real-time cloud data synchronization using a database binary log
US10296661B2 (en) * 2015-09-11 2019-05-21 Salesforce.Com, Inc. Processing log files using a database system
US20170193039A1 (en) * 2015-12-30 2017-07-06 Dropbox, Inc. Servicing queries of an event log
US11423053B2 (en) * 2016-01-30 2022-08-23 Micro Focus Llc Log event cluster analytics management

Also Published As

Publication number Publication date
JP2018194882A (ja) 2018-12-06
EP3401791A1 (en) 2018-11-14
US20180329797A1 (en) 2018-11-15

Similar Documents

Publication Publication Date Title
JP6870466B2 (ja) 制御プログラム、制御方法、制御装置、及びデータベースサーバ
CN110046133B (zh) 一种存储文件系统的元数据管理方法、装置及系统
JP2004280780A (ja) バックアップ方法、システム、及びプログラム
JP2014056319A (ja) 情報処理装置およびプログラム、制御方法
JP5652480B2 (ja) データベース更新通知方法
CN110245129B (zh) 一种分布式全局数据去重方法和装置
CN110008197B (zh) 一种数据处理方法、系统及电子设备和存储介质
JP2010072984A (ja) ログ管理サーバ
JP2018005299A (ja) データベース管理装置、データベース管理方法、およびデータベース管理プログラム
JP4500318B2 (ja) 分散トランザクション処理方法、装置、及びプログラム
JP2009129067A (ja) ファイル検索方法、ファイル検索装置、検索システム、及び、ファイル検索プログラム
US9785724B2 (en) Secondary queue for index process
CN106503186A (zh) 一种数据管理方法、客户端及系统
US9870385B2 (en) Computer system, data management method, and computer
US20200236244A1 (en) Information processing system and apparatus and non-transitory computer readable medium
US20170262439A1 (en) Information processing apparatus and non-transitory computer readable medium
CN112632211A (zh) 用于移动机器人的语义信息处理方法与设备
JP6834242B2 (ja) 情報処理装置及びプログラム
JP5223293B2 (ja) 位置表現抽出装置、方法及びプログラム
JP2009009182A (ja) 地物画像データ表示装置及び地物画像データ表示プログラム
CN110597828A (zh) 一种数据库变更方法、装置、设备及存储介质
CN114860655B (zh) 文件处理方法、装置及存储介质
US11977487B2 (en) Data control device, storage system, and data control method
CN117762336B (zh) 针对Ceph对象的定期删除方法、装置及设备
JP5316015B2 (ja) 情報処理装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210329

R150 Certificate of patent or registration of utility model

Ref document number: 6870466

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150