[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2012203792A - 有効期限算出装置、有効期限算出方法及び有効期限算出プログラム - Google Patents

有効期限算出装置、有効期限算出方法及び有効期限算出プログラム Download PDF

Info

Publication number
JP2012203792A
JP2012203792A JP2011069667A JP2011069667A JP2012203792A JP 2012203792 A JP2012203792 A JP 2012203792A JP 2011069667 A JP2011069667 A JP 2011069667A JP 2011069667 A JP2011069667 A JP 2011069667A JP 2012203792 A JP2012203792 A JP 2012203792A
Authority
JP
Japan
Prior art keywords
search
expiration date
cache data
cache
response
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.)
Withdrawn
Application number
JP2011069667A
Other languages
English (en)
Inventor
So Hibino
壮 日比野
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011069667A priority Critical patent/JP2012203792A/ja
Publication of JP2012203792A publication Critical patent/JP2012203792A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】有効性の高いキャッシュデータの管理方法を提供する。
【解決手段】検索時間計測部107により、RDBMS2に対して検索を実行してから検索結果が得られるまでの検索応答時間を計測し、有効期限算出部108により、検索応答時間が長い検索結果のキャッシュデータに対してより長い有効期限を動的に設定する。これにより、RDBMS2への検索応答時間が長くRDBMS2への負荷が大きい検索結果のキャッシュデータが破棄されにくくなるので、有効性の高いキャッシュデータ管理が可能となる。
【選択図】図1

Description

