JP2012203792A - 有効期限算出装置、有効期限算出方法及び有効期限算出プログラム - Google Patents
有効期限算出装置、有効期限算出方法及び有効期限算出プログラム Download PDFInfo
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】有効性の高いキャッシュデータの管理方法を提供する。
【解決手段】検索時間計測部107により、RDBMS2に対して検索を実行してから検索結果が得られるまでの検索応答時間を計測し、有効期限算出部108により、検索応答時間が長い検索結果のキャッシュデータに対してより長い有効期限を動的に設定する。これにより、RDBMS2への検索応答時間が長くRDBMS2への負荷が大きい検索結果のキャッシュデータが破棄されにくくなるので、有効性の高いキャッシュデータ管理が可能となる。
【選択図】図1
【解決手段】検索時間計測部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参照)。
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…端末
101…クエリ受信部
102…キャッシュ取得部
103…構文解析部
104…SQL生成部
105…DB検索実行部
106…検索結果取得部
107…検索時間計測部
108…有効期限算出部
109…平均値記憶部
110…応答キャッシュ記憶部
111…応答データ生成部
112…応答キャッシュ保存部
113…応答データ返却部
2…RDBMS
3…ネットワーク
4…端末
Claims (3)
- データベースの検索結果をキャッシュデータとして保存する際に、当該キャッシュデータの有効期限を算出する有効期限算出装置であって、
データベースに対して検索を実行してから検索結果が得られるまでの検索応答時間を計測する計測手段と、
前記検索結果をキャッシュデータとして保存しておく有効期限を前記検索応答時間に比例させて算出する算出手段と、
を有することを特徴とする有効期限算出装置。 - データベースの検索結果をキャッシュデータとして保存する際に、当該キャッシュデータの有効期限を算出する有効期限算出方法であって、
計測手段による、データベースに対して検索を実行してから検索結果が得られるまでの検索応答時間を計測するステップと、
算出手段による、前記検索結果をキャッシュデータとして保存しておく有効期限を前記検索応答時間に比例させて算出するステップと、
を有することを特徴とする有効期限算出方法。 - データベースの検索結果をキャッシュデータとして保存する際に、当該キャッシュデータの有効期限を算出する有効期限算出プログラムであって、
データベースに対して検索を実行してから検索結果が得られるまでの検索応答時間を計測する処理と、
前記検索結果をキャッシュデータとして保存しておく有効期限を前記検索応答時間に比例させて算出する処理と、
をコンピュータに実行させることを特徴とする有効期限算出プログラム。
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)
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 | オラクル・インターナショナル・コーポレイション | クエリリソースキャッシングのためのシステムおよび方法 |
-
2011
- 2011-03-28 JP JP2011069667A patent/JP2012203792A/ja not_active Withdrawn
Cited By (4)
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 |