JP2006106867A - Cache-provided searching device, cache optimization method applied to device, and program - Google Patents

Cache-provided searching device, cache optimization method applied to device, and program Download PDF

Info

Publication number
JP2006106867A
JP2006106867A JP2004289026A JP2004289026A JP2006106867A JP 2006106867 A JP2006106867 A JP 2006106867A JP 2004289026 A JP2004289026 A JP 2004289026A JP 2004289026 A JP2004289026 A JP 2004289026A JP 2006106867 A JP2006106867 A JP 2006106867A
Authority
JP
Japan
Prior art keywords
cache
log
search
environment
optimization method
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.)
Granted
Application number
JP2004289026A
Other languages
Japanese (ja)
Other versions
JP4127690B2 (en
Inventor
Akira Tanaka
晶 田中
Kouichi Sasaki
光一 笹氣
Katsuhiko Takachio
勝彦 高知尾
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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions 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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2004289026A priority Critical patent/JP4127690B2/en
Publication of JP2006106867A publication Critical patent/JP2006106867A/en
Application granted granted Critical
Publication of JP4127690B2 publication Critical patent/JP4127690B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To execute high-speed searching even if a use environment changes. <P>SOLUTION: A cache-provided searching device 10 comprises; an environment monitoring part 24 which monitors a use environment, in which its own device 10 is used, when a searching request is inputted from an input/output terminal 12, and determines whether the use environment thus monitored has changed; a cache log database 30 which stores the logs of the contents of a searching cache 32 in association with the use environment monitored by the environment monitoring part 24; and a cache-operating part 28 which obtains a log most closely relating to a changed environment from the cache log database 30 when the environment monitoring part 24 determines that the use environment has changed, and updates development data in the searching cache 32, based on the log thus obtained. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、キャッシュを備えることによって検索速度の向上を図ったキャッシュ付検索装置と、それに適用されるキャッシュ最適化方法、及びその機能をコンピュータに実現させるためのプログラムに関する。   The present invention relates to a search apparatus with a cache that is provided with a cache to improve the search speed, a cache optimization method applied to the search apparatus, and a program for causing a computer to realize its function.

通常、検索装置は、検索対象となるデータをデータベースに保存しておき、ユーザからの検索要求に基づいて、1つまたは複数のデータベースから該当のデータが検索される。しかしながら、検索対象のデータベースは、大量のデータを保存するために、ディスクなどの2次記憶装置が利用されている。このような検索装置は、通常のデータベース管理システムと同様に、検索速度の向上を図るために、頻繁に検索されているデータが、2次記憶装置からよりも高速に読み出すことが可能なメモリ上のデータキャッシュに保存されている。このようなキャッシュ付検索装置の公知例としては、例えば、特許文献1がある。
特願平10−240766号公報
Usually, a search device stores data to be searched in a database, and the corresponding data is searched from one or a plurality of databases based on a search request from a user. However, the database to be searched uses a secondary storage device such as a disk in order to store a large amount of data. Similar to a normal database management system, such a search device has a memory on which frequently searched data can be read faster than the secondary storage device in order to improve the search speed. Stored in the data cache. As a known example of such a cached search apparatus, there is, for example, Patent Document 1.
Japanese Patent Application No. 10-240766

しかしながら、このような従来のキャッシュ付検索装置では、以下のような問題がある。   However, such a conventional cached search apparatus has the following problems.

すなわち、従来のキャッシュ付検索装置においては、直近に検索された問い合わせのインデックス情報がキャッシュに保存されているため、検索装置が起動された直後や、ユーザが検索を始めた直後には、それまでに検索されていない問い合わせを行うため、キャッシュが効果を発揮できないという問題がある。   That is, in the conventional cached search device, since the index information of the most recently searched query is stored in the cache, immediately after the search device is started or immediately after the user starts the search, There is a problem that the cache cannot be effective because the query is not searched for.

本発明はこのような事情に鑑みてなされたものであり、例えばユーザや、時刻情報のような使用環境と、キャッシュの内容のログとを関連付けて記録しておき、使用環境が変化した場合に、これから検索されると予想されるデータをキャッシュに予め格納しておくことによって、使用環境が変わった場合であっても、高速な検索を実行することが可能なキャッシュ付検索装置、それに適用されるキャッシュ最適化方法、及びプログラムを提供することを目的とする。   The present invention has been made in view of such circumstances. For example, when a usage environment such as a user or time information is recorded in association with a log of cache contents, the usage environment changes. A cache-equipped search device that can execute a high-speed search even when the usage environment changes by storing data that is expected to be searched in the cache in advance, and is applied to the search device. An object of the present invention is to provide a cache optimization method and program.

上記の目的を達成するために、本発明では、以下のような手段を講じる。   In order to achieve the above object, the present invention takes the following measures.

すなわち、本発明に係るキャッシュ付検索装置では、予め記憶手段に格納しておいたデータのうち、一部をメモリ上のキャッシュに展開しておき、外部から検索要求が入力された場合には、キャッシュを利用することにより、高速に検索を行うものであって、以下に示すような機能を持つキャッシュ最適化方法が適用されている。   That is, in the cached search device according to the present invention, a part of the data stored in the storage means in advance is expanded in the cache on the memory, and when a search request is input from the outside, A cache optimization method that performs a high-speed search by using a cache and has the following functions is applied.

このキャッシュ最適化方法は、検索要求が入力された場合においてこの装置自体が使用されている使用環境を監視する。ここで、使用環境とは、例えば、検索要求を行うユーザの組み合わせ、および時刻情報を含む。そして、キャッシュの内容のログを、監視した使用環境と関連付けてログ保存データベースに保存する。更に、監視している使用環境に変化があったか否かを判定し、使用環境に変化があったと判定した場合には、変化後の使用環境に最も関連性の高いログをログ保存データベースから取得し、取得したログに基づいて、キャッシュ内の展開データを更新する。ここで、使用環境の変化を判定する場合は、例えば、検索しているユーザの組み合わせが変わった場合、または予め定めた時刻になった場合に、使用環境に変化があったと判定する。あるいは、ログ保存データベースに保存されている過去のログの内容を時系列的に解析し、この解析結果から、現在の使用環境に変化があったか否かを判定する。   This cache optimization method monitors the usage environment in which the device itself is used when a search request is input. Here, the usage environment includes, for example, a combination of users who make a search request and time information. Then, the log of the contents of the cache is stored in the log storage database in association with the monitored usage environment. Furthermore, it is determined whether there is a change in the usage environment being monitored. If it is determined that there has been a change in the usage environment, the log most relevant to the usage environment after the change is acquired from the log storage database. The expanded data in the cache is updated based on the acquired log. Here, when the change of the usage environment is determined, for example, when the combination of the searching users is changed or when a predetermined time is reached, it is determined that the usage environment has changed. Alternatively, the contents of the past log stored in the log storage database are analyzed in time series, and it is determined from this analysis result whether there is a change in the current use environment.

このようなキャッシュ付検索装置は、このようなキャッシュ最適化方法を実現するプログラムによって構成されうる。   Such a search apparatus with a cache can be configured by a program that realizes such a cache optimization method.

本発明によれば、例えば、起動直後、新たなユーザがログインした場合、あるいは予め定めた時刻になった場合など使用環境が変化した場合に、これから検索されると予想されるデータをキャッシュに予め格納しておくことができる。以上により、使用環境が変わった場合であっても、高速な検索を実行することが可能なキャッシュ付検索装置、それに適用されるキャッシュ最適化方法、及びプログラムを実現することができる。   According to the present invention, for example, immediately after startup, when a new user logs in, or when the usage environment changes, such as when a predetermined time comes, data that is expected to be retrieved is stored in the cache in advance. Can be stored. As described above, it is possible to realize a cached search apparatus capable of executing a high-speed search even when the usage environment changes, a cache optimization method, and a program applied thereto.

以下に、本発明を実施するための最良の形態について図面を参照しながら説明する。   The best mode for carrying out the present invention will be described below with reference to the drawings.

図1は、本発明の実施の形態に係るキャッシュ最適化方法を適用したキャッシュ付検索装置の構成例を示す機能ブロック図である。   FIG. 1 is a functional block diagram showing a configuration example of a cached search apparatus to which a cache optimization method according to an embodiment of the present invention is applied.

すなわち、同実施の形態に係るキャッシュ最適化方法を適用したキャッシュ付検索装置10は、検索サーバ20と、それに接続された入出力端末12およびデータベース14とからなる。入出力端末12およびデータベース14は、複数ありうるが、図1では、説明の簡略化のために各一つのみ示している。入出力端末12は、検索サーバ20に対して検索要求を送ったり、検索サーバ20から送られた検索結果を表示するものであり、キーボードやマウス等の入力ツールと、入力ツールによって入力されたデータや、検索サーバ20からの検索結果等を表示するディスプレイとを備えている。このような入出力端末12は、例えば、パーソナルコンピュータで構成することができる。また、インターネット等の通信ネットワークによって検索サーバ20と遠隔配置されていても良い。   That is, the cached search device 10 to which the cache optimization method according to the embodiment is applied includes a search server 20, an input / output terminal 12 and a database 14 connected thereto. Although there can be a plurality of input / output terminals 12 and databases 14, only one each is shown in FIG. 1 for the sake of simplicity of explanation. The input / output terminal 12 sends a search request to the search server 20 or displays a search result sent from the search server 20, and includes input tools such as a keyboard and a mouse, and data input by the input tool. And a display for displaying search results from the search server 20. Such an input / output terminal 12 can be constituted by a personal computer, for example. Further, it may be remotely located from the search server 20 via a communication network such as the Internet.

検索サーバ20は更に、キャッシュ解析部22と、環境監視部24と、検索サーバ情報部26と、キャッシュ操作部28と、キャッシュログデータベース30と、一般的な検索キャッシュ32と、検索実行部34とを備えている。   The search server 20 further includes a cache analysis unit 22, an environment monitoring unit 24, a search server information unit 26, a cache operation unit 28, a cache log database 30, a general search cache 32, and a search execution unit 34. It has.

キャッシュ解析部22は、キャッシュログを記録する時間間隔を指定し、指定時間間隔を環境監視部24に送る。なお、キャッシュ解析部22を省略し、キャッシュログを記録する時間間隔を入出力端末12から指定し、この指定時間間隔を環境監視部24に送るようにしても良い。   The cache analysis unit 22 designates a time interval for recording the cache log, and sends the designated time interval to the environment monitoring unit 24. Note that the cache analysis unit 22 may be omitted, the time interval for recording the cache log may be specified from the input / output terminal 12, and the specified time interval may be sent to the environment monitoring unit 24.

また、キャッシュ解析部22は、検索サーバ20の起動時に、キャッシュログデータベース30に格納されている過去のキャッシュログを分析し、検索キャッシュ32に記録されるキャッシュの展開データを入れ替えるのに最適なタイミングを自動的に算出する。この算出方法について、図2に示すフローチャートを用いて説明する。   In addition, the cache analysis unit 22 analyzes the past cache log stored in the cache log database 30 when the search server 20 is started up, and the optimal timing for replacing the cache expansion data recorded in the search cache 32. Is automatically calculated. This calculation method will be described with reference to the flowchart shown in FIG.

すなわち、キャッシュ解析部22は、キャッシュログデータベース30に格納されている全てのキャッシュログを、ログを記録した時刻で比較し、30分をひとまとまりとして、グループ化する(S1)。   That is, the cache analysis unit 22 compares all the cache logs stored in the cache log database 30 at the time when the logs are recorded, and groups them as a group (S1).

次に、ステップS1でグループ化された各グループ内の全てのキャッシュログをベクトル空間に展開する(S2)。ベクトル空間とは、登録されている全ての単語を次元として、その単語が存在すれば1、存在しなければ0を入れたものである。例えば図3に示すように、ステップS1でキャッシュログ1とキャッシュログ2というキャッシュログがグループ化され、キャッシュログ1に「日本」と「経済」という単語が記録されており、キャッシュログ2に「日本」と「野球」という単語が記録されている場合、登録されている全ての単語は「日本」、「経済」、「野球」となる。したがって、ベクトル空間は(日本、経済、野球)という3次元空間で定義される。このようなベクトル空間に対して、「日本」と「経済」とが記録されているキャッシュログ1のベクトル空間展開結果は、
(日本、経済、野球)=(1,1,0)となり、
「日本」と「野球」とが記録されているキャッシュログ2のベクトル空間展開結果は、
(日本、経済、野球)=(1,0,1)となる。
Next, all the cache logs in each group grouped in step S1 are expanded into a vector space (S2). In the vector space, all registered words are taken as dimensions, and 1 is entered if the word exists, and 0 is entered if the word does not exist. For example, as shown in FIG. 3, the cache logs 1 and 2 are grouped in step S 1, and the words “Japan” and “Economy” are recorded in the cache log 1. When the words “Japan” and “baseball” are recorded, all the registered words are “Japan”, “economy”, and “baseball”. Therefore, the vector space is defined by a three-dimensional space (Japan, economy, baseball). For such a vector space, the result of vector space expansion of cache log 1 in which “Japan” and “economy” are recorded is
(Japan, economy, baseball) = (1, 1, 0)
The vector space expansion result of cash log 2 where “Japan” and “baseball” are recorded is
(Japan, economy, baseball) = (1, 0, 1).

次に、各グループごとに、グループ内の全ベクトルの和を取る。このベクトルの和を代表ベクトルと呼ぶ(S3)。図3に示すようなキャッシュログ1とキャッシュログ2とが記録されているキャッシュログデータベース30の場合、代表ベクトルは、
(日本、経済、野球)=(1,1,0)+(1,0,1)=(2,1,1)となる。
Next, for each group, the sum of all vectors in the group is taken. The sum of these vectors is called a representative vector (S3). In the case of the cache log database 30 in which the cache log 1 and the cache log 2 are recorded as shown in FIG.
(Japan, economy, baseball) = (1,1,0) + (1,0,1) = (2,1,1).

次に、ステップS3で求めた各代表ベクトルにおいて、一つ前の時間、および一つ後の時間に対して下記の(3)式に示すような大きさの比較値、(4)式に示すような方向の比較値をそれぞれ計算する。なお、(3)式および(4)式において、ベクトルAとは、一つ前の時間の代表ベクトルであり、ベクトルBとは、一つ後の時間の代表ベクトルである。そして、(3)式、または(4)式に従って求めた比較値のうちの何れか一方が予め定めた閾値を超えた場合には、その2つのグループの境界の時刻をキャッシュ入れ替えタイミングとして、環境監視部24に出力する(S4)。このような処理を、ユーザごとにグループ化するように変更することで、キャッシュ入れ替えのタイミングを自動算出するようにしている。   Next, in each representative vector obtained in step S3, a comparison value having a magnitude as shown in the following equation (3) with respect to the previous time and the next time, shown in equation (4) A comparison value in each direction is calculated. In equations (3) and (4), vector A is a representative vector of the previous time, and vector B is a representative vector of the next time. When either one of the comparison values obtained according to the formula (3) or the formula (4) exceeds a predetermined threshold, the time at the boundary between the two groups is used as the cache replacement timing, and the environment is changed. The data is output to the monitoring unit 24 (S4). By changing such processing so as to be grouped for each user, the timing of cache replacement is automatically calculated.

検索サーバ情報部26は、環境監視部24に対して時刻情報を提供する。   The search server information unit 26 provides time information to the environment monitoring unit 24.

環境監視部24は、検索サーバ情報部26から時刻情報を取得することによって現在時刻を把握する。そして、キャッシュ解析部22または入出力端末12からの指定時間間隔に達する毎に、キャッシュ操作部28に対して、検索キャッシュ32内の内容のログを、キャッシュログデータベース30に記録するよう指示信号を送る。これを受けて、キャッシュ操作部28は、検索キャッシュ32内の内容のログをキャッシュデータベース30に記録する。   The environment monitoring unit 24 grasps the current time by acquiring time information from the search server information unit 26. Each time the designated time interval from the cache analysis unit 22 or the input / output terminal 12 is reached, an instruction signal is sent to the cache operation unit 28 to record the log of the contents in the search cache 32 in the cache log database 30. send. In response to this, the cache operation unit 28 records a log of the contents in the search cache 32 in the cache database 30.

環境監視部24はまた、入出力端末12から検索要求が入力された場合、検索サーバ20が使用されている使用環境を監視する。使用環境は、入出力端末12を操作するユーザ、および時刻情報を含む。そして、監視している使用環境に変化があったか否かを判定する。例えば、検索サーバ20が起動された場合や、予め定めた時刻になった場合には、それを検知し、使用環境に変化があったと判定する。また、キャッシュログデータベース30に保存されている過去のログの内容を時系列的に解析し、この解析結果から、現在の使用環境に変化があったことを判定する。このようにして使用環境に変化があったものと判定した場合には、キャッシュ解析部22によって算出されたキャッシュ入れ替えタイミングに達する毎に第1のキャッシュ入替信号をキャッシュ操作部28に出力する。   The environment monitoring unit 24 also monitors the usage environment in which the search server 20 is used when a search request is input from the input / output terminal 12. The usage environment includes a user who operates the input / output terminal 12 and time information. Then, it is determined whether or not the usage environment being monitored has changed. For example, when the search server 20 is activated or when a predetermined time is reached, it is detected and it is determined that the use environment has changed. Further, the contents of the past log stored in the cache log database 30 are analyzed in time series, and it is determined from the analysis result that the current usage environment has changed. When it is determined that the usage environment has changed in this way, the first cache replacement signal is output to the cache operation unit 28 every time the cache replacement timing calculated by the cache analysis unit 22 is reached.

また、入出力端末12を操作するユーザが別のユーザに変わった場合にもまた、使用環境に変化があったと判定する。この場合には、キャッシュ解析部22によって算出されたキャッシュ入れ替えタイミングに達する毎に第2のキャッシュ入替信号をキャッシュ操作部28に出力する。   Further, when the user operating the input / output terminal 12 is changed to another user, it is determined that the use environment has changed. In this case, a second cache replacement signal is output to the cache operation unit 28 every time the cache replacement timing calculated by the cache analysis unit 22 is reached.

キャッシュ操作部28は、環境監視部24からキャッシュ入替信号が出力された場合には、現在の使用環境に最も関連性の高いキャッシュログをキャッシュログデータベース30から取得する。例えば、第1のキャッシュ入替信号が送られた場合であれば、時刻に基づいて、最も関連性の高いキャッシュログをキャッシュログデータベース30から取得する。具体的には、昨日以前の日付のキャッシュログのうち、以下の評価式(1)より最も評価点の高いキャッシュログを取得する。ただし、評価式(1)において、時刻とは、記録時間のうち年、日を除いた、「時:分:秒」とする。この時刻は、YY:MM:DD:hh:mm:ssのように表現できる(YYは西暦の下二桁、MMは月、DDは日、hhは時間、mmは分、ssは秒)。例として、演算は:で区切られた要素ごとに行い、要素の値がマイナスになると上位の要素から借りることができる。また、時刻の差は10分単位で表し、日付の差は日数単位で表す。   When the cache replacement signal is output from the environment monitoring unit 24, the cache operation unit 28 acquires the cache log most relevant to the current usage environment from the cache log database 30. For example, if the first cache replacement signal is sent, the most relevant cache log is acquired from the cache log database 30 based on the time. Specifically, the cache log having the highest evaluation score from the following evaluation formula (1) is acquired from the cache logs dated before yesterday. However, in the evaluation formula (1), the time is “hour: minute: second” excluding the year and the day of the recording time. This time can be expressed as YY: MM: DD: hh: mm: ss (YY is the last two digits of the year, MM is the month, DD is the day, hh is the hour, mm is the minute, and ss is the second). As an example, the operation is performed for each element separated by: If the value of the element becomes negative, it can be borrowed from a higher element. The time difference is expressed in units of 10 minutes, and the date difference is expressed in days.

評価点=(現在時刻+10分)−(ログの時刻) ・・・・評価式(1)
この評価式(1)の意味は、10分後に最も近い時刻のキャッシュログのうち、最新のものを選ぶということである。
Evaluation point = (current time + 10 minutes) − (log time)... Evaluation formula (1)
The meaning of this evaluation formula (1) is to select the latest cache log at the nearest time after 10 minutes.

また、キャッシュ操作部28は、第2のキャッシュ入替信号が出力された場合であれば、以下の評価式(2)より、評価点の最も低いキャッシュログを選択することによって、最近のキャッシュログの中から、ユーザ構成が最も類似しているキャッシュログをキャッシュログデータベース30から取得する。なお、評価式(2)で用いるユーザの優先度(値が大きければ大きいほど高い)は、予め定めておくものとする。   Further, if the second cache replacement signal is output, the cache operation unit 28 selects the cache log having the lowest evaluation score from the following evaluation formula (2), so that Among them, the cache log having the most similar user configuration is acquired from the cache log database 30. Note that the priority of the user used in the evaluation formula (2) (the higher the value, the higher) is determined in advance.

評価点=(ユーザ構成点)*((現在の日付)−(ログの日付))・・・・評価式(2)
ここで、ユーザ構成点とは、現在とキャッシュログとのユーザベクトルの各要素の差をとり、それぞれの絶対値の和から求める。以下に、ユーザベクトルと、ユーザ構成点について具体的に説明する。
Evaluation point = (User composition point) * ((Current date) − (Date of log))... Evaluation formula (2)
Here, the user composing point is obtained from the sum of the absolute values of each element of the user vector between the current and the cache log. Below, a user vector and a user component point are demonstrated concretely.

すなわち、評価式(2)を用いて評価点を計算する場合、まず、全ユーザ数に対応する次元を持つベクトルを考慮し、現在の状況のユーザベクトルを作成する。作成方法は、ベクトルの各次元を1人のユーザに割り当て、ユーザがログインしていれば優先度、ログインしていなければ0を割り当てる。例えば、W、X、Y、Zの4人のユーザに対し、ユーザWの優先度として20、ユーザXの優先度として10、ユーザYの優先度として10、ユーザZの優先度として5とした場合であって、ユーザWとユーザYだけがログインしている状態のユーザベクトルは、
ユーザベクトル(W,X,Y,Z)=(20,0,10,0)となる。
また、ユーザX、ユーザY、ユーザZだけがログインしている状態のユーザベクトルは、
ユーザベクトル(W,X,Y,Z)=(0,10,10,5)となる。
That is, when calculating an evaluation score using the evaluation formula (2), first, a vector having a dimension corresponding to the total number of users is considered, and a user vector in the current situation is created. In the creation method, each dimension of the vector is assigned to one user, and the priority is assigned if the user is logged in, and 0 is assigned if the user is not logged in. For example, for four users W, X, Y, and Z, the priority of user W is 20, the priority of user X is 10, the priority of user Y is 10, and the priority of user Z is 5. In this case, the user vector when only the user W and the user Y are logged in is
User vector (W, X, Y, Z) = (20, 0, 10, 0).
Moreover, the user vector in the state where only the user X, the user Y, and the user Z are logged in is
User vector (W, X, Y, Z) = (0, 10, 10, 5).

次に、評価式(2)を用いた具体的な評価点の計算例について説明する。第1の想定ケースとして、現在、上記各ユーザW,X,Y,Zの全員がログインしていて、1日前のあるログαのユーザ状況では、優先度の低いユーザZのみがログインしていない場合を考える。この場合、現在におけるユーザベクトルは、(W,X,Y,Z)=(20,10,10,5)であり、ログαにおけるユーザベクトルは、(W,X,Y,Z)=(20,10,10,0)であるので、現在とキャッシュログとのユーザベクトルの各要素の差は、
(ΔW,ΔX,ΔY,ΔZ)=(0,0,0,5)となる。したがって、各要素の絶対値の和は 0+0+0+5=5 となる。これがユーザ構成点となる。また、評価式(2)における((現在の日付)−(ログの日付))は、1(日)であるので、この場合における評価点は、 5×1=5点 となる。
Next, a specific evaluation point calculation example using the evaluation formula (2) will be described. As a first assumption case, all of the users W, X, Y, and Z are currently logged in, and only one user Z with a low priority is not logged in in the user situation of a certain log α one day ago. Think about the case. In this case, the current user vector is (W, X, Y, Z) = (20, 10, 10, 5), and the user vector in the log α is (W, X, Y, Z) = (20 , 10, 10, 0), the difference between each element of the user vector between the current and the cache log is
(ΔW, ΔX, ΔY, ΔZ) = (0, 0, 0, 5). Therefore, the sum of absolute values of each element is 0 + 0 + 0 + 5 = 5. This is the user composition point. Since ((current date) − (log date)) in the evaluation formula (2) is 1 (day), the evaluation score in this case is 5 × 1 = 5 points.

一方、第2の想定ケースとして、現在、上記各ユーザW,X,Y,Zの全員がログインしていて、2日前のあるログβのユーザ状況では、優先度の高いユーザWのみがログインしていない場合を考える。この場合、現在におけるユーザベクトルは、(W,X,Y,Z)=(20,10,10,5)であり、ログβにおけるユーザベクトルは、(W,X,Y,Z)=(0,10,10,5)であるので、現在とキャッシュログとのユーザベクトルの各要素の差は、(ΔW,ΔX,ΔY,ΔZ)=(20,0,0,0)となる。したがって、各要素の絶対値の和は 20+0+0+0=20 となる。これがユーザ構成点となる。また、評価式(2)における((現在の日付)−(ログの日付))は、2(日)であるので、この場合における評価点は、 20×2=40点 となる。   On the other hand, as a second assumed case, all of the users W, X, Y, and Z are currently logged in, and in the user situation of a certain log β two days ago, only the user W with a high priority logs in. Think if not. In this case, the current user vector is (W, X, Y, Z) = (20, 10, 10, 5), and the user vector in the log β is (W, X, Y, Z) = (0 , 10, 10, 5), the difference between each element of the user vector between the current and the cache log is (ΔW, ΔX, ΔY, ΔZ) = (20, 0, 0, 0). Therefore, the sum of absolute values of each element is 20 + 0 + 0 + 0 = 20. This is the user composition point. Since ((current date) − (log date)) in the evaluation formula (2) is 2 (day), the evaluation score in this case is 20 × 2 = 40 points.

以上計算したようなログαとログβとを比較すると、ログαの方が評価点の低いので、ログαのユーザ構成を、最も類似しているキャッシュログと判定する。   When the log α and the log β calculated as described above are compared, the log α has a lower evaluation score, so the user configuration of the log α is determined to be the most similar cache log.

このようにしてキャッシュログを取得したならば、キャッシュ操作部28はさらに、検索キャッシュ32に現在キャッシュされている単語のうち、優先順位の低いものから50%を削除する。そして、キャッシュログデータベース30から取得したキャッシュログに記録されている単語のうち、優先順位の高いものから50%を、検索キャッシュ32における優先順位の低いものから50%として挿入する。挿入する単語のうち、検索キャッシュ32に現在キャッシュされている優先順位の高いものから50%の中に既に含まれている単語については、検索キャッシュ32に現在キャッシュされているものをそのまま残す一方、キャッシュログに記録されている単語のうち、検索キャッシュ32に挿入されなかった単語のなかで、優先順位の最も高い単語を繰り上げて検索キャッシュ32に挿入する。このようにして、取得したキャッシュログの内容に基づいて、検索キャッシュ32内のデータを更新する。   When the cache log is acquired in this way, the cache operation unit 28 further deletes 50% of the words currently cached in the search cache 32 from the lower priority words. Of the words recorded in the cache log acquired from the cache log database 30, 50% from the word with the highest priority is inserted as 50% from the word with the lowest priority in the search cache 32. Among the words to be inserted, words that are already included in 50% from the highest priority cached in the search cache 32 are left as they are currently cached in the search cache 32. Of the words recorded in the cache log, among the words that have not been inserted into the search cache 32, the word having the highest priority is moved up and inserted into the search cache 32. In this way, the data in the search cache 32 is updated based on the acquired contents of the cache log.

これを図4を用いて説明する。図4(a)は、検索キャッシュ32に現在キャッシュされている単語とその優先順位を示す図である。一方、図4(b)は、キャッシュログデータベース30から取得されたキャッシュログの内容を示す図である。この場合、キャッシュ操作部28は、図4(a)に示すような検索キャッシュ32にキャッシュされている単語のうち、優先順位の低いものから50%を削除する。すなわち、検索キャッシュ32には、優先順位の高い順に「日本」、「総理大臣」、「東京」、「首相」という4つの単語がキャッシュされているので、優先順位の低い50%の単語である「東京」と「首相」とが削除され、優先順位の高い50%の単語である「日本」と「総理大臣」とが残る。   This will be described with reference to FIG. FIG. 4A is a diagram showing words currently cached in the search cache 32 and their priorities. On the other hand, FIG. 4B is a diagram showing the contents of the cache log acquired from the cache log database 30. In this case, the cache operation unit 28 deletes 50% of the words cached in the search cache 32 as shown in FIG. That is, the search cache 32 caches four words of “Japan”, “Prime Minister”, “Tokyo”, and “Prime Minister” in descending order of priority, so that the words are 50% of low priority. “Tokyo” and “Prime Minister” are deleted, and “Japan” and “Prime Minister” remain as high-priority 50% words.

一方、キャッシュログデータベース30から取得したキャッシュログには、図4(b)に示すように、優先順位の高い順に「日本」、「野球」、「MLB」、「ホームラン」という単語が記録されているので、優先順位の高い50%の単語である「日本」と「野球」とが検索キャッシュ32における優先順位下位50%に挿入される。しかしながら、「日本」という単語は、既に検索キャッシュ32における優先順位上位50%に残っているので、「MLB」という単語が繰り上げられる。   On the other hand, as shown in FIG. 4B, the words “Japan”, “baseball”, “MLB”, and “home run” are recorded in the cache log acquired from the cache log database 30 in descending order of priority. Therefore, “Japan” and “baseball”, which are words with a high priority of 50%, are inserted into the lower priority 50% of the search cache 32. However, since the word “Japan” already remains in the top 50% of the priorities in the search cache 32, the word “MLB” is carried forward.

その結果、図4(c)に示すように、検索キャッシュ32に記録されていた単語のうち、優先順位の高い50%の単語である「日本」と「総理大臣」とがそのまま残り、優先順位の低い50%の単語である「東京」と「首相」という単語が、検索キャッシュ32から削除される。そして、その代わりに、キャッシュログデータベース30から取得したキャッシュログに含まれる単語のうち、検索キャッシュ32に既に記録されている単語(「日本」、「総理大臣」)を除いた優先順位上位50%の単語である「野球」と「MLB」とが、検索キャッシュ32の優先順位下位50%に挿入される。   As a result, as shown in FIG. 4C, among the words recorded in the search cache 32, “Japan” and “Prime Minister”, which are high-priority words of 50%, remain as they are. The words “Tokyo” and “Prime Minister”, which are 50% lower words, are deleted from the search cache 32. Instead of the words included in the cache log acquired from the cache log database 30, the top 50% of priorities excluding the words already recorded in the search cache 32 (“Japan”, “Prime Minister”) The words “baseball” and “MLB” are inserted in the lower priority 50% of the search cache 32.

キャッシュ操作部28はまた、環境監視部24から指示信号が送られると、図5に示すとおり、キャッシュログデータベース30に記録する記録時刻、現在入出力端末12を使用しているユーザ名からなる使用環境と、検索キャッシュ32にキャッシュされている単語とその検索頻度順位とからなるキャッシュログを作成し、キャッシュログデータベース30に書き込む。   When an instruction signal is sent from the environment monitoring unit 24, the cache operation unit 28 also includes a recording time recorded in the cache log database 30 and a user name currently using the input / output terminal 12 as shown in FIG. A cache log including the environment, the words cached in the search cache 32 and the search frequency order is created and written to the cache log database 30.

検索実行部34は、入出力端末12から送られたユーザによる検索要求に基づいて、以下のようにして検索キャッシュ32またはデータベース14から検索を実行する。すなわち、入出力端末12から検索要求が送られると、検索要求された単語の、検索キャッシュ32からの検索を試みる。検索キャッシュ32は、例えば図6に示すように、検索頻度の高い順にソートされた優先順位にしたがって単語を記録している。また、インデックス情報として、単語が記載されている文書名と、記載箇所とを記録している。   The search execution unit 34 executes a search from the search cache 32 or the database 14 as follows based on the search request sent from the input / output terminal 12 by the user. That is, when a search request is sent from the input / output terminal 12, an attempt is made to search the search cache 32 for the word requested to be searched. For example, as shown in FIG. 6, the search cache 32 records words according to the priority order sorted in descending order of search frequency. In addition, as index information, a document name in which a word is described and a description location are recorded.

そして、検索要求された単語が、検索キャッシュ32に格納されている場合には、その単語に対応するインデックスを読み出して、検索結果の一覧を作成し、その結果を入出力端末12に返す。その後、図7にその一例を示すように、検索キャッシュ32において、検索した単語より上位の、すべての単語の優先順位を1つずつ下げ、検索した単語の優先順位を1位にする更新処理を実行する。   If the search requested word is stored in the search cache 32, the index corresponding to the word is read out, a list of search results is created, and the result is returned to the input / output terminal 12. Thereafter, as shown in FIG. 7 as an example, in the search cache 32, an update process for lowering the priority of all words higher than the searched word one by one and setting the priority of the searched word to first is performed. Execute.

図7は、「東京」という検索要求に対して検索を行い、検索キャッシュ32から文書#8が検索された場合における検索キャッシュ32の更新処理の例を示すものである。すなわち、当該検索前においては、図7(a)に示すように、「東京」という単語は、優先順位3位であったが、当該検索後においては、図7(b)に示すように、「東京」の優先順位が1位に上げられ、その他の単語の優先順位が1ずつ繰り下げられている。   FIG. 7 shows an example of update processing of the search cache 32 when searching for a search request “Tokyo” and document # 8 is searched from the search cache 32. That is, before the search, as shown in FIG. 7A, the word “Tokyo” was in the third priority, but after the search, as shown in FIG. The priority of “Tokyo” has been raised to first place, and the priority of other words has been lowered by one.

一方、検索要求された単語が、検索キャッシュ32に格納されていない場合には、データベース14から、その単語に対応するインデックスを読み出して、検索結果の一覧を作成し、その結果を入出力端末12に返す。その後、図8にその一例を示すように、検索キャッシュ32において、優先順位が最下位の単語のインデックスを削除し、データベース14から検索された単語のインデックスの優先順位を1位にする更新処理を実行する。   On the other hand, if the search requested word is not stored in the search cache 32, the index corresponding to the word is read from the database 14, a list of search results is created, and the result is input to the input / output terminal 12. Return to. Thereafter, as shown in FIG. 8 as an example, an update process for deleting the index of the word with the lowest priority in the search cache 32 and setting the priority of the index of the word searched from the database 14 to first place is performed. Execute.

図8は、「ブッシュ」という検索要求に対して検索を行い、データベース14から文書#10が検索された場合における検索キャッシュ32の更新処理の例を示すものである。すなわち、当該検索前においては、図8(a)に示すように、「ブッシュ」という単語は、検索キャッシュ32内には記録されていなかったが、当該検索後においては、図8(b)に示すように、「ブッシュ」の優先順位が1位に上げられ、代わりに、検索前の優先順位が最下位であった「東京」という単語が削除されている。   FIG. 8 shows an example of update processing of the search cache 32 when a search is performed in response to the search request “Bush” and the document # 10 is searched from the database 14. That is, before the search, as shown in FIG. 8A, the word “bush” was not recorded in the search cache 32, but after the search, As shown, the priority of “Bush” has been raised to the first place, and instead the word “Tokyo” with the lowest priority before the search has been deleted.

なお、上記では、説明の簡略化のために、検索要求が単一の単語でなされた場合を例に説明したが、検索要求は、単一の単語に限定されるものではなく、複数単語、あるいは文であっても同様に適用可能である。また、データベース14のデータが更新された場合も、検索キャッシュ32の内容の変更が起こりうるが、それについては、簡略化のために省略する。   In the above description, for the sake of simplicity, the case where the search request is made with a single word has been described as an example. However, the search request is not limited to a single word, and a plurality of words, Or it is applicable similarly even if it is a sentence. Also, when the data in the database 14 is updated, the contents of the search cache 32 may change, but this is omitted for the sake of brevity.

このような構成をなす本キャッシュ付検索装置10は、例えば磁気ディスク等の記憶媒体に記憶されたプログラムや、インターネット等のネットワークを介してダウンロードしたプログラムを読み込み、このプログラムによって動作が制御されるコンピュータによって実現される。   The cached search device 10 having such a configuration reads a program stored in a storage medium such as a magnetic disk or a program downloaded via a network such as the Internet, and a computer whose operation is controlled by the program. It is realized by.

ここで記憶媒体としては、磁気ディスク、フロッピー(登録商標)ディスク、ハードディスク、光ディスク(CD−ROM、DVD等)、光磁気ディスク(MO等)、半導体メモリ等、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。   Here, the storage medium can store programs such as magnetic disk, floppy disk, hard disk, optical disk (CD-ROM, DVD, etc.), magneto-optical disk (MO, etc.), semiconductor memory, etc., and can be read by a computer. As long as it is a possible storage medium, the storage format may be any form.

また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が同実施の形態を実現するための各処理の一部を実行してもよい。   Further, an OS (operating system) running on the computer based on an instruction of a program installed in the computer from the storage medium, MW (middleware) such as database management software, network software, and the like realize the embodiment. A part of each process may be executed.

さらに、記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶又は一時記憶した記憶媒体も含まれる。   Furthermore, the storage medium is not limited to a medium independent of the computer, but also includes a storage medium in which a program transmitted via a LAN, the Internet, or the like is downloaded and stored or temporarily stored.

また、記憶媒体は1つに限らず、複数の媒体から同実施の形態における処理が実行される場合もここでいう記憶媒体に含まれ、媒体構成は何らの構成であってもよい。   Further, the number of storage media is not limited to one, and the case where the processing in the embodiment is executed from a plurality of media is also included in the storage media here, and the media configuration may be any configuration.

なお、ここでいうコンピュータは、記憶媒体に記憶されたプログラムに基づき、同実施の形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。また、このコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。   The computer referred to here executes each processing in the embodiment based on a program stored in a storage medium, and a single device such as a personal computer or a plurality of devices are connected to a network. Any configuration such as a system may be used. In addition, the computer is not limited to a personal computer, but includes an arithmetic processing device, a microcomputer, and the like included in an information processing device, and is a generic term for devices and devices that can realize the functions of the present invention by a program.

次に、以上のように構成した同実施の形態に係るキャッシュ最適化方法を適用したキャッシュ付検索装置10の作用について説明する。   Next, an operation of the cached search device 10 to which the cache optimization method according to the embodiment configured as described above is applied will be described.

すなわち、同実施の形態に係るキャッシュ最適化方法を適用したキャッシュ付検索装置10では、キャッシュ解析部22において、キャッシュログを記録する時間間隔が指定され、指定され時間間隔が環境監視部24に送られる。なお、キャッシュ解析部22を省略し、キャッシュログを記録する時間間隔を入出力端末12から指定し、この指定時間間隔を環境監視部24に送るようにしても良い。   That is, in the cached search device 10 to which the cache optimization method according to the embodiment is applied, the cache analysis unit 22 specifies a time interval for recording the cache log, and the specified time interval is sent to the environment monitoring unit 24. It is done. Note that the cache analysis unit 22 may be omitted, the time interval for recording the cache log may be specified from the input / output terminal 12, and the specified time interval may be sent to the environment monitoring unit 24.

キャッシュ解析部22では、検索サーバ20の起動時に、キャッシュログデータベース30に格納されている過去のキャッシュログが分析され、図2のフローチャートに示すように、検索キャッシュ32に記録されるキャッシュの展開データを入れ替えるのに最適なタイミングが自動的に算出される。   The cache analysis unit 22 analyzes the past cache log stored in the cache log database 30 when the search server 20 is started, and the cache expansion data recorded in the search cache 32 as shown in the flowchart of FIG. The optimum timing for replacing is automatically calculated.

また、検索サーバ情報部26からは、環境監視部24に対して時刻情報が提供される。   Further, the search server information unit 26 provides time information to the environment monitoring unit 24.

そして、環境監視部24では、検索サーバ情報部26から提供される時刻情報から、現在時刻が把握される。そして、キャッシュ解析部22または入出力端末12からの指定時間間隔に達する毎に、キャッシュ操作部28に対して、検索キャッシュ32内の内容のログを、キャッシュログデータベース30に記録するよう指示信号が送られる。これを受けて、キャッシュ操作部28では、検索キャッシュ32内の内容のログが、キャッシュログデータベース30に記録される。   Then, the environment monitoring unit 24 grasps the current time from the time information provided from the search server information unit 26. Each time the specified time interval from the cache analysis unit 22 or the input / output terminal 12 is reached, an instruction signal is sent to the cache operation unit 28 to record the log of the contents in the search cache 32 in the cache log database 30. Sent. In response to this, the cache operation unit 28 records a log of the contents in the search cache 32 in the cache log database 30.

環境監視部24ではまた、入出力端末12から検索要求が入力された場合、検索サーバ20が使用されている使用環境が監視され、使用環境に変化があったか否かが判定される。例えば、検索サーバ20が起動された場合や、予め定めた時刻になった場合には、それを検知し、使用環境に変化があったものと判定される。また、キャッシュログデータベース30に保存されている過去のログの内容が時系列的に解析され、この解析結果から、現在の使用環境に変化があったことが判定される。このようにして使用環境に変化があったものと判定された場合には、キャッシュ解析部22によって算出されたキャッシュ入れ替えタイミングに達する毎に、第1のキャッシュ入替信号がキャッシュ操作部28に送られる。   In addition, when a search request is input from the input / output terminal 12, the environment monitoring unit 24 monitors the use environment in which the search server 20 is used, and determines whether or not the use environment has changed. For example, when the search server 20 is activated or when a predetermined time is reached, it is detected and it is determined that the use environment has changed. Further, the contents of past logs stored in the cache log database 30 are analyzed in time series, and it is determined from the analysis result that there is a change in the current use environment. When it is determined that the usage environment has changed in this way, the first cache replacement signal is sent to the cache operation unit 28 every time the cache replacement timing calculated by the cache analysis unit 22 is reached. .

また、入出力端末12を操作するユーザが別のユーザに変わった場合にもまた、使用環境に変化があったものと判定される。この場合には、キャッシュ解析部22によって算出されたキャッシュ入れ替えタイミングに達する毎に第2のキャッシュ入替信号がキャッシュ操作部28に送られる。   Also, when the user operating the input / output terminal 12 changes to another user, it is determined that the usage environment has changed. In this case, the second cache replacement signal is sent to the cache operation unit 28 every time the cache replacement timing calculated by the cache analysis unit 22 is reached.

キャッシュ操作部28では、環境監視部24からキャッシュ入替信号が送られた場合には、図9に示すようなフローチャートに従って、現在の使用環境に最も関連性の高いキャッシュログがキャッシュログデータベース30から取得される。例えば、検索サーバ20が起動された場合(S11)には、環境監視部24から第1のキャッシュ入替信号が送られ、時刻に基づいて、上述した評価式(1)に従って、最も関連性の高いキャッシュログがキャッシュログデータベース30から選択される(S12)。そして、選択されたキャッシュログに従ってキャッシュ操作部28によって検索キャッシュ32内のキャッシュデータが入れ替えられ(S13)、しかる後に、環境監視部24による環境監視が継続される(S14)。   In the cache operation unit 28, when a cache replacement signal is sent from the environment monitoring unit 24, the cache log most relevant to the current use environment is acquired from the cache log database 30 according to the flowchart shown in FIG. Is done. For example, when the search server 20 is activated (S11), the first cache replacement signal is sent from the environment monitoring unit 24, and is most relevant according to the evaluation formula (1) described above based on the time. A cache log is selected from the cache log database 30 (S12). Then, the cache data in the search cache 32 is replaced by the cache operation unit 28 in accordance with the selected cache log (S13), and then the environment monitoring by the environment monitoring unit 24 is continued (S14).

さらにこの状態で、キャッシュログを選択する指定時刻になった場合(S15:Yes)にも同様にステップS12以降の処理が行われ、しかる後に、環境監視部24による環境監視が継続される(S14)。一方、キャッシュログを選択する指定時刻になっていない場合(S15:No)であっても、新たなユーザが、検索サーバ20にログインした場合(S16:Yes)には、環境監視部24から第2のキャッシュ入替信号が送られ、上述した評価式(2)に従って、評価点の最も低いキャッシュログを選択することによって、最近のキャッシュログの中から、ユーザ構成が最も類似しているキャッシュログがキャッシュログデータベース30から選択される(S17)。そして、選択されたキャッシュログに従って検索キャッシュ32内のキャッシュデータが入れ替えられ(S13)、しかる後に、環境監視部24による環境監視が継続される(S14)。一方、ステップS16において、新たなユーザがログインしない場合(S16:No)には、環境監視部24による環境監視が継続される(S14)。   Further, in this state, when the designated time for selecting the cache log is reached (S15: Yes), the processing from step S12 is similarly performed, and thereafter, the environment monitoring by the environment monitoring unit 24 is continued (S14). ). On the other hand, even if it is not the designated time for selecting the cache log (S15: No), when the new user logs in to the search server 20 (S16: Yes), the environment monitoring unit 24 2 cache replacement signals are sent, and the cache log with the lowest user score is selected from the recent cache logs by selecting the cache log with the lowest evaluation score according to the above-described evaluation formula (2). It is selected from the cache log database 30 (S17). Then, the cache data in the search cache 32 is exchanged according to the selected cache log (S13), and then the environment monitoring by the environment monitoring unit 24 is continued (S14). On the other hand, in step S16, when a new user does not log in (S16: No), the environment monitoring by the environment monitoring unit 24 is continued (S14).

