JP5530474B2 - 情報処理装置及び方法 - Google Patents

情報処理装置及び方法 Download PDF

Info

Publication number
JP5530474B2
JP5530474B2 JP2012065046A JP2012065046A JP5530474B2 JP 5530474 B2 JP5530474 B2 JP 5530474B2 JP 2012065046 A JP2012065046 A JP 2012065046A JP 2012065046 A JP2012065046 A JP 2012065046A JP 5530474 B2 JP5530474 B2 JP 5530474B2
Authority
JP
Japan
Prior art keywords
cache
time
keyword
reference time
unit
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
JP2012065046A
Other languages
English (en)
Other versions
JP2013196566A (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.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan 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 Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2012065046A priority Critical patent/JP5530474B2/ja
Publication of JP2013196566A publication Critical patent/JP2013196566A/ja
Application granted granted Critical
Publication of JP5530474B2 publication Critical patent/JP5530474B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、インターネット検索のキャッシュ機構に関する。
キャッシュは、データの要求側(フロントエンド)と提供側(バックエンド)の間を仲介し、要求に応じて提供側から要求側へ渡したデータのコピーをキャッシュデータとして保持し、次に同じデータ要求があればキャッシュデータを返す機構である。
インターネット検索にキャッシュを適用することで、フロントエンド側は検索結果を迅速に取得でき、バックエンド側は検索処理負荷が軽減できる。キャッシュの分野において、検索クエリに応じてキャッシュサーバを動的に選択決定することで負荷分散を図る提案は存在する(例えば、特許文献1参照)。
インターネット検索のうち、ミニブログ等の投稿情報(所謂「つぶやき」「ツイート」)を対象とするリアルタイム検索では、指定されたキーワードに対応する最新の投稿情報が日時順の検索結果として返される。具体的構成の一例として、フロントエンドサーバが、ユーザ端末から指定されたキーワードと、タイムスタンプと呼ばれる日時の情報と、をURLなどの形で組み合わせた検索要求(「クエリ」と呼ぶ)をキャッシュサーバへ送信する。
キャッシュサーバは、クエリすなわちキーワードとタイムスタンプが一致する検索結果のキャッシュが存在すればそれをフロントエンドサーバへ提供し、存在しなければクエリをバックエンド側の検索サーバへ渡し、その検索結果をキャッシュすると共にフロントエンドサーバへ返す。
リアルタイム検索では情報の新しさが求められるため、現在時刻(又はそこから派生する時刻)をタイムスタンプとして利用することが多い。一例として、現在時刻の1分前や1時間前から現在まで、というように、現在時刻より所定時間以内の投稿情報をキャッシュサーバから取得してくる。他方、バックエンド側での認識単位が1秒でかつそれに合わせてフロントエンド側で現在時刻やその1分前の時刻を秒単位で丸めてタイムスタンプを生成する場合には、キャッシュ有効期間は実質的に1秒となる。
特開2006−195533号
キャッシュについては、その有効期間が短ければ短いほどヒット率が低下し、有効期間が1秒では実用的ではない。
また、数秒おきなどキャッシュ有効期間を長くしても、依然として、その切り替わる瞬間にバックエンドで検索処理が集中してしまうという問題は解決されない。
上記の課題に対し、本発明の目的は、情報の新しさが求められるミニブログ等の投稿情報の検索において、負荷の時間的集中を回避しながらキャッシュのヒット率を改善することである。
上記の目的をふまえ、本発明の一態様(1)である情報処理装置は、キャッシュ有効期間を延長する期間延長手段と、検索要求のキーワードを基にハッシュ値を取得するハッシュ取得手段と、延長された前記キャッシュ有効期間の複数の基準時から、取得された前記ハッシュ値に基づいて前記キーワードに対応した前記基準時を決定する決定手段と、前記キーワードによる検索結果を、そのキーワードと、そのキーワードを基に決定された前記基準時と、に対応付けてキャッシュデータとして記憶するキャッシュ記憶手段と、対応付けられているキーワードが検索要求のキーワードと一致し、かつ、対応付けられている前記基準時が前記検索要求の現在時刻と適合する前記キャッシュデータを前記キャッシュ記憶手段から検索して提供するキャッシュ提供手段と、を備えたことを特徴とする。
本発明の他の態様(6)である情報処理方法は、上記態様を方法のカテゴリで捉えたもので、キャッシュ有効期間を延長する期間延長処理と、検索要求のキーワードを基にハッシュ値を取得するハッシュ取得処理と、延長された前記キャッシュ有効期間の複数の基準時から、取得された前記ハッシュ値に基づいて前記キーワードに対応した前記基準時を決定する決定処理と、前記キーワードによる検索結果を、そのキーワードと、そのキーワードを基に決定された前記基準時と、に対応付けてキャッシュデータとして、予め定められたキャッシュ記憶手段に記憶させる処理と、対応付けられているキーワードが検索要求のキーワードと一致し、かつ、対応付けられている前記基準時が前記検索要求の現在時刻と適合する前記キャッシュデータを前記キャッシュ記憶手段から検索して提供するキャッシュ提供処理と、をコンピュータ実行することを特徴とする。
本発明の他の態様(2)は、上記いずれかの態様において、前記基準時は予め定められた単位時間ごとに設けられ、前記決定手段(「手段」は方法にあっては「処理」又は「ステップ」と読み替える。以下同じ)は、前記キャッシュ有効期間を前記単位時間で除した商の数だけ存在するグループのうち、前記ハッシュ値を前記グループ数で除した剰余に応じた前記グループに属する前記キャッシュ有効期間の基準時を、前記キーワードに対応した前記基準時として決定することを特徴とする。
本発明の他の態様(3)は、上記いずれかの態様において、前記基準時は予め定められた単位時間ごとに設けられ、前記決定手段は、前記キャッシュ有効期間を前記単位時間で除して得られた商の数で前記ハッシュ値を除した剰余に応じた秒数を現在時刻又はその整数部に加え又は減じて、前記キーワードに対応した前記基準時として決定することを特徴とする。
本発明の他の態様(4)は、上記いずれかの態様において、前記基準時は予め定められた単位時間ごとに設けられ、前記単位時間を分割する予め定められた分割数のうち、前記ハッシュ値を前記分割数で除した剰余に応じたいずれかの数を特定数として対応付ける対応付け手段と、対応付けられた前記特定数と、前記単位時間を前記分割数でさらに分割した第2の単位時間と、を乗じて遅延時間を計算する遅延時間計算手段と、前記キャッシュ提供手段は、前記キャッシュデータに対応付けられている前記基準時に対応する前記有効期間の終期から前記遅延時間が経過するまでは前記キャッシュデータを前記基準時が適合するものとして扱うことを特徴とする。
本発明の他の態様(5)は、上記いずれかの態様において、前記対応付け手段は、前記分割数のうち、前記ハッシュ取得手段により取得された前記ハッシュ値のうち、前記決定手段が前記有効期間の基準時の決定に用いた部分と少なくとも一部が異なる部分に応じたいずれかの数を特定数として対応付けることを特徴とする。
本発明によれば、情報の新しさが求められるミニブログ等の投稿情報の検索において、負荷の時間的集中を回避しながらキャッシュのヒット率を改善することが可能となる。
本発明の実施形態について構成を示す機能ブロック図。 本発明の実施形態におけるデータ例を示す図。 本発明の実施形態における処理手順を示すフローチャート。 本発明の実施形態におけるタイムスタンプを示す概念図。 本発明の第2実施形態におけるキャッシュの期限の概念図。 本発明の第2実施形態におけるデータ例を示す図。 本発明の第2実施形態における処理手順を示すフローチャート。 本発明の第2実施形態における処理手順を示すフローチャート(キャッシュの解放)。
次に、本発明を実施するための形態(「実施形態」と呼ぶ)について図に沿って例示する。なお、背景技術や課題などで既に述べた内容と共通の前提事項は適宜省略する。
〔1.構成〕
本実施形態は、図1の構成図に示す情報処理装置1(「本装置1」とも呼ぶ)に関するもので、本装置1は、ユーザ端末T1(以下「端末T1」や「端末」とも呼ぶこととする)にリアルタイム検索を提供するサーバ装置である。
本装置1は、フロントエンド部FEと、ミニブログやSNS(ソーシャル・ネットワーキング・サービス)等の投稿内容を検索するバックエンド部BEと、フロントエンド部FEとバックエンド部VEとの間でキャッシュの役割を果たすキャッシュ部CSと、を備える。
端末T1と本装置1は、図示しない通信ネットワークで接続される。また、フロントエンド部FEと、キャッシュ部CSと、バックエンド部BEは、単一の物理的なサーバ装置内でプロセスなどの機能モジュールとして実現してもよいし、それぞれに対応するサーバ装置をLANなどで接続して実現してもよい。
バックエンド部BEは、SNSサーバXが投稿を受け付ける投稿内容について、索引データ(所謂インデックスデータ)に基づいてリアルタイム検索を提供する手段であり、索引データを記憶する索引データ記憶手段60と、キーワードに基づき索引データを検索する検索手段70と、を備える。フロントエンド部FEは、このリアルタイム検索を端末T1に対しWebアクセスやAPIなどの形で提供する手段である。
本装置1は、コンピュータの構成として少なくとも、CPUなどの演算制御部6と、主メモリや補助記憶装置等の記憶部7と、図示しない通信ネットワーク(例えば、インターネット、携帯電話、PHS、公衆無線LANなどの移動通信網など)との通信部8(例えば、無線や有線の各種通信アダプタ、その他の通信回路、通信機器など)と、を有する。
本装置1では、記憶部7に記憶したコンピュータ・プログラム(情報処理プログラム)を演算制御部6が実行することで、図1に示す各部(FE、CS、BE)や各手段(20、30ほか)などの要素を実現する。実現される要素のうち情報の記憶手段の態様は自由で、記憶部7上のファイルなど任意のデータ形式で実現できるほか、ネットワーク・コンピューティング(クラウド)によるリモート記憶などでもよい。
また、記憶手段は、データの格納領域だけでなく、データの入出力や管理などの機能を含んでもよい。また、本出願に示す記憶手段の単位は説明上の便宜によるもので、適宜、構成を分けたり一体化できるほか、明示する記憶手段以外にも、各手段の処理データや処理結果などを記憶する記憶手段を適宜用いるものとする。
なお、図中(例えば図1)の矢印は、データや制御などの流れについて主要な方向を補助的に示すもので、他の流れを否定するものでも、方向の限定を意味するものでもない。例えばある方向のデータ取得の前後に、データ要求や確認応答(ACK)が逆方向に発生し得る。
また、記憶手段以外の各手段は、以下に説明するような情報処理の機能・作用(例えば図1)を実現・実行する処理手段であるが、これらは説明のために整理した機能単位であり、実際のハードウェア要素やソフトウェアモジュールとの一致は問わない。
〔2.作用の概要〕
上記のように構成された本装置1における処理手順を図3のフローチャートに示す。このうち、作用の主要な概要に関する部分を抜き出して、まず説明する。すなわち、端末T1から検索要求で指定されたキーワードを検索要求受信手段10が受信すると(ステップS1:「YES」)、ハッシュ取得手段20が、検索要求のキーワードを基にハッシュ値を取得する(ステップS2)。ハッシュ値の種類は、例えばMD5などを用いるが、他の種類でもよい。
そして、決定手段30が、キャッシュ有効期間の複数の基準時から、取得されたハッシュ値に基づいてキーワードに対応した基準時を決定する(ステップS3、S4)。基準時は、典型的には始期となるタイムスタンプ(日時を表す情報)だが、終期などでもよい。ハッシュ値は、ここではハッシュ値の一部(例えばMD5の上位1桁)を用いるものとする。
具体的には、キャッシュ有効期間は2のべき乗秒(例えば4秒)とし、基準時は予め定められた単位時間(例えば1秒)ごとにずらして設ける。この場合、基準時は、グループ間で1秒ずつずれ、かつ、グループ毎に4秒間隔で設定された終期となる。
そして、決定手段30は、キャッシュ有効期間(4秒)を単位時間(1秒)で除した商の数(例えば4)だけ存在するグループ(図4のグループ0からグループ3)のうち、ハッシュ値をグループ数(4)で除した(ステップS3)剰余a(0から3のいずれか)に応じたグループに属するキャッシュ有効期間の基準時を、キーワードに対応した基準時を表すタイムスタンプ(「TS」とも表すこととする)として決定する。剰余に応じた基準時は、現在時刻tと剰余aに応じたタイムスタンプTSとして次のように決定する(ステップS4)。すなわち、TSは、現在時刻tをもとに、グループ毎に1秒ずつずれたタイミングで4秒刻みで更新し、更新した時刻を4秒ずつ維持して得る。更新タイミングは予め任意に定めるが、図4の例では剰余0のグループ0で「・・分16秒」「・・分20秒」)とし、他のグループはグループ0より剰余aの秒数だけ早く更新する。
すなわち、グループ毎のキャッシュ有効期間の基準時は、原則として4秒毎(ステップS7。後述)に更新(ステップS8)されるタイムスタンプをキャッシュに対応付けて表すものとする。そして、キーワードにはフロントエンド部FEでこのようなタイムスタンプを付し、URLなどの形で表したクエリとしてキャッシュ部CSへ提供し、キャッシュの検索に供する(ステップS9)。
タイムスタンプTSは4秒の間は同じ時刻のものを用い、4秒に一度、それまでのタイムスタンプからみて4秒先の時刻のものに更新する(ステップS8)。遅延時間(ステップS5からS7)については後述する。4秒間ずつ同じ時刻のタイムスタンプTSを用いる一例として、図4の場合、剰余0に対応するグループ0のキーワード(例えば「A製品」)のタイムスタンプは、現在時刻tが「・・分17秒」であっても「・・分18秒」であっても、「・・分16秒」となる。
キャッシュ提供手段50は、URLが表すキーワードとタイムスタンプが一致するキャッシュをヒットしたものとして提供する(ステップS9からS14)。すなわち、キャッシュ提供手段50は、対応付けられているキーワードが検索要求のキーワードと一致し、かつ、対応付けられている基準時が検索要求の現在時刻と適合するキャッシュデータをキャッシュ記憶手段40から検索して提供する(ステップS9からS11及びS14)。
図4の例では、キーワードのタイムスタンプと、キャッシュのタイムスタンプが一致することをもって基準時と現在時刻の適合とすることができるが、基準時をキャッシュ有効期間の始期や終期として、キャッシュのヒットの判定の際に日時の判断や計算をすることもできる。この場合、基準時と現在時刻の適合を判断する際、基準時は、基準時に基づく幅のあるキャッシュ有効期間として把握し、そのキャッシュ有効期間が検索要求の現在時刻を含む場合に、適合すると判断することができる。
キャッシュがヒットしなかった場合は(ステップS10:「NO」)、バックエンド部BEの検索手段70が、SNSサーバXに照会のアクセスを行い又は索引データ記憶手段60に記憶されている索引データに基づき、実際にキーワードに基づくリアルタイム検索を行い(ステップS12)、その検索結果をフロントエンド部FEへ送信する(ステップS14)。
この場合、検索手段70は、キーワードによる検索結果を、そのキーワードと、そのキーワードを基に決定された基準時と、に対応付けてキャッシュデータとしてキャッシュ記憶手段40に記憶させる(ステップS13)。このように記憶された情報を図2に例示する。このように記憶されるキャッシュデータの活用として、キャッシュ提供手段50は、既述のように、フロントエンド部FEから渡されたキーワードとタイムスタンプでキャッシュを検索する(ステップS9)。
〔3.遅延時間の設定〕
上記のように、キャッシュ有効期間の基準時として、ハッシュの剰余に基づくグループ別に切り替わりのタイミングを1秒ずつずらしたタイムスタンプを4秒に一度(ステップS7:「YES」)、更新して切り替え(ステップS8)、キーワードとタイムスタンプが一致すればキャッシュがヒットしたものと扱うことで(ステップS10及びS11)、有効期間4秒のキャッシュが実現できる。
しかし、それまでのタイムスタンプを、4秒先の時刻を表す新しいタイムスタンプに切り替えるタイミングが1秒に1度、集中することを防ぐため、切替のタイミングをさらに細かく分散させることが望ましい。
そこで本実施形態では、基準時は予め定められた単位時間(例えば1秒)ごとに設けるが、この単位時間をさらに所定の分割数で分割するものとする。例えば分割数が10なら0.1秒毎に分割する。そして、フロントエンド部FEの決定手段30において、対応付け手段31が、ハッシュ値を分割数で除した剰余bを算出し(ステップS5)、算出した剰余bに応じた遅延時間tdを計算する(ステップS6)。
具体的には、単位時間を分割するする分割数(例えば10)のうち、剰余bに応じたいずれかの数を特定数としてキャッシュデータに対応付ける。剰余bに応じたいずれかの数は、剰余b自体でもよい。例えば、ハッシュ値を分割数である10で除した剰余b(0〜9のいずれか)を特定数(例えば剰余bが7なら7)として対応付ける。
ここで、剰余bの基となるハッシュ値は(ステップS5)、剰余aの算出(ステップS3)で用いたハッシュ値と同じでもよいし改めて別のハッシュ値を取得してもよい。
例えば、対応付け手段31は、分割数の中から、ハッシュ取得手段20により取得されたハッシュ値(ステップS2)のうち、決定手段30が有効期間の基準時の決定のため剰余aを算出(ステップS3)するのに用いた部分と少なくとも一部が異なる部分に応じたいずれかの数を特定数として対応付ける。
ハッシュ値のうち「少なくとも一部が異なる部分」として、例えば、既に述べたMD5の上位2桁を用いるものとするが、別の例として、剰余aにハッシュ値の一部を用いていた場合、ここでハッシュ値(例えばMD5)の全部を用いることもできる。
また、遅延時間計算手段32は、上記のように対応付けられた特定数(例えば7)と、単位時間を分割数でさらに分割した第2の単位時間(例えば0.1秒)と、を乗じて遅延時間td(0.7秒等)を計算する(ステップS6)。そして、キャッシュ提供手段50は、キャッシュデータに対応付けられている基準時に対応する有効期間の終期から遅延時間が経過するまではキャッシュデータを基準時が適合するものとして扱う。
「基準時に対応する有効期間の終期」とは、基準時として、有効期間の終期を用いる場合は、基準時そのものとなる。図4の例において、グループ0のキーワード「A製品」では、基準時「・・分16秒」に対応するキャッシュ有効期間の終期は、その同じタイムスタンプが用いられる間(現在時刻tでは「・・分19秒」まで)であり、ステップS7にいう「TS」の本来の切替時は、「・・分20秒」の時点である。
しかし、本実施形態では、この本来の切替時から遅延時間td(例えば0.7秒)が経過するまではキャッシュデータを基準時が適合するものとして扱う(ステップS7)。
このように、本実施形態の例では、個々のグループについてみれば4秒毎に到来するタイムスタンプの切替時を、キャッシュデータに対応する遅延時間td以上超過したときとすることにより(ステップS7)、キャッシュ有効期間が終了して新たな検索要求に対して実際の検索が必要になるタイミングが、同じグループの中でもさらに分散できる。
また、本実施形態では、フロントエンド部FE側でタイムスタンプを切り替えることで、キャッシュ部CSのキャッシュ記憶手段40に記憶されている切替以前のタイムスタンプを持つキャッシュを実質的に失効させる。失効したキャッシュが占める記憶容量についてリアルタイムな解放処理を行うか否かは状況に応じて定めることができる。例えば、キャッシュ記憶手段40の容量が限界に近付いたときなど所定の条件で、古い順に管理情報を消去するなどして解放するのでもよい。
〔4.効果〕
以上のように本実施形態では、情報の新しさが求められるミニブログ等の投稿情報の検索において、キャッシュ有効期間の基準時を、キーワードのハッシュ値に基づきグループごとにずらして決定する(例えば、図3のステップS3、図4)。これにより、キャッシュ有効期間を長くしてもキャッシュ更新のタイミングが分散し検索処理負荷が時間的に集中することがない。このため、負荷の時間的集中を回避しながらキャッシュのヒット率を改善できる。また、複数のフロントエンドサーバのキャッシュ制御処理の協調動作について、サーバ間で通信することなく行うことができ、大規模なシステムにおいて効果的である。
特に、本実施形態では、所定の単位時間ごとに設けられたキャッシュ有効期間の基準時から、キャッシュ有効期間を単位時間で除した数だけ存在するグループのうち、ハッシュ値を当該グループ数で除した剰余に応じたグループに属するキャッシュ有効期間をキーワードに対応した基準時として決定し、キャッシュの終期を表すタイムスタンプなどに用いる(ステップS4)。
これにより、16進表現のハッシュ値との親和性を維持しながらキャッシュ有効期間の分散を容易に実現できる。しかも、同じキーワードならキャッシュ有効期間の基準時が4秒など等間隔に固定されるので有効期間の管理が単純化できる。
さらに、本実施形態では、キャッシュ有効期間の基準時の分散間隔となる単位時間をさらに細かく分割した第2の単位時間を単位とした遅延時間をハッシュ値に基づき分散させてキャッシュごとに設定し(ステップS6)、キャッシュ有効期間からさらに遅延時間が経過するまではそのキャッシュを有効扱いする(ステップS7)。これにより、検索による更新などの負荷をキャッシュ有効期間の分散の中でさらにまんべんなく分散させることができる。
加えて、本実施形態では、一つのハッシュ値のうち少なくとも一部が異なる部分(例えば、全部と一部分や、上位1桁と2桁など)をそれぞれ、基準時の決定(ステップS3及びS4)と、遅延時間に用いる特定数の対応付け(ステップS5及びS6)と、に用いることにより、ハッシュ値の計算が1回で済むので処理負荷が軽減できる。
〔5.第2実施形態〕
上記実施形態(第1実施形態とする)では、フロントエンド部FE側でタイムスタンプを切り替えることで、キャッシュ部CSにある切替以前のタイムスタンプを持つキャッシュを実質的に失効させ、失効したキャッシュは容量逼迫時などに適宜削除したが、それ以外の構成も可能である(例えば、第2実施形態)。
第2実施形態は、フロントエンド部FE側でのタイムスタンプの切り替えを4秒間隔にすることによってではなく、フロントエンド部FEからキャッシュ部CSへ送る時刻に関する情報(すなわち現在時刻及び期限E)は1秒毎に更新しつつ、キャッシュ部CSにおけるキャッシュのヒットの判定の際にキャッシュ有効期間が最短4秒となるよう処理を行う例である。
第2実施形態でも、基準時は予め定められた単位時間ごとに設けるが、決定手段は、ハッシュ値を2のべき乗で除した剰余に応じた秒数を現在時刻又はその整数部に加え又は減じて、キーワードに対応した基準時として決定する。
例えば、図5(概念図)に示す例では、「・分10秒」という同じ時刻に検索要求でキャッシュが取得されても、キーワードのハッシュ値に基づく剰余に応じた秒数を現在時刻の整数部に加えることで、キーワードに対応した基準時として決定するとともに、その基準時に応じたキャッシュ有効期間の終期(期限)とするものである。
これにより、4秒を最短として、グループ間でキャッシュ有効期間が異なることになり、実際には検索要求を受信するタイミングによってもキャッシュ有効期間の終期はさらに分散することになる。
第2実施形態における処理手順を図7のフローチャートに示す。なお、本出願のフローチャートにおける各ステップ番号は専ら識別のためであり、処理の前後関係を意味しない。この処理手順は、キーワードのハッシュ値に基づいて、剰余aを算出する点(ステップS1からS3)と、剰余b及び遅延時間tdを算出する点(ステップS5からS6)については第1実施形態に準じる。
しかし、第2実施形態では、キーワード及び現在時刻とともに、キャッシュがヒットしなかった場合のために、剰余aに応じて決定した期限Eと遅延時間tdもキャッシュ部CSへ送信する(ステップS28)。
第2実施形態におけるキャッシュ提供手段は、対応付けられているキーワードが検索要求のキーワードと一致し、かつ、基準時として対応付けられている期限が検索要求の現在時刻と適合するキャッシュデータをキャッシュ記憶手段40から検索して(ステップS29、S30:「YES」、S31)提供する。ここで、「期限が検索要求の現在時刻と適合」するとは、現在時刻が期限を超過していないことを意味し、その判断のための時間計算をキャッシュ部CSで行う。
キャッシュがヒットせず(ステップS30:「NO」)、バックエンド部BEでの検索となった場合(ステップS32)、その検索結果をキャッシュとして期限E及び遅延時間tdと対応付けてキャッシュ記憶手段40に記憶させる(ステップS33。例えば図6)。
また、所定のタイミングで図8の処理手順を実行することにより、期限を超過したキャッシュとその記憶領域を解放することでスループットを維持する。図8の処理手順では、現在時刻tが(ステップS41)、いずれかのキャッシュの期限を遅延時間td以上超過していれば(ステップS42:「YES」)そのキャッシュを解放する(ステップS43)。
上記のように、第2実施形態では、ハッシュ値を2のべき乗で割った余りを現在時刻又はその整数部からずらしてキャッシュ有効期間の基準時として決定しタイムスタンプなどに用いる(例えば図5)。これにより、16進表現のハッシュ値との親和性を維持しながら、キャッシュ有効期間の分散を容易に実現できる。
しかも、同じキーワードでもキャッシュ有効期間が切れた状態で検索要求が到来するタイミングによってもキャッシュ有効期間の基準時が一層分散するので負荷集中がさらに確実に回避できる。
〔6.他の実施形態〕
なお、上記実施形態は例示に過ぎず、本発明は、以下に例示するものやそれ以外の他の実施態様も含むものである。例えば、各態様は、明記しない他のカテゴリ(方法、プログラム、端末を含むシステムなど)としても把握することができる。
方法やプログラムのカテゴリについては、装置のカテゴリで示した「手段」を、「処理」や「ステップ」のように適宜読み替えるものとする。また、処理やステップの順序は、本出願に直接明記のものに限定されず、順序を変更したり、一部の処理をまとめてもしくは随時一部分ずつ実行するなど、変更可能である。
また、個々の手段、処理やステップを実現、実行する端末などのコンピュータは共通でもよいし、手段、処理やステップごとにもしくはタイミングごとに異なってもよい。また、上記「手段」の全部又は任意の一部を「部」(ユニット、セクション、モジュール等)と読み替えることができる。
また、本出願における構成図、データの図、フローチャートなども例示に過ぎず、各要素の有無、その配置や処理実行などの順序、具体的内容などは適宜変更可能である。
また、本装置1を構成する個々の手段を実現する態様は自由で、外部のサーバが提供している機能をAPI(アプリケーション・プログラム・インタフェース)やネットワーク・コンピューティング(いわゆるクラウドなど)で呼び出して実現するなど、本発明の構成は柔軟に変更できる。さらに、本発明に関する手段などの各要素は、コンピュータの演算制御部に限らず物理的な電子回路など他の情報処理機構で実現してもよい。
1 情報処理装置
6 演算制御部
7 記憶部
8 通信部
10 検索要求受信手段
20 ハッシュ取得手段
30 決定手段
31 対応付け手段
32 遅延時間計算手段
40 キャッシュ記憶手段
50 キャッシュ提供手段
BE バックエンド部
CS キャッシュ部
FE フロントエンド部
X SNSサーバ
T1 ユーザ端末