本発明は、データベースのキャッシュ技術に関する。
近年、Internet Protocol(IP)を利用してテレビ放送などの映像を配信するIPTVサービスが広まっている。IPTVサービスでは非常に多くのコンテンツが流通するので、所望のコンテンツを視聴するためには、放送番組やビデオオンデマンド(Video On Demand:VOD)コンテンツのタイトル、概要、出演者等のコンテンツに関する番組メタデータを利用した検索が欠かせない。
コンテンツの検索システムとして、例えば、ウェブブラウザからの検索要求を受け付けるWebサーバ層、番組メタデータの検索等の処理を行うWebアプリケーション層、番組メタデータを格納するRelational DataBase Management System(RDBMS)を備えたデータベース層の3層で構成されるWeb3層構成のシステムが知られている。
検索システムでは、検索結果の返却を高速化するために、使用頻度の高いデータをキャッシュとして高速なメモリ上に保持しておく方法が取られる。キャッシュを保持するメモリは限られているため、使用頻度の低いキャッシュ、古いキャッシュは削除される。キャッシュの有効期限は、キャッシュの作成時刻に一定の時間を加えることで決定される(例えば、特許文献1参照)。
特開平10−124372号公報
Web3層構成をとるコンテンツの検索システムにおいて、RDBMSに与える負荷の観点から見ると、アクセス頻度が高いデータ、RDBMSからの応答時間が長いデータほど該当データをキャッシュとしてメモリ上に保持しておく有効性が高いと考えられる。
通常では、キャッシュに利用できるメモリの残容量が無くなった時点で新たなキャッシュデータを格納する場合、メモリ上の有効期限が切れたキャッシュデータを削除して新たなキャッシュデータを格納する。有効期限が切れたキャッシュデータが無い場合には、Least Recently Used(LRU)に従って、最後に使われてから最も時間が経過したキャッシュデータを削除して新たなキャッシュデータを格納する。
しかしながら、上記の方式の場合、アクセス頻度が高いキャッシュデータはLRUで保護されるが、アクセス頻度があまり高くないがRDBMSへの負荷が高いキャッシュデータは、一定の時間を加えることで設定した有効期限が切れた段階で削除されてしまう可能性がある。
本発明は、上記に鑑みてなされたものであり、有効性の高いキャッシュデータの管理方法を提供することを目的とする。
第1の本発明に係る有効期限算出装置は、データベースの検索結果をキャッシュデータとして保存する際に、当該キャッシュデータの有効期限を算出する有効期限算出装置であって、データベースに対して検索を実行してから検索結果が得られるまでの検索応答時間を計測する計測手段と、前記検索結果をキャッシュデータとして保存しておく有効期限を前記検索応答時間に比例させて算出する算出手段と、を有することを特徴とする。
第2の本発明に係る有効期限算出方法は、データベースの検索結果をキャッシュデータとして保存する際に、当該キャッシュデータの有効期限を算出する有効期限算出方法であって、計測手段による、データベースに対して検索を実行してから検索結果が得られるまでの検索応答時間を計測するステップと、算出手段による、前記検索結果をキャッシュデータとして保存しておく有効期限を前記検索応答時間に比例させて算出するステップと、を有することを特徴とする。
第3の本発明に係る有効期限算出プログラムは、データベースの検索結果をキャッシュデータとして保存する際に、当該キャッシュデータの有効期限を算出する有効期限算出プログラムであって、データベースに対して検索を実行してから検索結果が得られるまでの検索応答時間を計測する処理と、前記検索結果をキャッシュデータとして保存しておく有効期限を前記検索応答時間に比例させて算出する処理と、をコンピュータに実行させることを特徴とする。
本発明によれば、有効性の高いキャッシュデータの管理方法を提供することができる。
本実施の形態における有効期限算出装置を含むコンテンツ検索システムの構成を示す機能ブロック図である。 検索処理の流れを示すフローチャートである。 有効期限の算出処理の流れを示すフローチャートである。 キャッシュデータの保存処理の流れを示すフローチャートである。
以下、本発明の実施の形態について図面を用いて説明する。
図1は、本実施の形態における有効期限算出装置を含むコンテンツ検索システムの構成を示す機能ブロック図である。同図に示すコンテンツ検索システム1は、コンテンツの番組メタデータを格納したRDBMS2に接続され、端末4からネットワーク3を介して検索クエリを受信して検索結果を返却するものである。検索結果がキャッシュに存在する場合はその検索結果をキャッシュから読み出して返却し、検索結果がキャッシュに存在しない場合はRDBMS2から検索して検索結果を返却するとともに、その検索結果をキャッシュに保存する。検索結果をキャッシュに保存する際には、有効期限算出装置により、RDBMS2からの検索応答時間に応じて有効期限を設定する。以下、コンテンツ検索システム1について説明する。
図1に示すコンテンツ検索システム1は、クエリ受信部101、キャッシュ取得部102、構文解析部103、SQL生成部104、DB検索実行部105、検索結果取得部106、検索時間計測部107、有効期限算出部108、平均値記憶部109、応答キャッシュ記憶部110、応答データ生成部111、応答キャッシュ保存部112、および応答データ返却部113を備える。検索時間計測部107、有効期限算出部108、および平均値記憶部109が本実施の形態における有効期限算出装置に相当する。コンテンツ検索システム1が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムはコンテンツ検索システム1が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。
クエリ受信部101は、端末4からネットワーク3を介して検索クエリを受信する。検索クエリとは、コンテンツ検索システム1が受信する処理要求の命令を文字列化したものであり、例えば、コンテンツのタイトルやジャンル等の検索条件を論理演算子や修飾子で結合したものである。
キャッシュ取得部102は、検索クエリからハッシュ値を生成し、ハッシュ値に該当する応答データを応答キャッシュ記憶部110から取得する。応答キャッシュ記憶部110は、ハッシュ値、有効期限、応答データの組みをキャッシュデータとして記憶する。ハッシュ値に該当する応答データがある場合は、その応答データを応答データ返却部113から端末4に返却する。ハッシュ値に該当する応答データがない場合は、コンテンツ検索システム1に接続されたRDBMS2から検索する。
構文解析部103は、検索クエリを正規化して構文木を生成し、SQL生成部104は、構文置換の定義に従って接続先のRDBMS2用のSQLを生成し、DB検索実行部105は、RDBMS2へ検索を実行するとともに、その実行時間t1を取得する。
検索結果取得部106は、RDBMS2から検索結果を取得するとともに、その取得時間t2も取得する。
検索時間計測部107は、実行時間t1と取得時間t2から検索応答時間x=t2−t1を算出する。
有効期限算出部108は、検索応答時間に応じて、検索結果(応答データ)をキャッシュデータとして保持する有効期限を動的に算出する。具体的には、平均値記憶部109から検索応答時間の平均値Aを取得して検索応答時間xと比較し、検索応答時間xが平均値Aよりも長い場合は検索応答時間xが平均値A以下の場合の有効期限よりも長くなるように有効期限を設定する。平均値記憶部109には、検索応答時間の平均値A、検索数nを記憶させておき、有効期限を算出する際に平均値A、検索数nを更新する。
応答データ生成部111は、検索結果から応答データを生成する。
応答キャッシュ保存部112は、検索クエリから生成されたハッシュ値、有効期限算出部108が算出した有効期限、応答データ生成部111が生成した応答データを組みとしたキャッシュデータを応答キャッシュ記憶部110に記憶させる。
応答データ返却部113は、応答キャッシュ記憶部110から読み出した応答データ、あるいは、検索結果から生成した応答データを端末4に返却する。
次に、検索処理について説明する。
図2は、検索処理の流れを示すフローチャートである。
クエリ受信部101が検索クエリを受信すると、キャッシュ取得部102は、受信した検索クエリからハッシュ値を生成し(ステップS101)、生成したハッシュ値に該当するキャッシュデータを応答キャッシュ保存部から検索する(ステップS102)。
ハッシュ値に該当するキャッシュデータが応答キャッシュ記憶部110に存在する場合は、応答キャッシュ記憶部110から該当するキャッシュデータを取得してステップS110へ進み、取得したキャッシュデータの応答データを返却する(ステップS110)。
一方、ハッシュ値に該当するキャッシュデータが存在しない場合は、構文解析部103、SQL生成部104が、検索クエリを正規化して構文木を生成し、構文置換の定義に従って接続先のRDBMS2用のSQLを生成する(ステップS103)。
DB検索実行部105が生成したSQLでRDBMS2に対し検索を実行するとともに、その実行時間t1を取得する(ステップS104)。
検索結果取得部106がRDBMS2より検索結果を得ると、検索結果が得られた取得時間t2を取得する(ステップS105)。
そして、応答データ生成部111が検索結果から応答データを生成する(ステップS106)。
また、平行して、検索時間計測部107が実行時間t1と取得時間t2から検索応答時間x=t2−t1を算出し(ステップS107)、有効期限算出部108が検索応答時間xと平均値記憶部109に記憶させた検索応答時間の平均値Aとを比較して、検索結果をキャッシュデータとして保存しておく有効期限を算出する(ステップS108)。有効期限の算出の詳細については後述する。
そして、応答キャッシュ保存部112がハッシュ値、有効期限、応答データを組みとしたキャッシュデータを応答キャッシュ記憶部110に記憶させる(ステップS109)。
応答データ返却部113が応答データを返却する(ステップS110)。
次に、有効期限の算出処理について説明する。
図3は、有効期限算出部108による有効期限の算出処理の流れを示すフローチャートである。
まず、RDBMS2に対し検索を実行した実行時間t1とRDBMS2より検索結果を取得した取得時間t2から算出した検索応答時間x=t2−t1を検索時間計測部107より取得する(ステップS201)。
続いて、平均値記憶部109から検索応答時間の平均値Aと検索数nを取得するとともに、現在時刻tを取得する(ステップS202)。
検索数n=n+1、平均値A=(A+x)/nを算出して平均値A、検索数nを更新し、平均値記憶部109に記憶させる(ステップS203)。
そして、検索応答時間xと平均値Aを比較し(ステップS204)、検索応答時間xが平均値Aよりも長い場合(x>Aの場合)、y=ax+b+tとして、現在時刻tに所定時間bを加え、さらに検索応答時間xに比例させた時間を加えた有効期限yを設定する(ステップS205)。また、検索応答時間xが平均値A以下の場合(x≦Aの場合)、y=b+tとして、現在時刻tに所定時間bを加えて有効期限yを設定する(ステップS206)。a,bは、状況に応じて設定する任意の値である。
なお、本実施の形態では、検索応答時間の平均値Aを基準にして有効期限を設定したが、検索応答時間が長い検索結果のキャッシュデータに対してより長い有効期限を設定できるならば、どのように有効期限を設定するものでもよい。
次に、キャッシュデータの保存処理について説明する。
図4は、応答キャッシュ保存部112によるキャッシュデータの保存処理の流れを示すフローチャートである。
まず、応答キャッシュ記憶部110に空きがあるか否かを判定する(ステップS301)。
応答キャッシュ記憶部110に空きがある場合は、ステップS305に進み、ハッシュ値、有効期限、応答データの組みを新たなキャッシュデータとして応答キャッシュ記憶部110に保存する(ステップS305)。
一方、応答キャッシュ記憶部110に空きがない場合は、応答キャッシュ記憶部110に有効期限が切れたキャッシュデータが存在するか否か判定する(ステップS302)。
有効期限が切れたキャッシュデータが存在する場合は、有効期限が切れたキャッシュデータを削除し(ステップS303)、新たなキャッシュデータを応答キャッシュ記憶部110に保存する(ステップS305)。
有効期限が切れたキャッシュデータが存在しない場合は、LRUに従って、最も利用されていないキャッシュデータを削除し(ステップS304)、新たなキャッシュデータを応答キャッシュ記憶部110に保存する(ステップS305)。
以上説明したように、本実施の形態によれば、検索時間計測部107により、RDBMS2に対して検索を実行してから検索結果が得られるまでの検索応答時間を計測し、有効期限算出部108により、検索応答時間が長い検索結果のキャッシュデータに対してより長い有効期限を動的に設定することで、RDBMS2への検索応答時間が長くRDBMS2への負荷が大きい検索結果のキャッシュデータが破棄されにくくなるので、有効性の高いキャッシュデータ管理が可能となる。
1…コンテンツ検索システム
101…クエリ受信部
102…キャッシュ取得部
103…構文解析部
104…SQL生成部
105…DB検索実行部
106…検索結果取得部
107…検索時間計測部
108…有効期限算出部
109…平均値記憶部
110…応答キャッシュ記憶部
111…応答データ生成部
112…応答キャッシュ保存部
113…応答データ返却部
2…RDBMS
3…ネットワーク
4…端末

