JP2012159887A - 検索要求制御装置、検索要求制御プログラム及び検索要求制御方法 - Google Patents

検索要求制御装置、検索要求制御プログラム及び検索要求制御方法 Download PDF

Info

Publication number
JP2012159887A
JP2012159887A JP2011017223A JP2011017223A JP2012159887A JP 2012159887 A JP2012159887 A JP 2012159887A JP 2011017223 A JP2011017223 A JP 2011017223A JP 2011017223 A JP2011017223 A JP 2011017223A JP 2012159887 A JP2012159887 A JP 2012159887A
Authority
JP
Japan
Prior art keywords
search
search request
average response
subsets
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.)
Granted
Application number
JP2011017223A
Other languages
English (en)
Other versions
JP5678691B2 (ja
Inventor
Kiichi Yamada
樹一 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011017223A priority Critical patent/JP5678691B2/ja
Priority to US13/299,770 priority patent/US8667008B2/en
Publication of JP2012159887A publication Critical patent/JP2012159887A/ja
Application granted granted Critical
Publication of JP5678691B2 publication Critical patent/JP5678691B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】ハイトラフィック技術にインデックス技術を採用した場合のデータの検索効率を向上させる。
【解決手段】検索要求制御装置1は、所定期間に取得された複数の検索要求を含む検索要求集合を、それぞれの検索要求が検索するデータの重複する度合いに基づいて複数の部分集合に分割する検索要求集合分割部11と、検索要求集合分割部11によって分割された複数の部分集合の処理順序に応じて、検索要求集合に含まれる検索要求の平均レスポンスを算出する平均レスポンス算出部12と、平均レスポンス算出部12によって算出された平均レスポンスが最短の複数の部分集合について、処理順序に応じてこれら部分集合に含まれる検索要求を一括して処理する検索処理部13とを備える。
【選択図】図1

Description

本発明は、検索要求制御装置、検索要求制御プログラム及び検索要求制御方法に関する。
近年、データベースシステム等のデータの検索において、検索要求が同時に送られてくる場合であってもデータの検索時間を短縮できるハイトラフィック技術が用いられることがある。ハイトラフィック技術とは、複数の検索要求から1つのオートマトンを生成し、生成したオートマトンを利用して検索対象データとマッチングさせる技術である。図13は、ハイトラフィック技術を用いたデータの検索の一例を説明する図である。
図13に示すように、例えばデータベースシステムは、同時に送られてくる複数の検索要求1〜4を一体化して、一体化した検索要求に対するデータを検索対象データから一括して検索し、検索した結果を検索要求に振り分ける。これにより、同時に送られてくる検索要求の多重度が上がっても、検索要求に対するデータを一括して検索するので、データの検索時間の予測を可能とする。
また、データの検索時間を短縮する他の技術として、インデックス技術がある。インデックス技術とは、リレーショナルデータベースにおけるテーブルにおいて、カラムにある値を持つレコードを直接選択(検索)したり、XML文書等の構造を持つデータにおいて、特定のパスが指し示すデータを直接検索させたりする技術である。図14は、インデックス技術を用いたデータの検索の一例を説明する図である。
図14に示すように、検索要求1では、インデックスのパス2及びパス4が指し示すデータd2、d4(d2’、d4’)を検索し、検索要求2では、インデックスのパス3及びパス4が指し示すデータd3、d4(d3’、d4’)を検索する。このため、検索要求1及び検索要求2は、全体のデータを検索することなく最低限必要なデータだけを検索するので、データの検索時間を短縮できる。
ところが、各検索要求において、検索するデータが重複する場合がある。図14の例では、検索要求1及び検索要求2では、パス4が指し示すデータd4(d4’)がD1(D1’)に示すように重複している。この場合には、重複したデータd4(d4’)が2回検索されるので、検索に無駄が生じる分、データの検索効率が悪くなる。
そこで、データの検索時間を短縮する他の技術として、ハイトラフィック技術にインデックス技術を採用した技術も考えられる。この技術では、同時に送られてくる複数の検索要求を一体化して、一体化した検索要求のインデックスのパスの和集合を作成し、作成したパスの和集合に属するパスが指し示すデータを一括して検索する。図15は、ハイトラフィック技術にインデックス技術を採用した技術を説明する図である。
図15に示すように、検索要求1では、インデックスのパス2及びパス4が指し示すデータを検索し、検索要求2では、インデックスのパス3及びパス4が指し示すデータを検索する。この場合には、検索要求1及び検索要求2のインデックスのパスの和集合パス2〜4を作成し、作成した和集合に属するパスが指し示すデータd2〜d4(d2’〜d4’)を一括して検索する。これにより、各検索要求において、検索するデータが重複する場合であっても、D2(D2’)に示すように重複するデータを1度だけ検索するので、データの検索効率が向上する。
また、ほぼ同時に送られてくる複数の検索要求である検索式を、それぞれの予測検索速度に基づき複数の検索式集合に振り分け、予測検索速度の速い集合から順次検索を行い、対応する検索式集合内の検索式を纏めて一括検索する技術が開示されている。
特開2009−251686号公報 特開2007−241516号公報 特開平11−232302号公報
しかしながら、ハイトラフィック技術にインデックス技術を採用した場合では、データの検索効率が向上しないことがあるという問題があった。すなわち、同時に送られてくる複数の検索要求で検索するデータに重複が少ない場合、重複するデータを1度だけ検索するという効果が少ないので、データの検索効率が向上しないことがある。
具体的な例として、データの検索効率が向上しないという問題を、図16を用いて説明する。図16は、ハイトラフィック技術にインデックス技術を採用した場合の課題を説明する図である。図16に示すように、検索要求1では、インデックスのパス2及びパス4が指し示すデータを検索し、検索要求2では、インデックスのパス1及びパス3が指し示すデータを検索する。この場合には、検索要求1及び検索要求2のインデックスのパスの和集合パス1〜4を作成し、作成した和集合に属するパスが指し示すデータd1〜d4(d1’〜d4’)を一括して検索する。ところが、検索要求1及び検索要求2で検索するデータに重複がないので、重複するデータを1度だけ検索するという効果がなくなり、データの検索効率が向上しない。
また、予測検索速度の速い検索式集合から順次検索を行なう技術であっても、検索式集合に含まれる検索式がそれぞれ全く重複しないデータを検索する場合には、データの検索効率が向上しない。
なお、上記課題は、データベースシステムにおけるデータの検索だけではなく、インターネット等の検索エンジンにおけるデータの検索にも同様に生じる課題である。
1つの側面では、ハイトラフィック技術にインデックス技術を採用した場合のデータの検索効率を向上させる検索要求制御装置等を提供することを目的とする。
本願の開示する検索要求制御装置は、所定期間に取得された複数の検索要求を含む検索要求集合を、それぞれの検索要求が検索するデータの重複する度合いに基づいて複数の部分集合に分割する検索要求集合分割部と、前記検索要求集合分割部によって分割された複数の部分集合の処理順序に応じて、前記検索要求集合に含まれる検索要求の平均レスポンスを算出する平均レスポンス算出部と、前記平均レスポンス算出部によって算出された平均レスポンスが最短の複数の部分集合について、前記処理順序に応じてこれら部分集合に含まれる検索要求を一括して実行する検索要求実行部とを備える。
本願の開示する検索要求制御装置の一つの態様によれば、ハイトラフィック技術にインデックス技術を採用した場合のデータの検索効率を向上させることができる。
図1は、実施例1に係る検索要求制御装置の構成を示す機能ブロック図である。 図2は、分割による平均レスポンスの向上を説明する図である。 図3は、検索要求制御のタイムチャートを説明する図である。 図4は、実施例2に係る検索要求制御装置の構成を示す機能ブロック図である。 図5は、検索要求部分集合及び参照データ量の対応表のデータ構造の一例を示す図である。 図6は、検索要求部分集合の参照データ量の算出方法を説明する図である。 図7は、分割パターン及び平均レスポンスの対応表のデータ構造の一例を示す図である。 図8は、分割により平均レスポンスが向上するための条件を説明する図である。 図9は、実施例2に係る検索要求制御処理の手順を示すフローチャートである。 図10は、検索スケジュール制御処理の手順を示すフローチャートである。 図11は、検索要求集合化探索処理の手順を示すフローチャートである。 図12は、検索要求制御プログラムを実行するコンピュータのハードウェア構成を示す図である。 図13は、ハイトラフィック技術を説明する図である。 図14は、インデックス技術を説明する図である。 図15は、ハイトラフィック技術にインデックス技術を採用した技術を説明する図である。 図16は、ハイトラフィック技術にインデックス技術を採用した場合の課題を説明する図である。
以下に、本願の開示する検索要求制御装置、検索要求制御プログラム及び検索要求制御方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例では、データベースシステムにおけるデータの検索要求を制御する検索要求制御装置に適用した場合を示す。しかし、本実施例によりこの発明が限定されるものではなく、本発明は、例えばインターネットやイントラネット等を組み込んだシステムにおける検索エンジンにも適用可能である。また、以下の実施例では、ハイトラフィック技術にインデックス技術を採用した場合について説明するものとする。
図1は、本実施例1に係る検索要求制御装置の構成を示す機能ブロック図である。図1に示すように、検索要求制御装置1は、検索要求集合分割部11、平均レスポンス算出部12及び検索処理部13を有する。
検索要求集合分割部11は、所定期間に取得された複数の検索要求を含む検索要求集合を、それぞれの検索要求が検索するデータの重複する度合いに基づいて複数の部分集合に分割する。なお、所定期間とは、ほぼ同時となる期間を意味するが、検索要求を一括して処理するのに支障のない期間であれば良い。
平均レスポンス算出部12は、検索要求集合分割部11によって分割された複数の部分集合の処理順序に応じて、検索要求集合に含まれる検索要求の平均レスポンスを算出する。
検索処理部13は、平均レスポンス算出部12によって算出された平均レスポンスが最短の複数の部分集合について、処理順序に応じてこれら部分集合に含まれる検索要求を一括して処理する。
このようにして、検索要求制御装置1は、一括処理する単位となる部分集合への分割に検索要求が検索するデータの重複する度合いを用いることにより、部分集合における検索データの局所性を高めるので、データの検索効率の向上を図ることができる。さらに、検索要求制御装置1は、検索要求の平均レスポンスがより短くなるように検索要求集合を部分集合に分割しているので、分割した部分集合をそれぞれ処理することで検索要求の平均レスポンスを向上させることができる。
ここで、検索要求集合を部分集合に分割することにより平均レスポンスが向上することについて、図2を参照しながら説明する。図2は、分割による平均レスポンスの向上を説明する図である。図2の例では、ほぼ同時に3個の検索要求1〜3が到着するものとする。図2に示すように、検索要求1、2は、インデックスのパス1〜3が指し示すデータを検索し、検索要求3は、インデックスのパス3〜5が指し示すデータを検索する。なお、パス1〜5が指し示すデータのサイズは、全て等しいものとする。また、パス1〜5が指し示すデータ、すなわち検索対象データのサイズを「S」、検索対象データのサイズあたりにかかる検索時間を「k」として説明するものとする。
まず、検索要求1〜3を纏めて処理する場合について、検索要求の平均レスポンスを算出する。検索要求の平均レスポンスは、検索要求1〜3を纏めて処理するので、パス1〜5を指し示すデータを一括して検索する時間となる。すなわち、検索要求の平均レスポンスは、式(1)に示すとおりである。
検索要求の平均レスポンス=k×S・・・・・式(1)
次に、検索要求1〜3を分割して処理する場合について、検索要求の平均レスポンスを算出する。検索要求集合分割部11は、ほぼ同時に取得された検索要求1〜3を含む検索要求集合を、それぞれの検索要求が検索するデータの重複する度合いに基づいて複数の部分集合に分割する。ここでは、検索要求集合分割部11は、パス1〜3が指し示すデータが重複する検索要求1、2を同じ部分集合とする。また、検索要求集合分割部11は、パス3が検索要求1、2と重複するが、パス4、5が検索要求1、2と重複しない検索要求3を、検索要求1、2と異なる部分集合とする。
そして、平均レスポンス算出部12は、検索要求集合分割部11によって分割された2個の部分集合の処理順序に応じて、検索要求集合に含まれる検索要求の平均レスポンスを算出する。ここでは、平均レスポンス算出部12は、処理順序の先行を検索要求1、2を含む部分集合、処理順序の後行を検索要求3を含む部分集合として、2個の部分集合を含む検索要求集合に含まれる検索要求の平均レスポンスを算出する。この結果、検索要求の平均レスポンスは、式(2)に示すとおりである。
検索要求の平均レスポンス={2×(k×S×3/5)+1×(k×S×3/5+k×S×3/5)}/3=k×S×4/5・・・・・式(2)
したがって、式(1)及び式(2)を比較すると、検索要求1〜3を分割して処理する場合には、検索要求1〜3を纏めて処理する場合に比べて、検索要求の平均レスポンスが20%向上する。
複数の検索要求を分割して処理する場合の検索要求のタイムチャートを、図3を参照しながら説明する。図3は、検索要求のタイムチャートを説明する図である。図3(A)では、複数の検索要求を分割しない場合のタイムチャートを示し、図3(B)では、複数の検索要求を分割する場合のタイムチャートを示す。なお、図3(A)(B)で示されるQ〜Qは、それぞれほぼ同時に到着する複数の検索要求を含む検索要求集合であるものとする。また、Q1−1、Q1−2は、検索要求集合Qを分割した複数の部分集合であり、Q2−1、Q2−2は、検索要求集合Qを分割した複数の部分集合であるものとする。
図3(A)に示すように、複数の検索要求を分割しない場合、例えば新たに到着した検索要求集合Qは、到着の際検索処理中の検索要求集合Qの検索処理後に検索処理される。
一方、図3(B)に示すように、複数の検索要求を分割する場合、新たに到着した検索要求集合Qに含まれる部分集合Q1−1は、到着の際検索処理中の検索要求集合Qの検索処理後に検索処理される。このとき、検索要求集合Qに含まれる部分集合Q1−2は、部分集合Q1−1の検索処理が終わるまで待機することとなる。そして、待機中の部分集合Q1−2は、検索要求集合Qの到着後新たに到着した検索要求集合Qに含まれる部分集合Q2−1と併合され、部分集合Q1−1の検索処理後に検索処理されることとなる。
[実施例2に係る検索要求制御装置の構成]
図4は、本実施例2に係る検索要求制御装置の構成を示す機能ブロック図である。図4に示すように、検索要求制御装置2は、検索要求受付部21、検索スケジュール制御部22、検索要求集合化探索部23、検索処理部24、検索結果出力部25、不揮発性記憶部26及び揮発性記憶部27を有する。
不揮発性記憶部26は、検索対象データ41bとこれらを検索するために必要なインデックス41aとを記憶するデータベース41及びインデックスパス別データ量42を有する。インデックスパス別データ量42は、インデックス41aを構成するパス毎に、各パスが指し示すデータのデータ量をあらかじめ記憶する。ここで、パスとは、検索対象のデータを参照する際にデータを指し示す経路を意味する。なお、不揮発性記憶部26は、例えば、ハードディスク、光ディスクなどの記憶装置、又は、フラッシュメモリ(flash memory)等の不揮発性の半導体メモリ素子である。
揮発性記憶部27は、検索要求部分集合及び参照データ量の対応表51、分割パターン及び平均レスポンスの対応表52、分割対象検索要求集合53及び実行待機中要求集合54を有する。なお、揮発性記憶部27は、例えば、RAM(Random Access Memory)等の揮発性の半導体メモリ素子である。
検索要求受付部21は、外部のアプリケーションから送信された検索要求を受け付け、受け付けた検索要求を待ち行列である要求キューに入力する。
検索スケジュール制御部22は、非同期的に発生するイベントを取得し、取得したイベントの種類に応じて検索要求の検索のスケジュールを制御する。具体的には、検索スケジュール制御部22は、検索要求受付部21から検索要求の到着イベントを取得すると、要求キューに入力されている検索要求を取り出し、取り出した検索要求を後述する検索要求集合化探索部23に出力する。また、検索スケジュール制御部22は、後述する検索処理部24から検索要求の検索完了イベントを取得すると、検索要求を一括して処理する検索要求の集合の取得依頼を検索要求集合化探索部23に出力する。そして、検索スケジュール制御部22は、検索要求の集合の取得依頼に対する集合を検索要求集合化探索部23から取得すると、取得した集合に含まれる検索要求を検索処理部24に出力する。
検索要求集合化探索部23は、検索スケジュール制御部22からほぼ同時に取得した複数の検索要求に対し、平均レスポンスが向上するような分割案を探索する。さらに、検索要求集合化探索部23は、イベント振分部31、参照パス判定部32、検索要求集合分割部33、平均レスポンス算出部34、平均レスポンス判定部35及び分割パターン選択部36を有する。
イベント振分部31は、イベントを取得し、取得したイベントの種類に応じて処理を振り分ける。具体的には、イベント振分部31は、検索スケジュール制御部22からほぼ同時に取得した複数の検索要求を検索要求集合として、分割対象検索要求集合53に記憶する。
ここで、分割対象検索要求集合53は、複数の部分集合に分割される検索要求集合を記憶する。例えば、分割対象検索要求集合53は、検索要求集合に一意に割り振られた識別番号に、検索要求集合に含まれる複数の検索要求を対応付けて記憶する。
また、イベント振分部31は、検索スケジュール制御部22から検索要求の集合の取得依頼を取得すると、検索要求集合の分割パターンを選択させるべく、当該取得依頼を分割パターン選択部36に出力する。また、イベント振分部31は、直近のイベントを取得したときから一定期間イベントの取得がない場合には、分割対象検索要求集合53に記憶された検索要求集合を複数の部分集合に分割させるべく、検索要求集合の分割依頼を参照パス判定部32に出力する。
参照パス判定部32は、イベント振分部31から検索要求集合の分割依頼を取得すると、分割対象検索要求集合53に記憶された検索要求集合に含まれる各検索要求について、データを参照する際に用いるパスを判定する。そして、参照パス判定部32は、各検索要求について、判定したパスを一時的に揮発性記憶部27に記憶する。例えば、参照パス判定部32は、各検索要求について、パス毎に参照の有無を表すフラグの列を記憶する。ここで、参照が有ることを表すフラグの値は「1」とし、参照が無いことを表すフラグの値は「0」とする。
検索要求集合分割部33は、所定期間に取得された複数の検索要求を含む検索要求集合を、それぞれの検索要求が検索するデータの重複する度合いに基づいて複数の部分集合に分割する。具体的には、検索要求集合分割部33は、パス参照判定部32によってパスの判定がされた複数の検索要求を、各検索要求が参照するパスが指し示すデータの重複する度合いに基づいて複数の部分集合に分割する。例えば、検索要求集合分割部33は、参照するパスが指し示すデータが所定の割合以上重複する検索要求同士を同一の部分集合に集合化し、所定の割合以上重複しない検索要求同士を異なる部分集合に分割する。分割した2個の部分集合の組み合わせは、1個の分割パターンとなる。なお、所定の割合とは、例えば8割や9割であるが、随時変動しても良い。また、1個の分割パターンを形成する2個の部分集合は、積集合が空、且つ和集合が検索要求集合となる組み合わせであるものとする。
また、検索要求集合分割部33は、検索要求集合を分割した部分集合毎に、参照するデータのデータ量を算出する。具体的には、検索要求集合分割部33は、検索要求毎のフラグの列を用いて、部分集合に含まれる検索要求について、パス毎のフラグの論理和を算出する。なお、検索要求毎のフラグの列は、参照パス判定部32によって揮発性記憶部27に記憶されているものとする。そして、検索要求集合分割部33は、算出されたパス毎のフラグの値に基づいて、インデックスパス別データ量42を用いてパス毎の参照データ量を算出する。そして、検索要求集合分割部33は、算出したパス毎の参照データ量を加算し、「検索要求部分集合の参照データ量」を求める。
また、検索要求集合分割部33は、「検索要求部分集合の参照データ量」を部分集合に対応付けて、検索要求部分集合及び参照データ量の対応表51に記憶する。ここで、検索要求部分集合及び参照データ量の対応表51のデータ構造について、図5を参照しながら説明する。
図5は、検索要求部分集合及び参照データ量の対応表51のデータ構造の一例を示す図である。図5に示すように、検索要求部分集合及び参照データ量の対応表51は、キー51a及び参照データ量51bを対応付けて記憶する。すなわち、検索要求部分集合及び参照データ量の対応表51は、キー51aに対応する値を参照データ量51bとするハッシュテーブル等のマップ構造となっている。キー51aは、検索要求の部分集合に含まれる検索要求の識別子の集合を示す。参照データ量51bは、検索要求の部分集合が参照するデータのデータ量を示す。
また、検索要求の部分集合(検索要求部分集合)が参照するデータのデータ量を算出する方法を、図6を参照しながら説明する。図6は、検索要求部分集合の参照データ量の算出方法を説明する図である。図6では、検索要求部分集合Qに検索要求q1〜q3が含まれる場合を例として、検索要求部分集合Qの参照データ量の算出方法を説明する。図6に示すように、検索要求q1のフラグの列は、パス2を参照有りの「1」とし、パス2以外のパスを参照無しの「0」とする。検索要求q2のフラグの列は、パス1、2を参照有りの「1」とし、パス1、2以外のパスを参照無しの「0」とする。検索要求q3のフラグの列は、パス1、Nを参照有りの「1」とし、パス1、N以外のパスを参照無しの「0」とする。
検索要求集合分割部33は、検索要求q1〜q3のそれぞれのフラグの列を用いて、パス毎のフラグの論理和を算出する。ここでは、算出されたパス毎のフラグの列は、パス1、2、Nを参照有りの「1」とし、パス1、2、N以外のパスを参照無しの「0」となる。そして、検索要求集合分割部33は、算出されたパス毎のフラグの列の各値とインデックスパス別データ量42に記憶されたパス毎のデータ量との内積を算出する。ここでは、算出されたパス毎のフラグの列の各値は{1、1、0、・・・、1}であり、インデックスパス別データ量42に記憶されたパス毎のデータ量は{123、456、789、・・・、321}である。したがって、パス毎の積を求めると、結果は{123、456、0、・・・、321}となる。さらに、検索要求集合分割部33は、計算の結果得られたパスごとのデータ量を加算し、「検索要求部分集合の参照データ量」を求める。ここでは、「検索要求部分集合の参照データ量」は、「900」となる。
図4に戻って、平均レスポンス算出部34は、検索要求集合分割部33によって分割された複数の部分集合の処理順序に応じて、検索要求集合に含まれる検索要求の平均レスポンスを算出する。具体的には、平均レスポンス算出部34は、検索要求集合分割部33によって分割された分割パターンの中から順次1個の分割パターンを選択する。そして、平均レスポンス算出部34は、選択した分割パターンに含まれる2個の部分集合の処理順序を決定する。また、平均レスポンス算出部34は、処理順序が先行する部分集合(以降、「先行部分集合」という。)に含まれる検索要求の参照データ量を、検索要求部分集合及び参照データ量の対応表51から読み出す。そして、平均レスポンス算出部34は、読み出した参照データ量に基づいて、先行部分集合の検索時間を算出する。また、平均レスポンス算出部34は、処理順序が後行する部分集合(以降、「後行部分集合」という。)に含まれる検索要求の参照データ量を、検索要求部分集合及び参照データ量の対応表51から読み出す。そして、平均レスポンス算出部34は、読み出した参照データ量に基づいて、後行部分集合の検索時間を算出する。
そして、平均レスポンス算出部34は、先行部分集合の検索時間及び後行部分集合の検索時間に基づいて、先行部分集合及び後行部分集合の和集合である検索要求集合に含まれる検索要求の平均レスポンスを算出する。例えば、先行部分集合の検索時間をr、後行部分集合の検索時間をrとし、先行部分集合に含まれる検索要求の数をN、後行部分集合に含まれる検索要求の数をNとする。また、検索要求集合に含まれる検索要求の数をNとする。すなわち、Nは、N及びNを加算した値である。このような例において、検索要求集合に含まれる検索要求の平均レスポンスr12は、式(3)で表される。
12={N×r+N×(w+r)}/N=r+r×N/N・・式(3)
なお、wは、先行部分集合の検索処理後に処理される後行部分集合の待ち時間であり、先行部分集合の検索時間rと同値となる。
また、平均レスポンス算出部34は、算出した検索要求の平均レスポンスを、分割パターンに対応付けて、分割パターン及び平均レスポンスの対応表52に記憶する。ここで、分割パターン及び平均レスポンスの対応表52のデータ構造について、図7を参照しながら説明する。
図7は、分割パターン及び平均レスポンスの対応表52のデータ構造の一例を示す図である。図7に示すように、分割パターン及び平均レスポンスの対応表52は、分割パターン52a及び平均レスポンス52bを対応付けて記憶する。すなわち、分割パターン及び平均レスポンスの対応表52は、分割パターン52aをキー、平均レスポンス52bを値とするB−Tree等のマップ構造となっている。分割パターン52aは、処理順序に応じた2個の部分集合を示す。この2個の部分集合は、積集合が空、すなわち重複した検索要求を持たない集合同士となっている。平均レスポンス52bは、分割パターン52aで示される2個の部分集合における検索要求の平均レスポンスを示す。
平均レスポンス判定部35は、検索要求集合を分割した2個の部分集合の平均レスポンスが検索要求集合を分割しない場合より向上しているか否かを判定する。具体的には、平均レスポンス判定部35は、検索要求集合を分割しない場合の平均レスポンスを算出する。そして、平均レスポンス判定部35は、平均レスポンス算出部34によって平均レスポンスが算出された分割パターンについて、この平均レスポンスが検索要求集合を分割しない場合の平均レスポンスより短いか否かを判定する。そして、平均レスポンス判定部35は、分割パターンについての平均レスポンスが検索要求集合を分割しない場合より短いと判定した場合に、分割しない場合より平均レスポンスが向上すると判断する。一方、平均レスポンス判定部35は、分割パターンについての平均レスポンスが検索要求集合を分割しない場合より短いと判定した場合に、分割しない場合より平均レスポンスが向上しないと判断する。
ここで、検索要求集合を分割した場合における平均レスポンスが、検索要求集合を分割しない場合における平均レスポンスより向上するために満たすべき条件について、図8を参照して説明する。図8は、分割により平均レスポンスが向上するための条件を説明する図である。図8(A)では、分割しない場合の検索処理コストを示し、図8(B)では、分割する場合の検索処理コストを示し、図8(C)では、分割しない場合と分割する場合の差を示す図である。なお、図8では、検索要求集合に含まれる検索要求の数をN、先行部分集合に含まれる検索要求の数をN、後行部分集合に含まれる検索要求の数をNとする。また、検索要求集合の全体の参照データをD、先行部分集合の参照データをD、後行部分集合の参照データをDとする。さらに、S(D)(nは、1、2)を参照データDの参照データ量とし、r(S(D))を参照データDの参照データ量を検索する際の検索時間とする。
図8(A)に示すように、分割しない場合の検索処理コストは、検索要求集合に含まれる全検索要求の参照データ量S(D)を検索する際の検索時間r(S(D))と検索要求の数Nとの積で表される。ここでは、Tで示される領域となる。すなわち、ハイトラフィック技術では、検索要求集合に含まれる複数の検索要求を一括して処理するので、検索時間は一括して処理する参照データ量に比例することとなり、検索要求集合の検索処理コストは参照データ量と検索要求の数から求められる。
次に、図8(B)に示すように、分割する場合の検索処理コストは、先行部分集合の検索処理コスト、後行部分集合の検索処理コスト及び後行部分集合の待ちコストの和で表される。先行部分集合の検索処理コストは、先行部分集合に含まれる検索要求の参照データ量S(D)を検索する際の検索時間r(S(D))(以降、「r」)と検索要求の数Nとの積で表される。ここでは、Tで示される領域となる。また、後行部分集合の検索処理コストは、後行部分集合に含まれる検索要求の参照データ量S(D)を検索する際の検索時間r(S(D))(以降、「r」)と検索要求の数Nとの積で表される。ここでは、Tで示される領域となる。さらに、後行部分集合の待ちコストは、後行部分集合が検索処理を実行するまでの待ち時間と一致する先行部分集合の検索時間r(以降、「w」)と検索要求の数Nの積で表される。ここでは、Tで示される領域となる。
次に、図8(C)に示すように、分割しない場合と分割する場合の差は、分割により検索処理コストが減少することとなる「分割によるベネフィット」Tと分割により検索処理コストが増加することとなる「分割によるコスト」Tとの差分となる。ここでは、「分割によるベネフィット」Tは、後行部分集合の参照データDから先行部分集合の参照データDを引いたデータを検索する際の検索時間r(S(D−D))と先行部分集合に含まれる検索要求の数Nとの積となる。また、分割によりコストTは、後行部分集合の参照データDと先行部分集合の参照データDとが共に参照するデータを検索する際の検索時間r(S(D∩D))と後行部分集合に含まれる検索要求の数Nとの積となる。
したがって、分割しない場合と分割する場合の差Jは、「分割によるベネフィット」T及び「分割によるコスト」Tを用いて、式(4)で表される。
=T−T=N×r(S(D−D))−N×r(S(D∩D))・・・式(4)
そして、分割しない場合と分割する場合の差Jが正値となる場合、すなわち「分割によるベネフィット」Tが「分割によるコスト」Tより大きい場合に、分割により平均レスポンスが向上することとなる。つまり、「分割によるコスト」Tが小さいほど、言い換えれば後行部分集合の参照データDと先行部分集合の参照データDとが共に参照するデータS(D∩D)が小さいほど、分割によるメリットがより大きくなる。また、後行部分集合のみ参照し先行部分集合が参照しないデータS(D−D)が大きいほど、分割によるメリットがより大きくなる。
分割パターン選択部36は、平均レスポンス判定部35によって平均レスポンスが分割しない場合より向上すると判断された分割パターンの中から最短の平均レスポンスとなる分割パターンを選択する。具体的には、分割パターン選択部36は、イベント振分部31から検索要求の集合の取得依頼を取得すると、分割パターン及び平均レスポンスの対応表52に基づいて、最短の平均レスポンスに対応付けられた分割パターンを選択する。そして、分割パターン選択部36は、選択した分割パターンのうち先行部分集合を、先行して検索処理させるべく、検索スケジュール制御部22に出力する。このとき、分割パターン選択部36は、選択した分割パターンのうち後行部分集合を、実行待機中要求集合54に記憶する。
ここで、実行待機中要求集合54は、検索要求集合の分割パターンのうち先行部分集合が先行して検索処理されているとき、後続して検索処理される後行部分集合を待機させるために記憶する。例えば、実行待機中要求集合54は、検索要求集合に一意に割り振られた識別番号に、後行部分集合に含まれる複数の検索要求を対応付けて記憶する。なお、分割パターン選択部36は、既に実行待機中要求集合54に直前の検索要求集合における後行部分集合が記憶されている場合には、この後行部分集合を、現在処理中の検索要求集合における先行部分集合とともに検索スケジュール制御部22に出力する。これらの部分集合が、後述する検索処理部24によって併合して処理されるためである。
検索処理部24は、検索スケジュール制御部22から部分集合に含まれる検索要求を取得すると、データベース41からこれら検索要求について一括して検索処理を実行する。そして、検索処理部24は、部分集合に含まれる検索要求について検索処理が完了すると、検索要求の検索完了イベントを検索スケジュール制御部22に出力する。
検索結果出力部25は、検索処理部24によって一括して検索処理された部分集合毎に、各部分集合に含まれる検索要求の検索結果を出力する。
[実施例2に係る検索要求制御処理の手順]
次に、検索要求制御処理の手順を、図9を参照して説明する。図9は、実施例2に係る検索要求制御処理の手順を示すフローチャートである。
まず、検索要求制御処理は、検索要求の検索状況を判定する(ステップS11)。そして、検索要求制御処理は、検索要求の検索状況が検索中であると判定する場合には(ステップS11;検索中)、新たな検索要求が到着していれば分割対象の検索要求集合に加える(ステップS12)。すなわち、検索要求制御処理は、検索要求集合の直前に到着した検索要求集合に関わる検索要求の検索中に、ほぼ同時を示す所定期間に到着した新たな検索要求を検索要求集合として分割対象検索要求集合53に記憶する。そして、検索要求制御処理は、分割対象検索要求集合53に記憶された分割対象の検索要求集合に対して、平均レスポンスが向上するような分割パターンの探索処理を行う(ステップS13)。そして、検索要求制御処理は、ステップS11に移行する。
一方、検索要求制御処理は、検索要求の検索状況が検索完了であると判定する場合には(ステップS11;検索完了)、検索結果を出力する(ステップS14)。そして、検索要求制御処理は、分割対象検索要求集合53に記憶された検索要求集合について、現段階で探索された分割パターンのうち平均レスポンスが最短の分割パターンにおける先行部分集合に対して、検索処理を開始させる(ステップS15)。そして、検索要求制御処理は、ステップS11に移行する。
[検索スケジュール制御処理の手順]
次に、検索スケジュール制御部22による検索スケジュール制御処理の手順を、図10を参照して説明する。図10は、検索スケジュール制御処理の手順を示すフローチャートである。
まず、検索スケジュール制御部22は、イベントを待ち(ステップS21)、イベントを取得したとき、取得したイベントを判定する(ステップS22)。
そして、検索スケジュール制御部22は、取得したイベントが検索要求の到着イベントであると判定する場合には(ステップS22;検索要求の到着)、要求キューに入力されている検索要求を取り出す(ステップS23)。そして、検索スケジュール制御部22は、検索要求の検索処理中であるか否かを判定する(ステップS24)。そして、検索スケジュール制御部22は、検索要求が検索処理中であると判定する場合には(ステップS24;Yes)、要求キューから取り出した全検索要求を分割させるべく、当該全検索要求を検索要求集合化探索部23に出力する(ステップS25)。そして、検索スケジュール制御部22は、ステップS21に処理を移行する。
一方、検索スケジュール制御部22は、検索要求が検索処理中でないと判定する場合には(ステップS24;No)、要求キューから取り出した全検索要求を検索処理させるべく、当該全検索要求を検索処理部24に出力する(ステップS26)。そして、検索スケジュール制御部22は、ステップS21に処理を移行する。
一方、検索スケジュール制御部22は、取得したイベントが検索要求の検索完了イベントである場合には(ステップS22;検索完了)、次に検索する検索要求を促すべく、検索要求の集合の取得依頼を検索要求集合化探索部23に出力する(ステップS27)。そして、検索スケジュール制御部22は、検索要求集合化探索部23からの検索要求の集合を待つ(ステップS28)。
続いて、検索スケジュール制御部22は、検索要求集合化探索部23から検索要求の集合を取得すると、取得した集合が空集合か否かを判定する(ステップS29)。そして、検索スケジュール制御部22は、取得した集合が空集合であると判定する場合には(ステップS29;Yes)、次のイベントを待つべく、ステップS21に移行する。一方、検索スケジュール制御部22は、取得した集合が空集合でないと判定する場合には(ステップS29No)、取得した集合に含まれる検索要求を検索処理部24に出力する(ステップS30)。
[検索要求集合化探索処理の手順]
次に、検索要求集合化探索部23による検索要求集合化探索処理の手順を、図11を参照して説明する。図11は、検索要求集合化探索処理の手順を示すフローチャートである。
まず、探索要求集合化探索部23は、分割対象検索要求集合53を空集合で初期化する(ステップS41)。そして、探索要求集合化探索部23のイベント振分部31は、イベントを待ち(ステップS42)、イベントを取得したとき、取得したイベントを判定する(ステップS43)。
そして、イベント振分部31は、取得したイベントが検索要求の取得イベントであると判定する場合(ステップS43;検索要求の取得)、取得した検索要求を分割対象検索要求集合53に追加する(ステップS44)。すなわち、イベント振分部31は、取得した複数の検索要求を検索要求集合として、分割対象検索要求集合53に記憶する。
そして、平均レスポンス算出部34は、取得した検索要求を加えた分割パターンでの平均レスポンスを再計算し、分割パターンに対応付けた計算結果を分割パターン及び平均レスポンスの対応表52に更新する(ステップS45)。そして、平均レスポンス算出部34は、処理をステップS42に移行する。
また、イベント振分部31が直近のイベントの取得から一定期間イベントの取得がないと判定する場合(ステップS43;イベントなし)、検索要求集合分割部33は、分割対象検索要求集合53の検索要求集合から分割パターンを生成する(ステップS46)。すなわち、検索要求集合分割部33は、それぞれの検索要求が検索するデータの重複する度合いに基づいて検索要求集合を2個の部分集合に分割し、分割パターンを生成する。例えば、検索要求集合分割部33は、参照するパスが指し示すデータが所定の割合以上重複する検索要求同士を同一の部分集合に集合化し、所定の割合以上重複しない検索要求を異なる部分集合に分割し、これらの部分集合の組を1個の分割パターンとする。
続いて、検索要求集合分割部33は、生成した分割パターンを1個選択する(ステップS47)。そして、検索要求集合分割部33は、選択した分割パターンに含まれる部分集合毎に、参照するデータのデータ量を計算し、検索要求部分集合及び参照データ量の対応表51に追加する(ステップS48)。
そして、平均レスポンス算出部34は、選択した分割パターンに含まれる2個の部分集合の処理順序に応じて、検索要求集合に含まれる検索要求の平均レスポンスを算出する(ステップS49)。具体的には、平均レスポンス算出部34は、分割パターンに含まれる2個の部分集合の処理順序を決定し、決定した処理順序が先行する先行部分集合及び処理順序が後行する後行部分集合の参照データ量を検索要求部分集合及び参照データ量の対応表51から読み出す。そして、平均レスポンス算出部34は、読み出した先行部分集合及び後行部分集合の参照データ量に基づいて、それぞれのデータの検索時間を算出する。さらに、平均レスポンス算出部34は、先行部分集合及び後行部分集合のそれぞれの検索時間に基づいて、検索要求集合に含まれる検索要求の平均レスポンスを算出する。
そして、平均レスポンス算出部34は、算出した平均レスポンスを、分割パターンに対応付けて、分割パターン及び平均レスポンスの対応表52に追加し(ステップS50)、処理をステップS42に移行する。
また、イベント振分部31が検索要求の集合の取得依頼イベントであると判定する場合(ステップS43;要求集合の取得依頼)、分割パターン選択部36は、平均レスポンスが最短となる分割パターンを選択する(ステップS51)。具体的には、分割パターン選択部36は、分割パターン及び平均レスポンスの対応表52に基づいて、最短の平均レスポンスに対応付けられた分割パターンを選択する。
そして、分割パターン選択部36は、選択した分割パターンのうち先行部分集合に含まれる検索要求を、先行して検索処理させるべく、検索スケジュール制御部22に出力する(ステップS52)。このとき、分割パターン選択部36は、選択した分割パターンのうち後行部分集合に含まれる検索要求を、実行待機中要求集合54に移動する(ステップS53)。そして、分割パターン選択部36は、処理をステップS41に移行する。なお、分割パターン選択部36は、既に実行待機中要求集合54に直前の検索要求集合における後行部分集合が記憶されている場合には、この後行部分集合を、現在処理中の検索要求集合における先行部分集合とともに検索スケジュール制御部22に出力する。
[実施例2の効果]
上記実施例2によれば、検索要求集合分割部33は、ほぼ同時に取得された複数の検索要求を含む検索要求集合を、それぞれの検索要求が検索するデータの重複する度合いに基づいて複数の部分集合に分割する。そして、平均レスポンス算出部34は、検索要求集合分割部33によって分割された複数の部分集合の処理順序に応じて、検索要求集合に含まれる検索要求の平均レスポンスを算出する。さらに、検索処理部24は、平均レスポンス算出部34によって算出された平均レスポンスが最短の複数の部分集合について、処理順序に応じてこれら部分集合に含まれる検索要求を一括して処理する。
かかる構成によれば、検索要求集合分割部33は、一括処理する単位となる部分集合への分割に検索要求が検索するデータの重複する度合いを用いることとした。このため、検索要求集合分割部33は、部分集合における検索データの局所性を高めることができるので、データの検索効率の向上を図ることができる。さらに、検索要求集合分割部33は、検索要求の平均レスポンスがより短くなるように検索要求集合を部分集合に分割することとなるので、分割した部分集合をそれぞれ処理することで検索要求の平均レスポンスを向上させることができる。
また、上記実施例2によれば、検索要求集合分割部33は、検索要求集合を、当該検索要求集合の直前に取得された検索要求集合に関わる検索要求の実行中に、複数の部分集合に分割する。そして、平均レスポンス算出部34は、検索要求集合分割部33によって分割された複数の部分集合の処理順序に応じて、検索要求集合に含まれる検索要求の平均レスポンスを算出する。かかる構成によれば、検索要求集合の直前に取得された検索要求集合の実行完了後に次に実行すべき検索要求集合について平均レスポンスがより短くなる部分集合を選択できるので、全体の検索要求の平均レスポンスを向上させることができる。
また、上記実施例2によれば、検索処理部24は、処理順序が先行する部分集合に含まれる検索要求を検索要求集合の直前に取得された検索要求の処理後に実行する。そして、検索処理部24は、処理順序が後行する部分集合に含まれる検索要求を検索要求集合の直後に取得された検索要求と併合して処理する。かかる構成によれば、検索処理部24は、処理順序が後行する部分集合を検索要求集合の直後に取得された検索要求と併合して処理することとした。このため、検索処理部24は、処理順序が後行する部分集合の処理時期を無期限に延期しないので、当該部分集合を含む検索要求集合の平均レスポンスを確実に向上させることができる。
また、上記実施例2によれば、検索要求部分集合及び参照データ量の対応表51は、部分集合毎にそれぞれの部分集合に含まれる検索要求が一括して検査するデータのデータ量を記憶する。そして、平均レスポンス算出部34は、処理順序が先行する部分集合に関わるデータ量のデータを検索する検索時間及び処理順序が後行する部分集合に関わるデータ量のデータを検索する検索時間を用いて、平均レスポンスを算出する。かかる構成によれば、仮に処理順序が先行する部分集合及び処理順序が後行する部分集合に関わるデータ量が重複しない場合には、平均レスポンス算出部34は、各部分集合に関わるデータ量のデータを検索する検索時間を要するのみとなる。このため、平均レスポンス算出部34は、検索要求集合を分割しない場合と比べて、検索時間が短くなり、平均レスポンスを向上させることができる。
なお、実施例2では、分割パターン選択部36は、分割パターン及び平均レスポンスの対応表52に基づいて、最短の平均レスポンスに対応付けられた分割パターンを選択するものとして説明した。しかしながら、分割パターン選択部36は、分割パターンに対応付けられた最短の平均レスポンスが分割しない場合の平均レスポンスより長い場合には、分割しないままの検索要求集合を選択するようにするようにしても良い。この場合には、平均レスポンス算出部34が、分割しない場合の検索要求の平均レスポンスを検索要求集合に対応付けて分割パターン及び平均レスポンスの対応表52に記憶しておく。そして、分割パターン選択部36は、分割しない場合の検索要求の平均レスポンスを含めて最短の平均レスポンスとなる分割パターンを選択するようにすれば良い。これにより、分割パターン選択部36は、分割しない場合の検索要求の平均レスポンスよりも長くなることがなくなり平均レスポンスを安定させることができる。
また、実施例2では、分割パターン選択部36は、所定期間に取得された複数の検索要求を含む検索要求集合を、それぞれの検索要求が検索するデータの重複する度合いに基づいて2個の部分集合に分割するものとして説明した。しかしながら、分割パターン選択部36は、所定期間に取得された複数の検索要求を含む検索要求集合を、それぞれの検索要求が検索するデータの重複する度合いに基づいて3個の部分集合に分割するようにしても良い。
[プログラム等]
また、この検索要求制御装置2は、既知のパーソナルコンピュータ、ワークステーションなどの情報処理装置に、上記した検索スケジュール制御部22、検索要求集合化探索部23等の各機能を搭載することによって実現することができる。
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、平均レスポンス算出部34と平均レスポンス判定部35とを1個の部として統合しても良い。一方、平均レスポンス算出部34を、複数の部分集合の処理順序を並び替える並び替え部と、処理順序を並び替えた複数の部分集合について平均レスポンスを算出する算出部とに分散しても良い。また、不揮発性記憶部26等の記憶部を検索要求制御装置2の外部装置としてネットワーク経由で接続するようにしても良い。
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図12を用いて、図4に示した検索要求制御装置2と同様の機能を有する検索要求制御プログラムを実行するコンピュータの一例を説明する。
図12は、検索要求制御プログラムを実行するコンピュータのハードウェア構成を示す図である。図12に示すように、コンピュータ1000は、RAM(Random Access Memory)1010と、ネットワークインタフェース装置1020と、HDD1030と、CPU(Central Processing Unit)1040、媒体読取装置1050と、入力装置1060と、出力装置1070とを有する。RAM1010、ネットワークインタフェース装置1020、HDD1030、CPU1040、入力装置1060及び出力装置1070は、バス1080によって接続されている。
そして、HDD1030には、図4に示した検索要求制御装置2と同様の機能を有する検索要求制御プログラム1031が記憶される。また、HDD1030には、図4に示した不揮発性記憶部26内の情報(データベース41、インデックスパス別データ量42)に対応する検索対象データ情報1032が記憶される。
そして、CPU1040が検索要求制御プログラム1031をHDD1030から読み出してRAM1010に展開することにより、検索要求制御プログラム1031は、検索要求制御プロセス1011として機能するようになる。そして、検索要求制御プロセス1011は、検索対象データ情報1032から読み出した情報等を適宜RAM1010上の自身に割り当てられた領域に展開し、この展開したデータ、例えば検索要求制御情報1012等に基づいて各種データ処理を実行する。
媒体読取装置1050は、検索要求制御プログラム1031がHDD1030に記憶されていない場合であっても、検索要求制御プログラム1031を記憶する媒体等から検索要求制御プログラム1031を読み取る。媒体読取装置1050には、例えばCD−ROMや光ディスク装置がある。
ネットワークインタフェース装置1020は、外部装置とネットワーク経由で接続する装置であり、有線に対応するものであっても、無線に対応するものであっても良い。また、入力装置1060には、例えばキーボードやマウスがあり、出力装置1070には、例えばディスプレイがある。
なお、上記の検索要求制御プログラム1031は、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等を介してコンピュータ1000に接続される他のコンピュータ(またはサーバ)等にこのプログラムを記憶させておいても良い。この場合には、コンピュータ1000がこれらからプログラムを読み出して実行する。
以上の実施例に係る実施形態に関し、さらに以下の付記を開示する。
(付記1)所定期間に取得された複数の検索要求を含む検索要求集合を、それぞれの検索要求が検索するデータの重複する度合いに基づいて複数の部分集合に分割する検索要求集合分割部と、
前記検索要求集合分割部によって分割された複数の部分集合の処理順序に応じて、前記検索要求集合に含まれる検索要求の平均レスポンスを算出する平均レスポンス算出部と、
前記平均レスポンス算出部によって算出された平均レスポンスが最短の複数の部分集合について、前記処理順序に応じてこれら部分集合に含まれる検索要求を一括して処理する検索処理部と
を有することを特徴とする検索要求制御装置。
(付記2)前記検索要求集合分割部は、
前記検索要求集合を、当該検索要求集合の直前に取得された検索要求集合に関わる検索要求の処理中に、複数の部分集合に分割することを特徴とする付記1に記載の検索要求制御装置。
(付記3)前記検索処理部は、
前記処理順序が先行する部分集合に含まれる検索要求を前記検索要求集合の直前に取得された検索要求の処理後に処理し、前記処理順序が後行する部分集合に含まれる検索要求を前記検索要求集合の直後に取得された検索要求と併合して処理することを特徴とする付記1または付記2に記載の検索要求制御装置。
(付記4)前記部分集合毎にそれぞれの部分集合に含まれる検索要求が一括して検索するデータのデータ量を記憶するデータ量記憶部を有し、
前記平均レスポンス算出部は、
前記処理順序が先行する部分集合に関わるデータ量のデータを検索する検索時間及び前記処理順序が後行する部分集合に関わるデータ量のデータを検索する検索時間を用いて、前記平均レスポンスを算出することを特徴とする付記1から付記3のいずれか1つに記載の検索要求制御装置。
(付記5)所定期間に取得された複数の検索要求を含む検索要求集合を、それぞれの検索要求が検索するデータの重複する度合いに基づいて複数の部分集合に分割する検索要求集合分割手順と、
前記検索要求集合分割手順によって分割された複数の部分集合の処理順序に応じて、前記検索要求集合に含まれる検索要求の平均レスポンスを算出する平均レスポンス算出手順と、
前記平均レスポンス算出手順によって算出された平均レスポンスが最短の複数の部分集合について、前記処理順序に応じてこれら部分集合に含まれる検索要求を一括して処理する検索処理手順と
をコンピュータに実行させることを特徴とする検索要求制御プログラム。
(付記6)検索要求制御装置が検索要求を制御する検索要求制御方法であって、
所定期間に取得された複数の検索要求を含む検索要求集合を、それぞれの検索要求が検索するデータの重複する度合いに基づいて複数の部分集合に分割する検索要求集合分割工程と、
前記検索要求集合分割工程によって分割された複数の部分集合の処理順序に応じて、前記検索要求集合に含まれる検索要求の平均レスポンスを算出する平均レスポンス算出工程と、
前記平均レスポンス算出工程によって算出された平均レスポンスが最短の複数の部分集合について、前記処理順序に応じてこれら部分集合に含まれる検索要求を一括して処理する検索処理工程と
を含むことを特徴とする検索要求制御方法。
1、2 検索要求制御装置
11 検索要求集合分割部
12 平均レスポンス算出部
13 検索処理部
21 検索要求受付部
22 検索スケジュール制御部
23 検索要求集合化探索部
24 検索処理部
25 検索結果出力部
26 不揮発性記憶部
27 揮発性記憶部
31 イベント振分部
32 参照パス判定部
33 検索要求集合分割部
34 平均レスポンス算出部
35 平均レスポンス判定部
36 分割パターン選択部
41 データベース
41a インデックス
41b 検索対象データ
42 インデックスパス別データ量
51 検索要求部分集合及び参照データ量の対応表
52 分割パターン及び平均レスポンスの対応表
53 分割対象検索要求集合
54 実行待機中要求集合

Claims (5)

  1. 所定期間に取得された複数の検索要求を含む検索要求集合を、それぞれの検索要求が検索するデータの重複する度合いに基づいて複数の部分集合に分割する検索要求集合分割部と、
    前記検索要求集合分割部によって分割された複数の部分集合の処理順序に応じて、前記検索要求集合に含まれる検索要求の平均レスポンスを算出する平均レスポンス算出部と、
    前記平均レスポンス算出部によって算出された平均レスポンスが最短の複数の部分集合について、前記処理順序に応じてこれら部分集合に含まれる検索要求を一括して処理する検索処理部と
    を有することを特徴とする検索要求制御装置。
  2. 前記検索要求集合分割部は、
    前記検索要求集合を、当該検索要求集合の直前に取得された検索要求集合に関わる検索要求の実行中に、複数の部分集合に分割することを特徴とする請求項1に記載の検索要求制御装置。
  3. 前記検索処理部は、
    前記処理順序が先行する部分集合に含まれる検索要求を前記検索要求集合の直前に取得された検索要求の処理後に処理し、前記処理順序が後行する部分集合に含まれる検索要求を前記検索要求集合の直後に取得された検索要求と併合して処理することを特徴とする請求項1または請求項2に記載の検索要求制御装置。
  4. 所定期間に取得された複数の検索要求を含む検索要求集合を、それぞれの検索要求が検索するデータの重複する度合いに基づいて複数の部分集合に分割する検索要求集合分割手順と、
    前記検索要求集合分割手順によって分割された複数の部分集合の処理順序に応じて、前記検索要求集合に含まれる検索要求の平均レスポンスを算出する平均レスポンス算出手順と、
    前記平均レスポンス算出手順によって算出された平均レスポンスが最短の複数の部分集合について、前記処理順序に応じてこれら部分集合に含まれる検索要求を一括して処理する検索処理手順と
    をコンピュータに実行させることを特徴とする検索要求制御プログラム。
  5. 検索要求制御装置が検索要求を制御する検索要求制御方法であって、
    所定期間に取得された複数の検索要求を含む検索要求集合を、それぞれの検索要求が検索するデータの重複する度合いに基づいて複数の部分集合に分割する検索要求集合分割工程と、
    前記検索要求集合分割工程によって分割された複数の部分集合の処理順序に応じて、前記検索要求集合に含まれる検索要求の平均レスポンスを算出する平均レスポンス算出工程と、
    前記平均レスポンス算出工程によって算出された平均レスポンスが最短の複数の部分集合について、前記処理順序に応じてこれら部分集合に含まれる検索要求を一括して処理する検索処理工程と
    を含むことを特徴とする検索要求制御方法。
JP2011017223A 2011-01-28 2011-01-28 検索制御装置、検索制御プログラムおよび検索制御方法 Active JP5678691B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011017223A JP5678691B2 (ja) 2011-01-28 2011-01-28 検索制御装置、検索制御プログラムおよび検索制御方法
US13/299,770 US8667008B2 (en) 2011-01-28 2011-11-18 Search request control apparatus and search request control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011017223A JP5678691B2 (ja) 2011-01-28 2011-01-28 検索制御装置、検索制御プログラムおよび検索制御方法

Publications (2)

Publication Number Publication Date
JP2012159887A true JP2012159887A (ja) 2012-08-23
JP5678691B2 JP5678691B2 (ja) 2015-03-04

Family

ID=46578251

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011017223A Active JP5678691B2 (ja) 2011-01-28 2011-01-28 検索制御装置、検索制御プログラムおよび検索制御方法

Country Status (2)

Country Link
US (1) US8667008B2 (ja)
JP (1) JP5678691B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10223405B2 (en) 2015-10-01 2019-03-05 Fujitsu Limited Retrieval control method and retrieval server

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5799706B2 (ja) * 2011-09-26 2015-10-28 富士通株式会社 検索要求処理装置
WO2013145016A1 (ja) * 2012-03-29 2013-10-03 富士通株式会社 判定装置、判定システム、判定方法および判定プログラム
JP6435939B2 (ja) * 2015-03-18 2018-12-12 富士通株式会社 データ分類プログラム、データ分類方法およびデータ分類装置
JP6737117B2 (ja) * 2016-10-07 2020-08-05 富士通株式会社 符号化データ検索プログラム、符号化データ検索方法および符号化データ検索装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0660121A (ja) * 1992-03-19 1994-03-04 Hitachi Ltd 情報検索装置
JP2002288214A (ja) * 2001-03-28 2002-10-04 Hitachi Ltd 検索システムおよび検索サービス
JP2005115514A (ja) * 2003-10-06 2005-04-28 Ibm Japan Ltd データベース検索システム及びその検索方法並びにプログラム
JP2005353024A (ja) * 2004-06-08 2005-12-22 Takashi Tajima データ管理プログラムおよびデータ管理システム
JP2009251686A (ja) * 2008-04-01 2009-10-29 Hitachi Ltd 文書検索装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11232302A (ja) 1998-02-19 1999-08-27 Hitachi Ltd 予約型情報検索配信方法及びシステム
GB2363221B (en) * 2000-06-09 2002-05-01 Oracle Corp Summary creation
EP1504385A4 (en) * 2001-12-05 2008-12-03 Xchange Advantage Inc E METHOD AND SYSTEM FOR MANAGING DISTRIBUTED TRADING DATA
US7523092B2 (en) * 2004-12-14 2009-04-21 International Business Machines Corporation Optimization of aspects of information technology structures
JP5098189B2 (ja) 2006-03-07 2012-12-12 富士通株式会社 施設検索プログラム
US20090292677A1 (en) * 2008-02-15 2009-11-26 Wordstream, Inc. Integrated web analytics and actionable workbench tools for search engine optimization and marketing
CN101908003B (zh) * 2009-06-05 2014-10-22 Sap股份公司 并行化查询的多核调度

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0660121A (ja) * 1992-03-19 1994-03-04 Hitachi Ltd 情報検索装置
JP2002288214A (ja) * 2001-03-28 2002-10-04 Hitachi Ltd 検索システムおよび検索サービス
JP2005115514A (ja) * 2003-10-06 2005-04-28 Ibm Japan Ltd データベース検索システム及びその検索方法並びにプログラム
JP2005353024A (ja) * 2004-06-08 2005-12-22 Takashi Tajima データ管理プログラムおよびデータ管理システム
JP2009251686A (ja) * 2008-04-01 2009-10-29 Hitachi Ltd 文書検索装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200500748001; 渡辺 陽介: '連続的問合せに対する複数問合せ最適化手法' 電子情報通信学会論文誌 (J87-D-I) 第10号, 20041001, 873-886ページ, 社団法人電子情報通信学会 *
JPN6014014551; 渡辺 陽介: '連続的問合せに対する複数問合せ最適化手法' 電子情報通信学会論文誌 (J87-D-I) 第10号, 20041001, 873-886ページ, 社団法人電子情報通信学会 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10223405B2 (en) 2015-10-01 2019-03-05 Fujitsu Limited Retrieval control method and retrieval server

Also Published As

Publication number Publication date
JP5678691B2 (ja) 2015-03-04
US8667008B2 (en) 2014-03-04
US20120197938A1 (en) 2012-08-02

Similar Documents

Publication Publication Date Title
JP5203733B2 (ja) コーディネータサーバ、データ割当方法及びプログラム
US8280900B2 (en) Speculative query expansion for relevance feedback
US8849775B2 (en) Caching web documents in two or more caches
JP5678691B2 (ja) 検索制御装置、検索制御プログラムおよび検索制御方法
JPH11203294A (ja) 情報検索システム、装置、方法及び記録媒体
US9141677B2 (en) Apparatus and method for arranging query
US20180165333A1 (en) Big data calculation method and system
US20070233532A1 (en) Business process analysis apparatus
He et al. GLAD: A Grid and Labeling Framework with Scheduling for Conflict-Aware $ k $ k NN Queries
CN113918807A (zh) 数据推荐方法、装置、计算设备及计算机可读存储介质
CN112306452A (zh) 归并排序算法处理业务数据的方法、装置及系统
US7302377B1 (en) Accelerated event queue for logic simulation
JP6646754B2 (ja) ジョブスケジューリングシステム、ジョブスケジューリング方法、およびジョブスケジューリング装置
JP4189248B2 (ja) データベース検索経路判定方法
CN105824976A (zh) 一种优化分词库的方法和装置
JP5076290B2 (ja) 運用管理ルール流用装置、運用管理ルール流用方法およびプログラム
EP3951609A1 (en) Query optimization method and apparatus
US20160259703A1 (en) Retrieval control method, and retrieval control device
CN107784032A (zh) 一种数据查询结果的渐进式输出方法、装置及系统
JP5589009B2 (ja) 推薦クエリ抽出装置及び方法及びプログラム
US20130185401A1 (en) Configuration management device, configuration management method, and configuration management program
JP6139399B2 (ja) 分散クエリ処理装置、クエリ処理方法及びクエリ処理プログラム
JP2012198709A (ja) 検索制御プログラム、検索方法、検索システム
US10754839B2 (en) Apparatus for data loading and data loading method
JP2018081603A (ja) Kvデータ構造変換装置、kvデータ構造変換方法、および、kvデータ構造変換プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140408

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140609

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141222

R150 Certificate of patent or registration of utility model

Ref document number: 5678691

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150