Claims (6)

  1. キャッシュ有効期間を延長する期間延長手段と、
    検索要求のキーワードを基にハッシュ値を取得するハッシュ取得手段と、
    延長された前記キャッシュ有効期間に基づいて定まる所定数該キャッシュ有効期間の基準時から、取得された前記ハッシュ値に基づいて前記キーワードに対応した前記基準時を決定する決定手段と、
    前記キーワードによる検索結果を、そのキーワードと、そのキーワードを基に決定された前記基準時と、に対応付けてキャッシュデータとして記憶するキャッシュ記憶手段と、
    前記キーワード及び前記基準時に適合する前記キャッシュデータを前記キャッシュ記憶手段から検索して提供するキャッシュ提供手段と、
    を備えたことを特徴とする情報処理装置。
  2. 前記基準時は予め定められた単位時間ごとに設けられ、
    前記決定手段は、前記キャッシュ有効期間を前記単位時間で除した商の数だけ存在するグループのうち、前記ハッシュ値を前記グループ数で除した剰余に応じた前記グループに属する前記キャッシュ有効期間の基準時を、前記キーワードに対応した前記基準時として決定することを特徴とする請求項1記載の情報処理装置。
  3. 前記基準時は予め定められた単位時間ごとに設けられ、
    前記決定手段は、前記キャッシュ有効期間を前記単位時間で除して得られた商の数で前記ハッシュ値を除した剰余に応じた秒数を現在時刻又はその整数部に加え又は減じて、前記キーワードに対応した前記基準時として決定することを特徴とする請求項1記載の情報処理装置。
  4. 前記基準時は予め定められた単位時間ごとに設けられ、
    前記単位時間を分割する予め定められた分割数のうち、前記ハッシュ値を前記分割数で除した剰余に応じたいずれかの数を特定数として対応付ける対応付け手段と、
    対応付けられた前記特定数と、前記単位時間を前記分割数でさらに分割した第2の単位時間と、を乗じて遅延時間を計算する遅延時間計算手段と、
    前記キャッシュ提供手段は、前記キャッシュデータに対応付けられている前記基準時に対応する前記有効期間の終期から前記遅延時間が経過するまでは前記キャッシュデータを前記基準時が適合するものとして扱う
    ことを特徴とする請求項1から3のいずれか一項に記載の情報処理装置。
  5. 前記対応付け手段は、前記分割数のうち、前記ハッシュ取得手段により取得された前記ハッシュ値のうち、前記決定手段が前記有効期間の基準時の決定に用いた部分と少なくとも一部が異なる部分に応じたいずれかの数を特定数として対応付けることを特徴とする請求項4記載の情報処理装置。
  6. キャッシュ有効期間を延長する期間延長処理と、
    検索要求のキーワードを基にハッシュ値を取得するハッシュ取得処理と、
    延長された前記キャッシュ有効期間に基づいて定まる所定数該キャッシュ有効期間の基準時から、取得された前記ハッシュ値に基づいて前記キーワードに対応した前記基準時を決定する決定処理と、
    前記キーワードによる検索結果を、そのキーワードと、そのキーワードを基に決定された前記基準時と、に対応付けてキャッシュデータとして、予め定められたキャッシュ記憶手段に記憶させる処理と、
    前記キーワード及び前記基準時に適合する前記キャッシュデータを前記キャッシュ記憶手段から検索して提供するキャッシュ提供処理と、
    をコンピュータ実行することを特徴とする情報処理方法。