なお、キャッシュ操作部28では、環境監視部24から指示信号が送られる毎に、図5に示すとおり、キャッシュログデータベース30に記録する記録時刻、現在入出力端末12を使用しているユーザ名からなる使用環境と、検索キャッシュ32にキャッシュされている単語とその検索頻度順位とからなるキャッシュログが作成され、キャッシュログデータベース30に書き込まれる。   Each time the instruction signal is sent from the environment monitoring unit 24, the cache operation unit 28, as shown in FIG. 5, from the recording time recorded in the cache log database 30 and the name of the user currently using the input / output terminal 12. A cache log including the usage environment, the words cached in the search cache 32 and the search frequency order is created and written to the cache log database 30.

一方、検索実行部34は、入出力端末12から送られたユーザによる検索要求に基づいて、図10のフローチャートに示すようにして検索キャッシュ32またはデータベース14からの検索が実行される。すなわち、入出力端末12から検索要求が入力されると(S21)、検索要求された単語の、検索キャッシュ32からの検索が試みられる。検索キャッシュ32では、例えば図6に示すように、検索頻度の高い順にソートされた優先順位にしたがって単語が記録されている。また、インデックス情報として、単語が記載されている文書名と、記載箇所とが記録されている。   On the other hand, the search execution unit 34 executes a search from the search cache 32 or the database 14 as shown in the flowchart of FIG. 10 based on the search request sent from the input / output terminal 12 by the user. That is, when a search request is input from the input / output terminal 12 (S21), a search for the requested word from the search cache 32 is attempted. In the search cache 32, for example, as shown in FIG. 6, words are recorded in the order of priority sorted in descending order of search frequency. In addition, as index information, a document name in which a word is described and a description location are recorded.