Claims (3)

  1. データベースの検索結果をキャッシュデータとして保存する際に、当該キャッシュデータの有効期限を算出する有効期限算出装置であって、
    データベースに対して検索を実行してから検索結果が得られるまでの検索応答時間を計測する計測手段と、
    前記検索結果をキャッシュデータとして保存しておく有効期限を前記検索応答時間に比例させて算出する算出手段と、
    を有することを特徴とする有効期限算出装置。
  2. データベースの検索結果をキャッシュデータとして保存する際に、当該キャッシュデータの有効期限を算出する有効期限算出方法であって、
    計測手段による、データベースに対して検索を実行してから検索結果が得られるまでの検索応答時間を計測するステップと、
    算出手段による、前記検索結果をキャッシュデータとして保存しておく有効期限を前記検索応答時間に比例させて算出するステップと、
    を有することを特徴とする有効期限算出方法。
  3. データベースの検索結果をキャッシュデータとして保存する際に、当該キャッシュデータの有効期限を算出する有効期限算出プログラムであって、
    データベースに対して検索を実行してから検索結果が得られるまでの検索応答時間を計測する処理と、
    前記検索結果をキャッシュデータとして保存しておく有効期限を前記検索応答時間に比例させて算出する処理と、
    をコンピュータに実行させることを特徴とする有効期限算出プログラム。