JP2012065046A 2012-03-22 2012-03-22 情報処理装置及び方法 Active JP5530474B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012065046A JP5530474B2 (ja) 2012-03-22 2012-03-22 情報処理装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012065046A JP5530474B2 (ja) 2012-03-22 2012-03-22 情報処理装置及び方法

Publications (2)

Publication Number Publication Date
JP2013196566A JP2013196566A (ja) 2013-09-30
JP5530474B2 true JP5530474B2 (ja) 2014-06-25

Family

ID=49395378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012065046A Active JP5530474B2 (ja) 2012-03-22 2012-03-22 情報処理装置及び方法

Country Status (1)

Country Link
JP (1) JP5530474B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021073248A1 (zh) * 2019-10-16 2021-04-22 北京字节跳动网络技术有限公司 消息发送方法、装置、可读介质及电子设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106682202B (zh) 2016-12-29 2020-01-10 北京奇艺世纪科技有限公司 一种搜索缓存更新方法及装置
CN112996040B (zh) * 2019-12-02 2023-08-18 中国移动通信有限公司研究院 缓存状态报告、资源配置方法、装置、终端及网络侧设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3481054B2 (ja) * 1996-07-04 2003-12-22 シャープ株式会社 ゲートウェイ装置、クライアント計算機およびそれらを接続した分散ファイルシステム
JP4797709B2 (ja) * 2005-03-11 2011-10-19 ブラザー工業株式会社 情報配信システム、ノード装置、及び解除データ発行方法等
JP2012203792A (ja) * 2011-03-28 2012-10-22 Nippon Telegr & Teleph Corp <Ntt> 有効期限算出装置、有効期限算出方法及び有効期限算出プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021073248A1 (zh) * 2019-10-16 2021-04-22 北京字节跳动网络技术有限公司 消息发送方法、装置、可读介质及电子设备