そして、ステップS21で検索要求された単語が、検索キャッシュ32に格納されている場合(S22:Yes)には検索キャッシュ32から、その単語に対応するインデックスが取得され、検索結果の一覧が作成される(S23)。その後、図7にその一例を示すように、検索キャッシュ32において、検索した単語より上位の、すべての単語の優先順位を1つずつ下げ、検索した単語の優先順位を1位にする更新処理が実行されることによって、検索キャッシュ32の再構築がなされる(S24)。ステップS23で作成された検索結果の一覧は、入出力端末12から表示される(S25)。   If the word requested for search in step S21 is stored in the search cache 32 (S22: Yes), an index corresponding to the word is acquired from the search cache 32, and a list of search results is created. (S23). Thereafter, as shown in FIG. 7 as an example, in the search cache 32, an update process for lowering the priority of all the words higher than the searched word one by one and setting the priority of the searched word to the first is performed. As a result, the search cache 32 is reconstructed (S24). A list of search results created in step S23 is displayed from the input / output terminal 12 (S25).

一方、ステップS21で検索要求された単語が、検索キャッシュ32に格納されていない場合(S23:No)には、データベース14から、その単語に対応するインデックスを読み出されて、検索結果の一覧が作成される(S26)。そして、作成された検索結果の一覧は、入出力端末12から表示される(S27)。   On the other hand, if the word requested to be searched in step S21 is not stored in the search cache 32 (S23: No), the index corresponding to the word is read from the database 14, and a list of search results is displayed. It is created (S26). A list of the created search results is displayed from the input / output terminal 12 (S27).

