JP5048072B2 - 情報検索システム、情報検索方法及びプログラム - Google Patents

情報検索システム、情報検索方法及びプログラム Download PDF

Info

Publication number
JP5048072B2
JP5048072B2 JP2009531212A JP2009531212A JP5048072B2 JP 5048072 B2 JP5048072 B2 JP 5048072B2 JP 2009531212 A JP2009531212 A JP 2009531212A JP 2009531212 A JP2009531212 A JP 2009531212A JP 5048072 B2 JP5048072 B2 JP 5048072B2
Authority
JP
Japan
Prior art keywords
information
search
name
searched
memory area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009531212A
Other languages
English (en)
Other versions
JPWO2009031474A1 (ja
Inventor
尚之 大江
貴浩 志摩
一樹 前
浩 齋藤
佑介 南井
亮 曽根田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HUMMING HEADS Inc
Original Assignee
HUMMING HEADS Inc
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 HUMMING HEADS Inc filed Critical HUMMING HEADS Inc
Priority to JP2009531212A priority Critical patent/JP5048072B2/ja
Publication of JPWO2009031474A1 publication Critical patent/JPWO2009031474A1/ja
Application granted granted Critical
Publication of JP5048072B2 publication Critical patent/JP5048072B2/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/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24561Intermediate data storage techniques for performance improvement
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores

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)

Description