JP2011069667A 2011-03-28 2011-03-28 有効期限算出装置、有効期限算出方法及び有効期限算出プログラム Withdrawn JP2012203792A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011069667A JP2012203792A (ja) 2011-03-28 2011-03-28 有効期限算出装置、有効期限算出方法及び有効期限算出プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011069667A JP2012203792A (ja) 2011-03-28 2011-03-28 有効期限算出装置、有効期限算出方法及び有効期限算出プログラム

Publications (1)

Publication Number Publication Date
JP2012203792A true JP2012203792A (ja) 2012-10-22

Family

ID=47184698

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011069667A Withdrawn JP2012203792A (ja) 2011-03-28 2011-03-28 有効期限算出装置、有効期限算出方法及び有効期限算出プログラム

Country Status (1)

Country Link
JP (1) JP2012203792A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013196566A (ja) * 2012-03-22 2013-09-30 Yahoo Japan Corp 情報処理装置及び方法
JP2014164583A (ja) * 2013-02-26 2014-09-08 Nec Corp データ配信システム、ルータ、ルータの制御方法及びルータの制御プログラム
WO2018154725A1 (ja) * 2017-02-24 2018-08-30 株式会社日立製作所 計算機及びキャッシュ制御方法
JP2020522781A (ja) * 2017-05-19 2020-07-30 オラクル・インターナショナル・コーポレイション クエリリソースキャッシングのためのシステムおよび方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013196566A (ja) * 2012-03-22 2013-09-30 Yahoo Japan Corp 情報処理装置及び方法
JP2014164583A (ja) * 2013-02-26 2014-09-08 Nec Corp データ配信システム、ルータ、ルータの制御方法及びルータの制御プログラム
WO2018154725A1 (ja) * 2017-02-24 2018-08-30 株式会社日立製作所 計算機及びキャッシュ制御方法
JP2020522781A (ja) * 2017-05-19 2020-07-30 オラクル・インターナショナル・コーポレイション クエリリソースキャッシングのためのシステムおよび方法