上述したように、同実施の形態に係るキャッシュ最適化方法を適用したキャッシュ付検索装置10においては、上記のような作用により、例えば検索サーバ20の起動時や、新たなユーザのログイン時や、指定した時刻に達したことなどにより使用環境が変化した場合には、環境監視部24においてそれを判定することができる。   As described above, in the cached search device 10 to which the cache optimization method according to the embodiment is applied, for example, when the search server 20 is started, when a new user logs in, When the usage environment changes due to the arrival of the designated time, the environment monitoring unit 24 can determine it.

そして、使用環境が変化したと判定した場合には、その変化内容に応じて最適なキャッシュログをキャッシュログデータベース30から取得し、取得したキャッシュログに基づいて、検索キャッシュ32の展開データを更新することができる。   If it is determined that the usage environment has changed, an optimal cache log is acquired from the cache log database 30 according to the change, and the expanded data in the search cache 32 is updated based on the acquired cache log. be able to.

これによって、使用環境が変わった場合には、検索キャッシュ32の展開データを、変わった使用環境に適した内容に更新することができるので、使用環境が変わった場合であっても、高速な検索を実行することが可能となる。   As a result, when the usage environment changes, the expanded data of the search cache 32 can be updated to contents suitable for the changed usage environment, so even if the usage environment changes, high-speed search is possible. Can be executed.