本発明は、ユーザの目的とする情報を迅速に検索する情報検索システムに関するものである。
インターネットの社会への浸透とともに日常生活、社会活動において人々が扱う情報量は莫大なものとなった。かつ毎日激増しているのが現状である。通信網の普及とともに世界中の情報を一覧できる利便性は向上した。Webサービス、EDI(electronic data interchange),EC(電子商取引:electronic commerce)などが日常化している。
さらに、高速光通信インターネット網と地上デジタル放送、衛星通信網、GPS(global positioning system)のインフラの整備と伝送品質の向上によって、世界中で場所を問わずにネットワークの利用が可能になった。人類社会は、これらの情報網の普及と安価な機器を使用して高付加価値の情報を何処にいても利用できるという恩恵を授かった。
しかし、人々はこの膨大な情報から必要な目的とする情報を迅速かつ的確に検索することが困難な面もある。余りにも情報量が多すぎてかつ、各所に遍在しているため検索方法にも高度な技術が必要になって来ている。
企業、法人、個人が求めている情報は多岐にわたっている。企業情報、学術情報、一般情報も含めて専門に特化した情報を瞬時に提供できるようにする必要がある。
遺伝子配列情報データベースからの検索や文献データベースからの全文検索などではテラバイト級の情報を扱う必要がある。
また近年、企業においては適切にコンピュータが使用されているかを把握するために、日常的にコンピュータの操作履歴を取得蓄積する場合がある。このような操作履歴は日々蓄積されるため情報(データ)量はやはりテラバイト級に至る場合がある。
このような情報を活用するためには、大量の情報から迅速に目的とする情報を検索する必要があるが、テラバイト級の情報の場合、汎用的な市販のリレーショナルデータベースシステムで扱うことは難しい。
市販のデータベースシステムで扱うことが難しい情報の場合、XML(extensible markup language)やCSV形式(comma separated values:情報を項目ごとにカンマで区切って羅列するファイル形式)、あるいは固有の形式など構造化された情報形式で保存されているケースが多い。
構造化された情報を扱う工夫としては、例えばXMLデータに対して、XML文書の処理対象外要素をCSV形式にしてCPU(central processor unit)負荷の軽減をはかり、省メモリ化を意図した「XML CSV圧縮」などの提案がある(特許文献1、特許文献2参照)。
通常、大容量のデータベースから目的とする情報を検索する場合は、ユーザにより、段階的に条件を絞り込んだり、それを試行錯誤的に繰り返したりすることが多い。
しかしながら、大容量の情報が対象の場合、1回の情報検索に要する時間が長くなるため、一定の時間、例えば数時間程度以内ではこのような試行錯誤的な作業を行えず、実質的に目的とする情報を得ることが困難な場合が少なくない。
特に、このような大容量の情報の場合、ディスクI/O(Input/Output)を伴うファイルの読み書き処理に要する時間は無視できないため、ユーザが行う作業全体を通して、ファイルの読み書き回数を減少させることは、ユーザ作業の効率化、短時間化を図る上で重要な要素である。
特開2006−277031号公報 特開2007−179492号公報
<発明の概要>
本発明は、クラスター・コンピュータ・システム(cluster computer system)、並列処理可能なアレイ・コンピュータ・システム(array computer system)、グリッド・コンピューティングなどネットワーク上に分散したコンピュータ群、またはハイエンドなパーソナルコンピュータを利用して上記のような構造化された情報から必要な情報をできるだけ迅速に検索するための情報検索システムを提供することができる。
本発明は、数百GB(ギガバイト、Giga byte:10×9乗)からTB(テラバイト、Tera byte:10×12乗)オーダの大容量情報に対してユーザの目的に応じた条件に基づいた情報の検索をできるだけ迅速に行うことができる。
本発明によれば、上記のような段階的および試行錯誤的な情報検索の一連の作業をできるだけメモリ上の処理で行う情報検索システム、方法、およびプログラムを提供する。
段階的に情報の検索を行う場合、ある1回の検索結果をファイルに格納し、このファイルを源情報として次回の検索を行うような方法が従来考えられるが、このような方法の場合、1回の検索に際して必ずファイルの読み込み、書き込みが発生する。
本発明においては、検索結果をファイルに書き込む替わりにメモリに書き込むことができる。
これにより、次回の検索においてファイルからの読み込みが発生しない。
また、検索結果を書き込むメモリ領域にはユーザが指定した名前を対応させることで、ユーザがファイル名を用いてファイルにアクセスするのと同様の感覚で該メモリ領域にアクセスすることができる。
したがって、本発明の第1の観点によれば、検索対象となる条件を示す検索対象条件情報、検索対象となる源情報がファイル或いはメモリのいずれかに存在するかを示す源情報検索先情報、検索の対象となる源情報の源情報名を受け付ける受付手段と、メモリ領域の名前と、メモリ領域を示すメモリ領域情報とが関連付けて記憶される管理テーブルと、前記受け付けた源情報検索先情報によって示された検索対象となる源情報がメモリに存在することを示している場合に、前記受け付けた検索の対象となる源情報の源情報名と一致するメモリ領域の名前を前記管理テーブルから検索する検索手段と、前記検索手段によって前記受け付けた検索の対象となる源情報の源情報名と一致するメモリ領域の名前が検索された場合に、前記検索されたメモリ領域の名前に関連付けられたメモリ領域情報によって示されるメモリ領域から、前記受け付けた検索対象条件情報に合致する情報を取得する取得手段とを具備する情報検索システム、である。
本発明の実施の形態に係る情報検索システムを示す図である。 本発明の実施の形態に係る名前付メモリの管理テーブルを示す図である。 段階的な検索作業の流れを示すフローチャートである。 マルチCPUおよび並列マシンを利用した場合の例を示す図である。 通信網を通じて検索を実行する場合を示す図である。 スレッド管理テーブルを示す図である。 各処理で使用するスレッド数を調整するフローを示す図である。
以下、図面を参照して、本発明の実施の形態に係る情報検索システムについて説明する。
図1は、本発明の実施の形態に係る情報検索システムのプログラムの構成を示す。
本プログラムは大きく命令プログラム101と検索プログラム102からなる。
命令プログラム101と検索プログラム102は同一マシン上で実行してもよいし、異なるマシン上で実行してもよい。
命令プログラム101は通信手段を介して検索プログラム102に実行パラメータを送信する。実行パラメータは、検索対象となる条件を示す検索対象条件情報、検索対象となる源情報がファイル或いは名前付きメモリのいずれかに存在するかを示す源情報検索先情報、検索の対象となる源情報の源情報名、検索された情報をファイル或いは名前付きメモリのどちらに格納するかを示す格納先情報、書き込みの対象となる検索された情報の検索結果情報名を含む。
ここで、「名前付メモリ」とは、ユーザの指定した名前を付けられたメモリ領域を意味する。
これらの実行パラメータは命令プログラムの実行コマンドの引数として指定しても良いし(例えば、「cmd prm1 prm2 prm3」)、ファイルに記して、このファイルを実行コマンドの引数として指定しても良いし(例えば、「cmd file1」)、またこれらを混合した方法で指定してもよい(例えば、「cmd file1 prm1 prm2」)。上記例でcmdはコマンド名、prm1、prm2、prm3は実行パラメータ、file1はファイル名を示す。
命令プログラム101にGUI(Graphical User Interface)を付与し、実行パラメータをGUIから入力させることも可能である。このような命令プログラムはブラウザ上のプログラムとして作成することもできる。
検索プログラム102は、命令プログラム101から伝達された実行パラメータに従って、源情報(検索対象となる情報)中の情報の組(構造化された情報(データ)の固まり)を順次走査して、その情報の組が検索の条件(検索対象条件情報)に適合しているか否かを判定し、適合している場合にはその情報の組を検索結果情報として名前付メモリまたはファイルに書き込む。
検索プログラム102は、源情報の検索が完了すると、検索処理が完了した旨を命令プログラム101に通知する。このとき検索された情報の組の件数や処理に要した時間などを併せて通知することもできる。
検索プログラム102は、命令プログラム101による最初の実行命令が発行される前に起動されている。また、検索プログラム102は、命令プログラム101による一連の実行命令の結果出力が完了するまでメモリ上にロードされたままである。
繰り返し行われる一連の実行命令の間、検索プログラム102がメモリ上にロードされたままであることにより、この間、名前付メモリをメモリ上に保持し、ファイルのように実行命令間で使い回すことができる。
検索プログラム102は、通信処理部103、情報読み込み処理部104、情報比較・操作処理部105、情報書き込み処理部106及び管理テーブル107を具備する。
通信処理部103は、命令プログラム101から実行パラメータを受信する。また、検索結果を命令プログラム101に送信する。送信される結果には、処理の成功・失敗、検索された情報の組の件数や処理に要した時間などが含まれる。命令プログラム101と検索プログラム102との間の通信は同一マシン内、LAN上、インターネット上を想定している。
104は、情報読み込み処理部である。実行パラメータ(検索対象となる源情報がファイル或いはメモリのいずれかに存在するかを示す源情報検索先情報)によって指定された源情報)がファイルの場合はファイルの一部または全部を一時的にメモリ上に読み込む。実行パラメータ(源情報検索先情報)によって指定された源情報が名前付メモリの場合は管理テーブル107を参照して実行パラメータ(検索の対象となる源情報の源情報名)として渡された名前からメモリ領域を特定する。
源情報として、複数のファイル108や名前付メモリ109を用いることができる。フォルダやドライブ内のファイル、複数のPCに分散したファイルなどを源情報とすることもできる。
情報比較・操作処理部105は、命令プログラム101から伝達された実行パラメータ(検索対象条件情報、源情報検索先情報、源情報名)に従って、源情報中の情報の組を順次走査して、その情報の組が検索の条件に適合しているか否かを判定する。
検索対象条件情報としては、例えば、検索対象となる源情報中に日時情報項目があるとすれば、その日時情報が特定の日時の範囲であることなどである。
判定の対象となった情報の組が条件に適合した場合に、ある情報項目の値を置換するなどのオプション処理を加えることも可能である。
情報書き込み処理部106は、情報比較・操作処理部105によって条件に適合していると判定された情報の組を、実行パラメータ(格納先情報、検索結果情報名)にしたがって、ファイル111または名前付メモリ110に書き込む。書き込み先がファイルの場合は書き込み情報の一部または全部を一時的にメモリ上に保持した後にファイルに書き込むことも可能である。
実行パラメータ(格納先情報)で書き込み先が名前付メモリを指定された場合は、メモリ上に一定サイズの領域を確保し、その先頭アドレスと実行パラメータ(検索結果情報名)で指定された名前との組を管理テーブル107に書き込む。確保したメモリ領域のサイズ、日時などその他の情報も併せて管理テーブルに記録することもできる。確保するメモリ領域のサイズは実行パラメータで指定することもできる。書き込み先が名前付メモリの場合は、情報比較・操作処理部105によって条件に適合していると判定された情報の組みを名前付メモリに書き込む。
管理テーブル107は、名前付メモリを管理し、図2に示す通り、名前付メモリの名前202とメモリ上の先頭アドレス203の対応付けが記録され、相互に参照可能としている。また、最大サイズ204や使用サイズ205などの情報も併せて記録される。この他、名前付メモリの作成日時や更新日時などの日時情報206や先頭アドレスから現在のオフセット位置などその他の情報が記録される。この管理テーブルにより、複数の名前付メモリを使用することが可能になる。 検索プログラム102は、源情報の走査が完了すると、検索処理が完了した旨を命令プログラム101に通知する。
結果通知113は、検索された件数や処理に要した時間などを通知することができる。
また、結果通知113では、検索プログラムの処理中に発生したエラーを通知することができる。このようなエラーとしては例えば、指定した名前に対応した名前付メモリの領域が確保されていない場合、名前付メモリに対して指定されたサイズのメモリ領域が確保できない場合、名前付メモリへの指定された最大サイズを超える書き込みを行おうとした場合などが考えられる。なお、検索プログラム102の機能として、特定の情報項目あるいは情報項目の組み合わせに対し、同一の値がいくつずつあるかを数え上げる機能を追加してもよく、これにより効率的に数え上げができる。
図3は、本発明の実施の形態に係る情報検索処理を説明するためのフローチャートである。
一連の検索作業において、初回の検索の源情報301は、通常、ファイルから読み込まれる。すなわち、命令プログラム101から検索プログラム102に送られる実行パラメータのうち、「源情報検索先情報」にはファイルが指定され、「源情報名」にはファイル上のファイル名が指定される。なお、これら実行パラメータは、命令プログラム101を通してユーザが指定しても良いし、命令プログラム自体が自動的に設定しても良い。
検索プログラム102は、命令プログラム101から送られた実行パラメータに基づいて、検索処理を行なう。具体的には、実行パラメータの「源情報検索先情報」に基づいて検索対象となる源情報がファイル或いはメモリのいずれかに存在するかを決定し、「源情報名」に基づいて、検索の対象となる源情報を決定する。
ここでは、「源情報検索先情報」にはファイルが指定され、「源情報名」にはファイル上のファイル名が指定されるていることから、ファイル上のファイル名によって指定される情報を源情報として、「検索対象条件情報」として示される検索対象条件に合致する情報を検索する。
検索結果の情報(一次検索情報)302は、実行パラメータにしたがって、名前付メモリ或いはファイルに格納される(303)。具体的には、検索プログラム102は、命令プログラム101から送られた実行パラメータの「格納先情報」に基づいて、検索された情報をファイル或いはメモリのどちらに格納するかを決定し、決定された格納先に、書き込みの対象となる検索された情報を「検索結果情報名」で格納する。
ここでは、「格納先情報」はメモリに格納することを示しているものとする。この場合、検索プログラム102は、名前付きメモリに検索された情報を書き込み、かつ、「検索結果情報名」及び情報が書き込まれるメモリ領域情報とともに、管理テーブル201に格納する。「メモリ領域」には、図2に示すように、先頭アドレス、最大サイズ、使用サイズが含まれる。また、情報が書き込まれた日時などの付加的な情報を格納してもよい。
次回の検索においては、「源情報検索先情報」で名前付きメモリを指定し、「源情報名」で名前を指定することにより、前回の検索結果である名前付メモリに格納された情報を源情報とすることができる(304)。
ここでは、命令プログラム101から送られてくる実行パラメータの「源情報検索先情報」にメモリが指定され、「源情報名」には、最初に検索された情報が格納された名前と同じ名前(すなわち、最初の検索における実行パラメータの「検索結果情報名」)が指定されているものとする。
検索プログラム102は、「源情報検索先情報」にメモリが指定されている場合、「源情報名」と一致するメモリ領域の名前を管理テーブル201から検索する。そして、源情報名と一致するメモリ領域の名前が検索された場合に、検索されたメモリ領域の名前に関連付けられたメモリ領域から、受信した検索対象条件情報に合致する情報を取得する。
なお、「源情報検索先情報」にファイルが指定されている場合、「源情報名」と一致するファイル名のファイルから検索対象条件情報に合致する情報を取得する。
検索プログラム102は、命令プログラム101から送られた実行パラメータの「格納先情報」に基づいて、検索された情報をファイル或いはメモリのどちらに格納するかを決定し、決定された格納先に、書き込みの対象となる検索された情報を「検索結果情報名」で格納する(305)。
ここでは、「格納先情報」はメモリに格納することを示しているものとする。この場合、検索プログラム102は、名前付きメモリに検索された情報を書き込み、かつ、「検索結果情報名」及び情報が書き込まれるメモリ領域情報とともに、管理テーブル201に格納する。
上述の実行パラメータの例では、検索対象先及び情報の格納先に関する情報を有する場合について説明したが、情報の格納先に関する情報(「格納先情報」、「検索結果情報名」)のみを実行パラメータとして、予め名前付きメモリ領域の確保をのみを行ない、管理テーブル201上に、その名前とメモリ領域情報を確保してもよい。
また、管理テーブル201上に、「検索結果情報名」に相当する名前が存在する場合がある、このような場合には、当該「検索結果情報名」に関連付けられたメモリ情報によって示されるメモリ領域に、検索された情報が書き込まれる。
このように検索を段階的に繰り返し、最終的な検索結果の情報を、実行パラメータ(「格納先情報」)でファイルを指定することにより、ファイルに格納することができる(306)。
なお、途中の検索結果は必要に応じてファイルに書き出してもよいし、またそれを次の源情報として用いてもよい。
各検索は、都度ユーザが結果を確認した上で、次の検索の条件を決定して実行してもよいし、定型的に行う作業であれば、各回の検索の条件を事前に決めておいて、バッチやスクリプトなどを利用して、連続的に命令を実行してもよい。
図4は、大量の情報から効率よく高速で目的とする情報を検索するために本発明をマルチCPUや複数のPCにまたがる並列マシン環境で利用した場合を示している。
高速化のためには、プロセッサの多様な方式がある。アレイ・コンピュータ(array computer system)は、配列、行列の形式になった情報を処理するためのもので、一つの命令で複数の情報を同時に処理できる。この典型がスーパコンピュータ(supercomputer)であって、膨大な数値の行列情報など並行高速処理を扱える。
この他にも、並列処理コンピュータ(parallel computer system)は、ベクトル・プロセッサ(vector processor system)、クラスタ・コンピュータ(cluster computer system)があって高速化に対応でき、本発明をこのような環境で利用すると効果的である。
図4においては、核となるメイン・プロセッサとメイン・プロセッサの命令で動作処理する複数個のコ・プロセッサが示されている。401はシステムバスである。システムバス401には、メインCPU402、デュアルポートRAM(dual port RAM)403、RAM404、ROM405、コ・プロセッサ406が接続される。
メインCPU402は、コ・プロセッサ群406n1〜406nm、406n0を制御する。メインCPU402は、コ・プロセッサ406n1〜406nm、406n0との情報の交換、コ・プロセッサ406n1〜406nm、406n0の制御を行う。デュアルポートRAM403は、メモリへの情報の入出力を同時に行うことができる。
RAM404は、メインCPU402のメモリに使用される。ROM405は、プログラム・メモリであってメイン・プロッセサ402のプログラムが書き込まれていて、メイン・プロセッサ402は、このプログラムによって処理する。
コ・プロセッサ406n1〜406nm、406n0は、メイン・プロセッサ402の管理下で処理が実行される。各名前付メモリや各ファイルの入出力処理毎、I/O機器の制御処理毎、その他の処理毎にコ・プロセッサは割り当てられて、並列処理する。いずれにしても、高速化を目的とした手段である。
406n1は処理407、例えばファイルや名前付メモリからの情報の読み込み処理を行う。
406n2は処理408、例えばファイルや名前付メモリへの情報の書き込み処理を行う。
406nmは処理409、例えば検索の条件比較処理を行う。
このように独立した処理を各プロセッサに割り当てると効率的である。必要に応じてコ・プロセッサ406、処理407〜409は増減する。
タスクの生成、消去、プログラムのローデング、タスクへのコ・プロセッサ406の割り当て、割り込み処理のタスク管理(task management)は、メイン・プロッセサ402が行う。
コ・プロセッサ406n0は、I/O410の制御を行う。
I/O410は、LAN412によってPC411n1〜nmに接続されている。
源情報を複数のPC411に分散して、各PCにて並列に検索プログラムを動作させることによって検索を高速に行うことができる。各PCにて割り当てられた源情報が一度にメモリ上に読み込めるように源情報を分割すると効率的である。つまり想定する源情報のサイズに併せてPC数を増加させればよい。
複数のPC411の内の一つまたは複数のPCで命令プログラムを利用し、他のPCにて検索プログラムを動作させることもできる。
本実施の形態によるマルチCPUおよび並列マシンシステムは、各CPUやPCに処理や源情報を効果的に割り当てることによって検索の高速処理を可能とする。
図5は、本発明の実施の形態に係る検索システムをインターネットなどの通信網を介してさらに拡張したした場合について示した図である。500は、検索サイトの構成を示す。501は検索エンジンであって、検索プログラムからなり前記説明した図4の構成の並列マシン環境を含む。
502はPCであって、ユーザ、クライアントは、ここから検索開始する。先にも説明したように、PCでなくともユーザ、クライアントは他の情報機器、PDA(personal digital assistant)、携帯電話機、デジタル情報家電機器の類の端末機器からでも検索命令を発信できる。
503は、ウェブサーバ(world wide web server)であって、インターネットのトランザクション(transaction)処理機能を備えている。公衆情報通信網とのアクセス機能があって、ハッカー(hacker)等の不正侵入を防ぐファイア・ウオール(fire wall:インターネットとLANの間において不正侵入から内部ネットワークを守る仕組み)機能も備えている。
504はサーバであって、ファイル・サーバ、プリント・サーバ、データベースサーバ、通信制御を行うコミュニケーション・サーバ、特定業務処理を行うアプリケーション・サーバの機能を持っている。
505、506はデータベースであって、情報の各種ファイルを保管している。ユーザの求めに応じてここにあるファイルにアクセスして、検索を行う。情報は随時更新・作成される。
507は、これらの機器を有機的に接続するLANである。508は情報通信網510に接続する通信回線である。509、510、511は各種専用ウエブ・サイト(web site)である。
511は、データベースサイトである。テキストデータの他、例えば映像、映画等の画像提供サイトとしてもよい。映画は近年、ハイビジョン・デジタルカメラ(hi-vision digital camera)の低価格化と高機能化によって素人でも高度な映画製作が可能であって、このようなアーカイブ・ライブラリを利用する個人、法人は増加している。
当該サイト511とは通信回線508で接続している。512は、アーカイブ・ライブラリの機器を有機的に接続するLANであって、サーバ513、PC514及びデータベース515が接続されている。なおデータベース515は、テキストや映像、音声情報を蓄積してテラバイト級の大容量であって、検索エンジン501にある前記説明したような外部からの検索に対応した検索エンジン501をPC514に必要とする。
このように世界中に分散した情報に対して、検索エンジンを配置することによって、命令プログラムを有するPCや各種情報機器から情報の検索を可能にする。
図4において、マルチCPUなどの並列環境においては、検索プログラムの各処理に対し、リソースを適切に配分することによって処理の高速化を図ることができることを説明した。ここでは、より具体的に、検索プログラムの処理を複数スレッドで行う場合に各処理に割り当てるスレッド数を最適化する方法について述べる。
検索プログラムの処理としては、例えば、ファイルまたはメモリ上に保持された情報から1つまたは複数の情報の組を読み込む読み込み処理、前記読み込み手段により読み込まれた情報に対し、指定された条件に合致する情報項目の組を選別する選別処理、前記選別手段により選別された情報をファイルまたはメモリ上に書き込む書き込み処理などが挙げられる。
これらの処理はそれぞれ独立したスレッドで行うことができる。
また、検索処理においては、情報読み込み処理における情報の読み込み順、選別処理における条件比較を行う情報の順、書き込み処理における情報の書き込み順は一般に結果に影響を与えないため、それぞれの処理を複数のスレッドで処理することができる。
情報のフォーマットが決まっており、一組の情報単位の長さが固定の場合は情報の読み込みまたは書き込み位置が容易に計算できるので、このような並列処理に向いている。
一定数の複数スレッドで処理を行うことを想定した場合、全てのスレッドが等しく高負荷な状態であるのが、全体として最も効率が良い。
たとえば、読み込み処理、選別処理、書き込み処理の負荷が全て等しく高負荷な状態であるような場合である。
処理の負荷の定義としては、たとえば、その処理を行った全てのスレッドの一定時間内のCPU使用時間の合計などが考えられる。
本実施の形態においては、高負荷な処理のスレッド数を増加し、低負荷な処理のスレッド数を減少させることによって検索プログラム全体の処理効率を動的に高める方法を提示する。
図6は、各処理が使用可能なスレッド数を管理するためのスレッド管理テーブルである。
本実施の形態の検索プログラム102は、検索対象となる条件を示す検索対象条件情報、検索対象となる源情報がファイル或いはメモリのいずれかに存在するかを示す源情報検索先情報、検索の対象となる源情報の源情報名、検索された情報をファイル或いはメモリのどちらに格納するかを示す格納先情報、書き込みの対象となる検索された情報の検索結果情報名を受信する受信機能と、前記受信した源情報検索先情報によって示された検索対象となる源情報がメモリに存在することを示している場合に、前記受信した検索の対象となる源情報の源情報名と一致するメモリ領域の名前を管理テーブルから検索する検索機能と、前記検索機能によって前記受信した検索の対象となる源情報の源情報名と一致するメモリ領域の名前が検索された場合に、前記検索されたメモリ領域の名前に関連付けられたメモリ領域から、前記受信した検索対象条件情報に合致する情報を取得する取得機能と、前記受信された格納先情報がメモリに格納することを示している場合に、前記取得機能によって取得した情報を、メモリに書き込むとともに、前記受信した書き込みの対象となる検索された情報の検索結果情報名をメモリ領域とともに、前記管理テーブルに格納する格納機能などを具備するが、これら各機能をスレッドに割り当てることができる。
検索プログラム102によって、スレッド管理テーブル601に、各処理に対し、使用可能スレッド数602と現在の負荷情報603が記録される。負荷情報としては、先に述べたように、例えば、その処理を行った全てのスレッドの一定時間内のCPU使用時間の合計などが考えられる。スレッド管理テーブルは各処理からアクセス可能である。
図7に各処理の使用可能スレッド数を動的に最適化する方法のフローを示す。
処理S701は一定の情報ブロック単位に繰り返し行われるものとする。
S702は最後の情報ブロックに対する処理が完了したかを判定し、完了している場合には処理を終了し、完了していない場合にはスレッド数の調整処理を行う。
S703では、図6に示すスレッド管理テーブルを参照し、各処理の負荷情報を比較して自処理が最大負荷の場合は、S704スレッド管理テーブルに記録されている自処理の使用可能スレッド数を増加する。例えば1加える。
また、S705では、最小負荷の処理に対し、スレッド管理テーブルに記録されている使用可能スレッド数をその分減じる。例えば1減らす。
次の情報ブロックに対してS701の処理を行う場合は、更新されたスレッド数で行う。
読み込み処理を例により具体的に説明する。
S701で一定の単位数の情報をファイルから読み込む。使用可能スレッド数が2に設定されていたとし、これらのスレッドをA,Bとすると。1単位の情報をABAB・・・と交互に読み込むことになる。
本処理を行っている2スレッドの合計の負荷、例えばCPU使用時間が最大で、例えば書き込み処理の負荷が最低だったとすると、スレッド管理テーブルにおいて読み込み処理の使用可能スレッド数を増やし3とする。また書き込み処理の使用可能スレッド数を1減らす。
次にS701で読み込み処理を行う際は、3つのスレッドA,B,Cで交互にABCABC・・・と読むことになる。
このように、高負荷な処理のスレッド数を増やし、低負荷な処理のスレッド数を減らすことを随時行うことによって、検索プログラム全体として効率的に動作するように動的に最適化できる。
条件に適合する情報の組が少ないような場合は、読み込み処理、選別処理に比して、書き込み処理の処理量が少なくなることが予想されるが、このような場合に各処理に平均的にスレッド数を分配するのではなく、このような仕組みを利用することで、動的かつ自発的に最適なスレッド数の分配が可能になる。
本発明によれば、情報の検索結果をユーザが指定した名前を付けてメモリ上に保管することによって、多くの場合、段階的または繰り返す行われる情報の検索作業におけるユーザの作業効率の向上、作業時間の短縮を実現できる。
特にテラバイト級にも及ぶ大容量の情報の検索に有効である。
ローカルハードディスク上やネットワーク介して分散している情報の検索を短時間で行うことができる。
遺伝子配列情報データベースからの検索や文献データベースからの全文検索、コンピュータの操作履歴などからの情報の検索などへの応用が期待される。