Also Published As

Publication number Publication date
JP2013196566A (ja) 2013-09-30

Similar Documents

Publication Publication Date Title
JP6217839B2 (ja) パケット処理装置、パケット処理方法およびプログラム
KR102133951B1 (ko) 짧은 링크 처리 방법, 디바이스, 및 서버
CN108776934B (zh) 分布式数据计算方法、装置、计算机设备及可读存储介质
US10194001B1 (en) Automatic discovery of API information
CN106657249B (zh) 更新缓存资源的方法及装置
CN107623729B (zh) 一种缓存方法、设备及缓存服务系统
JP5719323B2 (ja) 分散処理システム、ディスパッチャおよび分散処理管理装置
US20140280276A1 (en) Database sharding by shard levels
KR20160076968A (ko) 네트워크 장치 흐름 룩업 관리를 위한 기술
CN107181806B (zh) 一种基于dubbo的分布式业务处理系统及方法
JP5433538B2 (ja) 通信量削減方法
WO2019237594A1 (zh) 会话保持方法、装置、计算机设备及存储介质
CN110830604B (zh) Dns调度方法、装置
US8903948B2 (en) Data processing system, information terminal, data processing method, and non-transitory computer-readable storage medium storing data processing program
US20160248867A1 (en) Optimization of asynchronous pushing of web resources
CN103248666A (zh) 一种离线下载资源的系统、方法及装置
WO2014161261A1 (zh) 数据的存储方法及装置
JP5530474B2 (ja) 情報処理装置及び方法
CN104618388A (zh) 快速注册登录方法及对应的重置服务器、信息服务器
US9633035B2 (en) Storage system and methods for time continuum data retrieval
WO2020094064A1 (zh) 性能优化方法、装置、设备及计算机可读存储介质
CN108063835B (zh) 外网域名解析方法、服务器和系统
US9286055B1 (en) System, method, and computer program for aggregating fragments of data objects from a plurality of devices
CN110955460B (zh) 一种服务进程启动方法、装置、电子设备和存储介质
EP4227828A1 (en) Web scraping through use of proxies, and applications thereof

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131029

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20131113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131220

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140418

R150 Certificate of patent or registration of utility model

Ref document number: 5530474

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250