以上、本発明を実施するための最良の形態について、添付図面を参照しながら説明したが、本発明はかかる構成に限定されない。特許請求の範囲の発明された技術的思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の技術的範囲に属するものと了解される。   The best mode for carrying out the present invention has been described above with reference to the accompanying drawings, but the present invention is not limited to such a configuration. Within the scope of the invented technical idea of the scope of claims, a person skilled in the art can conceive of various changes and modifications. The technical scope of the present invention is also applicable to these changes and modifications. It is understood that it belongs to.

本発明の実施の形態に係るキャッシュ最適化方法を適用したキャッシュ付検索装置の構成例を示す機能ブロック図。The functional block diagram which shows the structural example of the search apparatus with a cache to which the cache optimization method which concerns on embodiment of this invention is applied. キャッシュ展開データの入替最適タイミングの算出方法の一例を示すフローチャート。The flowchart which shows an example of the calculation method of the replacement | exchange optimal timing of cache expansion | deployment data. キャッシュロググループ毎に記録されている単語の一例を示す図。The figure which shows an example of the word currently recorded for every cash log group. キャッシュ操作部でなされるキャッシュの更新方法の一例を説明するための図。The figure for demonstrating an example of the update method of the cache made | formed by a cache operation part. キャッシュログの構成例を示す図。The figure which shows the structural example of a cache log. 検索キャッシュのデータ構成例を示す図。The figure which shows the data structural example of a search cache. 検索処理においてなされる検索キャッシュの更新処理を説明するための図(検索要求された単語が検索キャッシュに存在する場合)。The figure for demonstrating the update process of the search cache performed in a search process (when the search requested word exists in a search cache). 検索処理においてなされる検索キャッシュの更新処理を説明するための図(検索要求された単語が検索キャッシュに存在しない場合)。The figure for demonstrating the update process of the search cache performed in a search process (when the search requested word does not exist in a search cache). 検索キャッシュ内のキャッシュデータを入れ替える場合の処理の流れの一例を示すフローチャート。The flowchart which shows an example of the flow of a process in the case of replacing the cache data in a search cache. 検索処理の流れの一例を示すフローチャート。The flowchart which shows an example of the flow of a search process.