Claims (9)

  1. 検索対象となる条件を示す検索対象条件情報、検索対象となる源情報がファイル或いはメモリのいずれかに存在するかを示す源情報検索先情報、検索の対象となる源情報の源情報名を受け付ける受付手段と、
    メモリ領域の名前と、メモリ領域を示すメモリ領域情報とが関連付けて記憶される管理テーブルと、
    前記受け付けた源情報検索先情報によって示された検索対象となる源情報がメモリに存在することを示している場合に、前記受け付けた検索の対象となる源情報の源情報名と一致するメモリ領域の名前を前記管理テーブルから検索する検索手段と、
    前記検索手段によって前記受け付けた検索の対象となる源情報の源情報名と一致するメモリ領域の名前が検索された場合に、前記検索されたメモリ領域の名前に関連付けられたメモリ領域情報によって示されるメモリ領域から、前記受け付けた検索対象条件情報に合致する情報を取得する取得手段と
    を具備する情報検索システム。
  2. 前記受付手段は、さらに、検索された情報をファイル或いはメモリのどちらに格納するかを示す格納先情報、書き込みの対象となる検索された情報の検索結果情報名を受け付け、
    前記受け付けられた格納先情報がメモリに格納することを示している場合に、前記取得手段によって取得した情報を、メモリに書き込み、前記受け付けた書き込みの対象となる検索された情報の検索結果情報名を前記メモリに書き込まれた情報が書き込まれるメモリ領域を示すメモリ領域情報とともに、前記管理テーブルに格納する格納手段をさらに具備することを特徴とする請求項1記載の情報検索システム。
  3. 前記メモリ領域情報は、前記取得した情報が格納されたメモリの先頭アドレス、最大サイズ及び使用サイズを含む請求項2記載の情報検索システム。
  4. 前記検索対象条件情報、前記源情報検索先情報及び前記源情報名は、命令プログラムから出力され、前記検索手段及び取得手段は、前記命令プログラムとは別の検索プログラムである請求項1記載の情報検索システム。
  5. 前記命令プログラムは第1の端末に格納され、前記検索プログラムは第2の端末に格納されている請求項4記載の情報検索システム。
  6. 前記検索手段、前記取得手段及び前記格納手段がそれぞれ複数のスレッドに割り当てられ、
    前記複数のスレッドの処理を行なうCPUに対する各スレッドの処理負荷を測定する測定手段と、
    前記測定手段によって測定された各スレッドの処理負荷に基づいて、前記検索手段、前記取得手段及び前記格納手段に割り当てられたスレッドの数を変更する変更手段と
    をさらに具備する請求項2記載の情報検索システム。
  7. 前記受付手段は、さらに、検索された情報をファイル或いはメモリのどちらに格納するかを示す格納先情報、書き込みの対象となる検索された情報の検索結果情報名を受け付け、
    前記受け付けられた格納先情報がメモリに格納することを示し、かつ前記受け付けた検索結果情報名に対応するメモリ領域情報が前記管理テーブル上に存在する場合には、前記取得手段によって取得した情報を、前記検索結果情報名に対応するメモリ領域情報によって示されるメモリ領域に書き込む格納手段をさらに具備することを特徴とする請求項1記載の情報検索システム。
  8. メモリ領域の名前と、メモリ領域を示すメモリ領域情報とが関連付けて記憶される管理テーブルを具備する情報検索システムにおける情報検索方法において、
    前記情報検索システムが、検索対象となる条件を示す検索対象条件情報、検索対象となる源情報がファイル或いはメモリのいずれかに存在するかを示す源情報検索先情報、検索の対象となる源情報の源情報名を受け付け、
    前記情報検索システムが、前記受け付けた源情報検索先情報によって示された検索対象となる源情報がメモリに存在することを示している場合に、前記受け付けた検索の対象となる源情報の源情報名と一致するメモリ領域の名前を前記管理テーブルから検索し、
    前記情報検索システムが、前記検索手段によって前記受け付けた検索の対象となる源情報の源情報名と一致するメモリ領域の名前が検索された場合に、前記検索されたメモリ領域の名前に関連付けられたメモリ領域情報によって示されるメモリ領域から、前記受け付けた検索対象条件情報に合致する情報を取得する情報検索方法。
  9. メモリ領域の名前と、メモリ領域を示すメモリ領域情報とが関連付けて記憶される管理テーブルを具備する情報検索システムにおいて使用されるプログラムにおいて、
    前記プログラムは、前記情報検索システムに、
    検索対象となる条件を示す検索対象条件情報、検索対象となる源情報がファイル或いはメモリのいずれかに存在するかを示す源情報検索先情報、検索の対象となる源情報の源情報名を受け付けさせ、
    前記受け付けた源情報検索先情報によって示された検索対象となる源情報がメモリに存在することを示している場合に、前記受け付けた検索の対象となる源情報の源情報名と一致するメモリ領域の名前を前記管理テーブルから検索させ、
    前記検索手段によって前記受け付けた検索の対象となる源情報の源情報名と一致するメモリ領域の名前が検索された場合に、前記検索されたメモリ領域の名前に関連付けられたメモリ領域情報によって示されるメモリ領域から、前記受け付けた検索対象条件情報に合致する情報を取得させるプログラム。