Similar Documents

Publication Publication Date Title
CN104123340B (zh) 一种数据库分表分页查询方法及系统
CN104243425B (zh) 一种在内容分发网络中进行内容管理的方法、装置及系统
US8713618B1 (en) Segmenting video based on timestamps in comments
US8537835B2 (en) Methods and apparatus for self-organized caching in a content delivery network
US10623823B2 (en) Method, system, and website server for playing website video
TWI663518B (zh) Search cache update method and device
US20160261704A1 (en) Flexible caching of resource oriented web services
CN103442271B (zh) 一种用于电视盒的节目分类搜索的方法
KR20080106194A (ko) 쿼리의 일부에 기초하는 캐시된 쿼리 결과들의 제공 방법, 쿼리 시스템 및 쿼리 구축 방법
US20230409527A1 (en) Method And System For Deleting Obsolete Files From A File System
CN110113626B (zh) 一种回放直播视频的方法及装置
WO2014161261A1 (zh) 数据的存储方法及装置
JP2012203792A (ja) 有効期限算出装置、有効期限算出方法及び有効期限算出プログラム
JP5272428B2 (ja) アクセス頻度の高い情報を事前にキャッシュする予測型キャッシュ方法、そのシステム及びそのプログラム
CN107911712B (zh) 数据缓冲方法和电子设备
US10705978B2 (en) Asynchronous tracking for high-frequency and high-volume storage
JP5374444B2 (ja) 検索装置、検索方法及び検索プログラム
WO2022057525A1 (zh) 一种数据找回方法、装置、电子设备及存储介质
JP5433700B2 (ja) メタデータ収集装置
JP2006139398A (ja) キャッシュサーバ及びコンテンツ選定保持方法
CN111427914B (zh) 一种数据获得方法及装置
JP2012048280A (ja) コンテンツ生成装置、コンテンツ生成方法、コンテンツ生成プログラム
US20170264531A1 (en) Probabilistic http request routing
JP5104642B2 (ja) データ閲覧管理システム
Akhtar et al. Caching online video: Analysis and proposed algorithm

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140603