符号の説明Explanation of symbols

10…キャッシュ付検索装置、12…入出力端末、14…データベース、20…検索サーバ、22…キャッシュ解析部、24…環境監視部、26…検索サーバ情報部、28…キャッシュ操作部、30…キャッシュログデータベース、32…検索キャッシュ、34…検索実行部   DESCRIPTION OF SYMBOLS 10 ... Search apparatus with cache, 12 ... Input / output terminal, 14 ... Database, 20 ... Search server, 22 ... Cache analysis part, 24 ... Environment monitoring part, 26 ... Search server information part, 28 ... Cache operation part, 30 ... Cache Log database, 32 ... search cache, 34 ... search execution unit

Claims (9)

予め記憶手段に格納しておいたデータのうち、一部をメモリ上のキャッシュに展開しておき、外部から検索要求が入力された場合には、前記キャッシュを利用することにより、高速に検索を行うキャッシュ付検索装置において、
前記検索要求が入力された場合においてこの装置自体が使用されている使用環境を監視する環境監視手段と、
前記キャッシュの内容のログを、前記環境監視手段によって監視された使用環境と関連付けて保存するログ保存手段と、
前記環境監視手段によって監視されている使用環境に変化があったか否かを判定する環境変化判定手段と、
前記環境変化判定手段によって、前記使用環境に変化があったと判定された場合には、変化後の使用環境に最も関連性の高いログを前記ログ保存手段から取得するログ取得手段と、
前記ログ取得手段によって取得されたログに基づいて、前記キャッシュ内の展開データを更新するキャッシュ更新手段と
を備えたキャッシュ付検索装置。
A part of the data stored in the storage means is expanded in a cache on the memory, and when a search request is input from the outside, the cache is used to perform a high-speed search. In the search device with cache,
Environment monitoring means for monitoring a use environment in which the device itself is used when the search request is input;
Log storage means for storing the log of the contents of the cache in association with the usage environment monitored by the environment monitoring means;
Environment change determination means for determining whether or not the use environment monitored by the environment monitoring means has changed;
When it is determined by the environment change determination means that the use environment has changed, a log acquisition means for acquiring a log most relevant to the use environment after the change from the log storage means;
A cached search device comprising: a cache update unit that updates the expanded data in the cache based on the log acquired by the log acquisition unit.
請求項1に記載のキャッシュ付検索装置において、
前記使用環境とは、前記検索要求を行うユーザ、および時刻情報を含むキャッシュ付検索装置。
The retrieval apparatus with a cache according to claim 1,
The use environment is a search device with cache including a user who makes the search request and time information.
請求項2に記載のキャッシュ付検索装置において、
前記環境変化判定手段は、前記ユーザが別のユーザに変わった場合、または予め定めた時刻になった場合には、前記使用環境に変化があったと判定するようにしたキャッシュ付検索装置。
The retrieval apparatus with a cache according to claim 2,
The search apparatus with cache, wherein the environment change determination means determines that the use environment has changed when the user changes to another user or when a predetermined time comes.
請求項1に記載のキャッシュ付検索装置において、
前記環境変化判定手段は、前記ログ保存手段に保存されている過去のログの内容を時系列的に解析し、この解析結果から、現在の使用環境に変化があったか否かを判定するようにしたキャッシュ付検索装置。
The retrieval apparatus with a cache according to claim 1,
The environment change determination unit analyzes the contents of past logs stored in the log storage unit in a time series, and determines whether there is a change in the current use environment from the analysis result. Search device with cache.
予め記憶手段に格納しておいたデータのうち、一部をメモリ上のキャッシュに展開しておき、外部から検索要求が入力された場合には、前記キャッシュを利用することにより、高速に検索を行うキャッシュ付検索装置に適用されるキャッシュ最適化方法であって、
前記検索要求が入力された場合において前記キャッシュ付検索装置が使用されている使用環境を監視することと、
前記キャッシュの内容のログを、前記監視された使用環境と関連付けてログ保存データベースに保存することと、
前記監視されている使用環境に変化があったか否かを判定することと、
前記使用環境に変化があったと判定された場合には、変化後の使用環境に最も関連性の高いログを前記ログ保存データベースから取得することと、
前記取得されたログに基づいて、前記キャッシュ内の展開データを更新することと
を備えたキャッシュ最適化方法。
A part of the data stored in the storage means is expanded in a cache on the memory, and when a search request is input from the outside, the cache is used to perform a high-speed search. A cache optimization method applied to a cached search device,
Monitoring the usage environment in which the cached search device is used when the search request is input;
Storing a log of the contents of the cache in a log storage database in association with the monitored usage environment;
Determining whether there has been a change in the monitored use environment;
If it is determined that there has been a change in the usage environment, obtaining a log most relevant to the usage environment after the change from the log storage database;
A cache optimization method comprising: updating expanded data in the cache based on the acquired log.
請求項5に記載のキャッシュ最適化方法において、
前記使用環境とは、前記検索要求を行うユーザ、および時刻情報を含むキャッシュ最適化方法。
The cache optimization method according to claim 5, wherein
The usage environment is a cache optimization method including a user who makes the search request and time information.
請求項6に記載のキャッシュ最適化方法において、
前記ユーザが別のユーザに変わった場合、または予め定めた時刻になった場合には、前記使用環境に変化があったと判定するようにしたキャッシュ最適化方法。
The cache optimization method according to claim 6, wherein
A cache optimization method in which it is determined that the usage environment has changed when the user changes to another user or when a predetermined time comes.
請求項5に記載のキャッシュ最適化方法において、
前記ログ保存データベースに保存されている過去のログの内容を時系列的に解析し、この解析結果から、現在の使用環境に変化があったか否かを判定するようにしたキャッシュ最適化方法。
The cache optimization method according to claim 5, wherein
A cache optimization method in which the contents of past logs stored in the log storage database are analyzed in time series, and it is determined from this analysis result whether or not the current usage environment has changed.
予め記憶手段に格納しておいたデータのうち、一部をメモリ上のキャッシュに展開しておき、外部から検索要求が入力された場合には、前記キャッシュを利用することにより、高速に検索を行うキャッシュ付検索装置に適用されるプログラムであって、
前記検索要求が入力された場合において前記キャッシュ付検索装置が使用されている使用環境を監視する機能、
前記キャッシュの内容のログを、前記監視された使用環境と関連付けてログ保存データベースに保存する機能、
前記監視している使用環境に変化があったか否かを判定する機能、
前記使用環境に変化があったと判定した場合には、変化後の使用環境に最も関連性の高いログを前記ログ保存データベースから取得する機能、
前記取得したログに基づいて、前記キャッシュ内の展開データを更新する機能
をコンピュータに実現させるためのプログラム。
A part of the data stored in the storage means is expanded in a cache on the memory, and when a search request is input from the outside, the cache is used to perform a high-speed search. A program that is applied to a cached search device,
A function for monitoring a use environment in which the cached search device is used when the search request is input;
A function of storing a log of the contents of the cache in a log storage database in association with the monitored usage environment;
A function for determining whether or not there is a change in the monitored use environment;
If it is determined that there has been a change in the usage environment, a function for obtaining a log most relevant to the usage environment after the change from the log storage database;
A program for causing a computer to realize a function of updating the expansion data in the cache based on the acquired log.
JP2004289026A 2004-09-30 2004-09-30 Search device with cache, cache optimization method and program applied thereto Expired - Fee Related JP4127690B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004289026A JP4127690B2 (en) 2004-09-30 2004-09-30 Search device with cache, cache optimization method and program applied thereto

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004289026A JP4127690B2 (en) 2004-09-30 2004-09-30 Search device with cache, cache optimization method and program applied thereto