JP2009531212A 2007-09-07 2008-08-29 情報検索システム、情報検索方法及びプログラム Active JP5048072B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009531212A JP5048072B2 (ja) 2007-09-07 2008-08-29 情報検索システム、情報検索方法及びプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2007262705 2007-09-07
JP2007262705 2007-09-07
JP2009531212A JP5048072B2 (ja) 2007-09-07 2008-08-29 情報検索システム、情報検索方法及びプログラム
PCT/JP2008/065577 WO2009031474A1 (ja) 2007-09-07 2008-08-29 情報検索システム、情報検索方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2009031474A1 JPWO2009031474A1 (ja) 2010-12-16
JP5048072B2 true JP5048072B2 (ja) 2012-10-17

Family

ID=40428793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009531212A Active JP5048072B2 (ja) 2007-09-07 2008-08-29 情報検索システム、情報検索方法及びプログラム

Country Status (5)

Country Link
US (1) US8560540B2 (ja)
EP (1) EP2187312B1 (ja)
JP (1) JP5048072B2 (ja)
CN (1) CN101796493B (ja)
WO (1) WO2009031474A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8453160B2 (en) * 2010-03-11 2013-05-28 Honeywell International Inc. Methods and systems for authorizing an effector command in an integrated modular environment
JP7048638B2 (ja) * 2017-11-16 2022-04-05 株式会社日立産機システム コントロール装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1021123A (ja) * 1996-07-02 1998-01-23 Nissin Electric Co Ltd 情報処理装置
JP2003150442A (ja) * 2001-11-19 2003-05-23 Fujitsu Ltd メモリ展開プログラムおよびデータ処理装置
JP2005352779A (ja) * 2004-06-10 2005-12-22 Canon Inc 画像記録装置及びその制御方法
JP2007219577A (ja) * 2006-02-14 2007-08-30 Sony Corp データ処理装置、データ処理方法、データ処理方法のプログラム及びデータ処理方法のプログラムを記録した記録媒体

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE503771C2 (sv) 1994-12-01 1996-09-02 Gibeck Respiration Ab Anordning vid fukt-värmeväxlare
JPH10501086A (ja) * 1995-11-02 1998-01-27 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 記憶プレーン編成及びそれに基づく記憶システム
US6834276B1 (en) * 1999-02-25 2004-12-21 Integrated Data Control, Inc. Database system and method for data acquisition and perusal
CN100380515C (zh) * 2001-10-23 2008-04-09 三星电子株式会社 容易搜索文本信息的信息存储介质及其再现装置和方法
TWI282925B (en) * 2001-10-23 2007-06-21 Samsung Electronics Co Ltd Information storage medium having data structure that allows easy searching of text data, and apparatus and method for reproducing therefor
CA2365433A1 (en) * 2001-12-19 2003-06-19 Alcatel Canada Inc. System and method for multiple-threaded access to a database
US7533141B2 (en) * 2003-01-24 2009-05-12 Sun Microsystems, Inc. System and method for unique naming of resources in networked environments
JP2004318321A (ja) * 2003-04-14 2004-11-11 Nec Corp 生物情報検索システム及び検索方法
JP2005018734A (ja) * 2003-04-30 2005-01-20 Seiko Epson Corp ファイル管理方法及びその装置、並びにアノテーション情報生成方法及びその装置
US7117203B2 (en) * 2003-12-03 2006-10-03 International Business Machines Corporation Content addressable data storage and compression for semi-persistent computer memory for a database management system
US7614051B2 (en) * 2003-12-16 2009-11-03 Microsoft Corporation Creating file systems within a file in a storage technology-abstracted manner
CN1954560B (zh) * 2004-03-31 2011-06-15 Ipt株式会社 固定长数据的检索装置及检索管理方法
US7773128B2 (en) 2004-06-10 2010-08-10 Canon Kabushiki Kaisha Imaging apparatus
US8577865B2 (en) * 2004-09-29 2013-11-05 Sap Ag Document searching system
US8200700B2 (en) * 2005-02-01 2012-06-12 Newsilike Media Group, Inc Systems and methods for use of structured and unstructured distributed data
US7398281B2 (en) * 2005-02-28 2008-07-08 At&T Delaware Intellectual Property, Inc. Document repository
JP3962748B2 (ja) 2005-03-28 2007-08-22 キヤノン株式会社 情報処理装置及びその方法
WO2006124760A2 (en) * 2005-05-16 2006-11-23 Panvia Future Technologies, Inc. Associative memory and data searching system and method
US10198521B2 (en) * 2005-06-27 2019-02-05 Google Llc Processing ambiguous search requests in a geographic information system
JP4899476B2 (ja) 2005-12-28 2012-03-21 富士通株式会社 分割プログラム、連結プログラム、情報処理方法
US9041713B2 (en) * 2006-11-28 2015-05-26 International Business Machines Corporation Dynamic spatial index remapping for optimal aggregate performance
US8301637B2 (en) * 2007-07-27 2012-10-30 Seiko Epson Corporation File search system, file search device and file search method
US8634796B2 (en) * 2008-03-14 2014-01-21 William J. Johnson System and method for location based exchanges of data facilitating distributed location applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1021123A (ja) * 1996-07-02 1998-01-23 Nissin Electric Co Ltd 情報処理装置
JP2003150442A (ja) * 2001-11-19 2003-05-23 Fujitsu Ltd メモリ展開プログラムおよびデータ処理装置
JP2005352779A (ja) * 2004-06-10 2005-12-22 Canon Inc 画像記録装置及びその制御方法
JP2007219577A (ja) * 2006-02-14 2007-08-30 Sony Corp データ処理装置、データ処理方法、データ処理方法のプログラム及びデータ処理方法のプログラムを記録した記録媒体