Publications (2)

Publication Number Publication Date
JP2006106867A true JP2006106867A (en) 2006-04-20
JP4127690B2 JP4127690B2 (en) 2008-07-30

Family

ID=36376574

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004289026A Expired - Fee Related JP4127690B2 (en) 2004-09-30 2004-09-30 Search device with cache, cache optimization method and program applied thereto

Country Status (1)

Country Link
JP (1) JP4127690B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012088775A (en) * 2010-10-15 2012-05-10 Fujifilm Corp Image distribution system and image distribution method
KR101318234B1 (en) * 2012-04-25 2013-10-15 주식회사 비트랜 Data cache method and device for database system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012088775A (en) * 2010-10-15 2012-05-10 Fujifilm Corp Image distribution system and image distribution method
KR101318234B1 (en) * 2012-04-25 2013-10-15 주식회사 비트랜 Data cache method and device for database system

Also Published As

Publication number Publication date
JP4127690B2 (en) 2008-07-30

Similar Documents

Publication Publication Date Title
JP4129819B2 (en) Database search system, search method thereof, and program
US7343447B2 (en) Method and system for synchronizing direct access storage volumes
EP1315103B1 (en) File search method and apparatus, and index file creation method and device
JP2001195406A (en) Database management system
JP4127690B2 (en) Search device with cache, cache optimization method and program applied thereto
US20050228772A1 (en) Apparatus and method for using values from a frequent values list to bridge additional keys in a database index
JP4825504B2 (en) Data registration / retrieval system and data registration / retrieval method
JP2009146044A (en) Information retrieval device, information retrieval method and information retrieval program
JP4829037B2 (en) Data selection support program, data selection support method, and data selection support device
JP4047850B2 (en) Knowledge information collection system, knowledge information collection method and program
JP2001175678A (en) Device and method for database tuning, and recording medium
EP2037378A1 (en) Method and apparatus for updating data of portable media player
JP2000148778A (en) Information retrieval assisting method and record medium where information retrieving program is recorded
JP2005085109A (en) Information retrieval device and program
JP6627809B2 (en) Database processing apparatus, system, method and program
JP2007316853A (en) Method and system for management of project
CN114443650A (en) Method and device for sorting and tabulating according to time
JP5048396B2 (en) Data management program
JP2002014985A (en) Document retrieval system and retrieved document registration control method
JP2021174353A (en) Information processing program, information processing method and information processing device
JP4881196B2 (en) Information retrieval apparatus and information retrieval program
JP2008243202A (en) Method and system for automatically adding index term of retrieval database
JP2002328819A (en) Information management system, information management method and information management program
JP2003330957A (en) Set attribute retrieval system, method, and program
JP2019200767A (en) Data structure, information search device, method for updating database, device for updating database, and program for updating database

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071016

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080409

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080509

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4127690

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140523

Year of fee payment: 6

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

LAPS Cancellation because of no payment of annual fees