Also Published As

Publication number Publication date
EP2187312B1 (en) 2016-12-21
CN101796493B (zh) 2014-10-08
EP2187312A4 (en) 2011-10-05
CN101796493A (zh) 2010-08-04
WO2009031474A1 (ja) 2009-03-12
US20100161606A1 (en) 2010-06-24
EP2187312A1 (en) 2010-05-19
JPWO2009031474A1 (ja) 2010-12-16
US8560540B2 (en) 2013-10-15

Similar Documents

Publication Publication Date Title
Wang et al. Big data provenance: Challenges, state of the art and opportunities
US9489237B1 (en) Dynamic tree determination for data processing
US8738645B1 (en) Parallel processing framework
CN111475506B (zh) 数据存储、查询的方法、装置、系统、设备、存储介质
JP5375972B2 (ja) 分散ファイルシステム、そのデータ選択方法およびプログラム
US9389913B2 (en) Resource assignment for jobs in a system having a processing pipeline that satisfies a data freshness query constraint
CN103077197A (zh) 一种数据存储方法装置
US20160335320A1 (en) Systems and methods of accessing distributed data
CN111324606B (zh) 数据分片的方法及装置
CN104881466A (zh) 数据分片的处理以及垃圾文件的删除方法和装置
US20080222112A1 (en) Method and System for Document Searching and Generating to do List
Aggarwal et al. Small files’ problem in Hadoop: A systematic literature review
US20090112806A1 (en) Query view inferred from datasource and query
JP5048072B2 (ja) 情報検索システム、情報検索方法及びプログラム
CN113590332A (zh) 内存管理方法、装置及内存分配器
WO2007087754A1 (fr) Procédé et système de référençage basé sur une bibliothèque d'objets
US20100281212A1 (en) Content-based write reduction
US10872103B2 (en) Relevance optimized representative content associated with a data storage system
Prasad et al. Improving the performance of processing for small files in Hadoop: A case study of weather data analytics
US9537941B2 (en) Method and system for verifying quality of server
US9069821B2 (en) Method of processing files in storage system and data server using the method
Byun et al. Large scale parallelization using file-based communications
CN116932196A (zh) 融合系统的数据处理方法、装置、设备和系统
CN113535673B (zh) 生成配置文件及数据处理的方法和装置
CN113672640A (zh) 数据查询方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120523

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

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

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

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5048072

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250