JP5538585B1 - データ検索システム及びデータ検索プログラム - Google Patents

データ検索システム及びデータ検索プログラム Download PDF

Info

Publication number
JP5538585B1
JP5538585B1 JP2013054974A JP2013054974A JP5538585B1 JP 5538585 B1 JP5538585 B1 JP 5538585B1 JP 2013054974 A JP2013054974 A JP 2013054974A JP 2013054974 A JP2013054974 A JP 2013054974A JP 5538585 B1 JP5538585 B1 JP 5538585B1
Authority
JP
Japan
Prior art keywords
search
program
data
network device
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.)
Expired - Fee Related
Application number
JP2013054974A
Other languages
English (en)
Other versions
JP2014182446A (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.)
Mitsubishi Electric Information Systems Corp
Original Assignee
Mitsubishi Electric Information Systems 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 Mitsubishi Electric Information Systems Corp filed Critical Mitsubishi Electric Information Systems Corp
Priority to JP2013054974A priority Critical patent/JP5538585B1/ja
Application granted granted Critical
Publication of JP5538585B1 publication Critical patent/JP5538585B1/ja
Publication of JP2014182446A publication Critical patent/JP2014182446A/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】分散して管理されている大量のデータの解析を行う場合に、ネットワークにかける負荷を小さくすることを目的とする。
【解決手段】データ検索システム100は、コントローラ10と、サーバ30毎に割り当てられたネットワーク装置20とを備える。コントローラ10は、検索要求を受け付けると、検索要求に従い検索プログラムを生成し、生成した検索プログラムを各ネットワーク装置へ送信する。各ネットワーク装置20は、送信された検索プログラムを実行して、割り当てられたサーバに対してデータの検索を行い、検索した検索結果をコントローラ10へ送信する。コントローラ10は、送信された検索結果を統合して、統合結果として出力する。
【選択図】図1

Description

この発明は、複数のサーバで分散して管理されるデータを検索するデータ検索システムに関する。
一般消費者等を顧客に持つ企業には大量の取引ログ等のデータ(ビッグデータ)が蓄積されており、この大量の取引ログを解析して、有用な情報を抽出することが試みられている。
一般に、ビッグデータは、一か所に蓄積されているものではなく、例えば拠点毎に分散して管理されている。また、一般に、ビッグデータは、構造化されたデータだけでなく、構造化されていないデータも含んでおり、構造化されたデータも例えば拠点毎に異なる様々なデータ構造のデータを含んでいる。
従来は、解析を行うホストサーバが、解析の指示を受けると、分散して管理されているデータを全て集め、解析を行っていた。
特開2001−117949号公報
しかし、ホストサーバがデータを全て集めるため、ホストサーバと各拠点のサーバとを結ぶネットワークに大量のデータが流れることになり、ネットワークに大きな負荷がかかっていた。また、データの収集に時間がかかるため、リアルタイム性の高い解析は困難であった。
この発明は、分散して管理されている大量のデータの解析を行う場合に、ネットワークにかける負荷を小さくすることを目的とする。
この発明に係るデータ検索システムは、
複数のサーバで分散して管理されるデータを検索するデータ検索システムであって、コントローラと、サーバ毎に割り当てられたネットワーク装置とを備えるデータ検索システムであり、
前記コントローラは、
検索要求の入力を受け付ける検索要求受付部と、
前記検索要求受付部が受け付けた検索要求に従い、検索プログラムを生成する検索プログラム生成部と、
前記検索プログラム生成部が生成した検索プログラムを、各ネットワーク装置へ送信する検索プログラム送信部と
を備え、
前記各ネットワーク装置は、
前記検索プログラム送信部が送信した検索プログラムを実行して、割り当てられたサーバに対してデータを検索する検索実行部と、
前記検索実行部が検索した検索結果を前記コントローラへ送信する検索結果送信部と
を備え、
前記コントローラは、さらに、
前記各ネットワーク装置が備える前記検索結果送信部が送信した検索結果を統合して、統合結果として出力する統合結果出力部
を備えることを特徴とする。
前記各ネットワーク装置は、さらに、
割り当てられたサーバで管理されるデータのデータ構造を解析するデータ構造解析部と、
前記データ構造解析部が解析したデータ構造を示す構造情報を前記コントローラへ送信する構造情報送信部と
を備え、
前記検索プログラム生成部は、前記各ネットワーク装置が備える前記構造情報送信部が送信した構造情報に従い、ネットワーク装置毎に対応する検索プログラムを生成し、
前記検索プログラム送信部は、前記検索プログラム生成部が生成したネットワーク装置毎に対応する検索プログラムを、対応するネットワーク装置へ送信する
ことを特徴とする。
前記各ネットワーク装置は、さらに、
割り当てられたサーバの負荷を監視する負荷監視部
を備え、
前記検索実行部は、前記負荷監視部が監視する負荷が所定値よりも低くなるように、前記検索プログラムの実行を制御する
ことを特徴とする。
前記検索プログラム生成部は、1度だけ実行される単発プログラムと、所定の期間実行され続ける継続プログラムとの検索プログラムを生成し、
前記検索実行部は、前記検索プログラムが単発プログラムである場合には、単発プログラムを実行して1度だけデータを検索し、前記検索プログラムが継続プログラムである場合には、前記所定の期間継続プログラムを実行し続けて、所定の時間毎にデータを検索する
ことを特徴とする。
前記検索プログラム生成部は、検索要求毎に、その検索要求に対する処理を行うVM(Virtual Machine)を生成する
ことを特徴とする。
この発明に係るデータ検索プログラムは、
複数のサーバで分散して管理されるデータを検索するデータ検索プログラムであって、コントローラで動作するプログラムと、サーバ毎に割り当てられたネットワーク装置で動作するプログラムとを備えるデータ検索プログラムであり、
前記コントローラで動作するプログラムは、
検索要求の入力を受け付ける検索要求受付処理と、
前記検索要求受付処理で受け付けた検索要求に従い、検索プログラムを生成する検索プログラム生成処理と、
前記検索プログラム生成処理で生成した検索プログラムを、各ネットワーク装置へ送信する検索プログラム送信処理と
をコンピュータに実行させ、
前記各ネットワーク装置で動作するプログラムは、
前記検索プログラム送信処理で送信した検索プログラムを実行して、割り当てられたサーバに対してデータを検索する検索実行処理と、
前記検索実行処理で検索した検索結果を前記コントローラへ送信する検索結果送信処理と
をコンピュータに実行させ、
前記コントローラで動作するプログラムは、さらに、
前記各ネットワーク装置が備える前記検索結果送信処理で送信した検索結果を統合して、統合結果として出力する統合結果出力処理
をコンピュータに実行させることを特徴とする。
この発明に係るデータ検索システムでは、各ネットワーク装置が検索プログラムを実行して検索した結果のみがコントローラへ送信される。そのため、ネットワークを流れるデータは、検索された結果のみであり、データ量が少ないので、ネットワークにかかる負荷が小さい。
実施の形態1に係るデータ検索システム100の構成図。 実施の形態1に係るコントローラ10とネットワーク装置20との構成図。 実施の形態1に係るデータ検索システム100の動作を示すフローチャート。 実施の形態2に係るコントローラ10とネットワーク装置20との構成図。 実施の形態2に係るデータ検索システム100の動作を示すフローチャート。 実施の形態3に係るコントローラ10とネットワーク装置20との構成図。 実施の形態4に係るコントローラ10とネットワーク装置20との構成図。 実施の形態4に係るデータ検索システム100の動作を示すフローチャート。 実施の形態5に係るコントローラ10とネットワーク装置20との構成図。 実施の形態5に係るデータ検索システム100の動作を示すフローチャート。 実施の形態1から5に係るコントローラ10、ネットワーク装置20のハードウェア構成の一例を示す図。
実施の形態1.
図1は、実施の形態1に係るデータ検索システム100の構成図である。
データ検索システム100は、コントローラ10と、複数のネットワーク装置20(ここでは、ネットワーク装置20a〜20c)とを備える。各ネットワーク装置20には、それぞれサーバ30(ここでは、サーバ30a〜30c)が割り当てられている。コントローラ10と各ネットワーク装置20とは、ネットワーク40により接続されている。
コントローラ10は、利用者から検索要求を受け付け、各ネットワーク装置20へデータの検索を指示して、ネットワーク装置20によって検索された検索結果を利用者へ出力する。
ネットワーク装置20は、コントローラ10からの指示に従い、割り当てられたサーバ30からデータを検索して、コントローラ10へ送信する。
なお、ネットワーク装置20は、例えば、サーバ30をネットワーク40へ接続するための、ルータ、スイッチ、オープンフロースイッチ等を兼ねるものである。
サーバ30は、データを管理している。サーバ30毎に、管理されているデータが構造化されている場合と、構造化されていない場合とがある。構造化されている場合であっても、サーバ30毎にデータ構造が異なる可能性がある。
また、サーバ30毎に、管理されているデータが異なる場合があり、あるサーバ30では管理されているデータであっても、他のサーバ30では管理されていない場合もある。
図2は、実施の形態1に係るコントローラ10とネットワーク装置20との構成図である。
コントローラ10は、検索要求受付部11、検索プログラム生成部12、検索プログラム送信部13、統合結果出力部14を備える。
ネットワーク装置20は、検索実行部21、検索結果送信部22を備える。
検索要求受付部11は、入力装置によって入力された利用者から検索要求の入力を受け付ける。検索要求には、抽出したいデータを示すデータ項目名と、抽出する条件とが含まれている。
検索プログラム生成部12は、検索要求受付部11が受け付けた検索要求に従い、検索プログラムを処理装置により生成する。検索プログラムは、構造化されているか、構造化されていないかに関わりなく、またデータ構造に関わりなく検索を実行可能なプログラムである。例えば、検索プログラムは、総当たりで指定された文字列を検索するプログラムである。
検索プログラム送信部13は、検索プログラム生成部12が生成した検索プログラムを、各ネットワーク装置20へネットワーク40を介して送信する。
統合結果出力部14は、ネットワーク装置20によって検索され、送信された検索結果を処理装置により統合して、統合結果として出力する。なお、検索結果を統合するとは、単に複数の検索結果を1つにまとめるというだけでなく、例えば統計的な解析等の解析を行うことも含む。
検索実行部21は、検索プログラム送信部13が送信した検索プログラムを実行して、割り当てられたサーバ30に対してデータ検索を実行する。
検索結果送信部22は、検索実行部21が検索した検索結果をコントローラ10へネットワーク40を介して送信する。
図3は、実施の形態1に係るデータ検索システム100の動作を示すフローチャートである。
まず、コントローラ10で、検索要求受付部11が利用者からの検索要求を受け付ける(S11)。すると、検索プログラム生成部12が検索プログラムを生成し(S12)、検索プログラム送信部13が生成された検索プログラムを各ネットワーク装置20へ送信する(S13)。
続いて、ネットワーク装置20で、検索実行部21がS13で送信された検索プログラムを実行して、サーバ30からデータを検索し(S14)、検索結果送信部22が検索結果をコントローラ10へ送信する(S15)。
そして、コントローラ10で、統合結果出力部14がS15で送信された検索結果を統合して、統合結果として出力する(S16)。
なお、S12で複数の検索プログラムが生成された場合、S13からS15の処理が複数回繰り返される場合もある。
データ検索システム100の動作例について説明する。
ここでは、拠点毎にサーバ30が設置されており、各サーバ30にはその拠点での商品の売上データが登録されているとする。
まず、検索要求受付部11が、利用者から新商品Aの売上について、拠点毎に、想定顧客と現実に新商品Aを購入した現実顧客との差異を検索する検索要求を受け付ける(S11)。
すると、検索プログラム生成部12が、検索要求に従い検索プログラムを生成する(S12)。
例えば、検索プログラム生成部12は、想定顧客と現実顧客との差異を検索する検索要求に対する検索プログラムの雛型を予め記憶しており、商品の識別子等を引数として与えることにより、検索プログラムを生成する。
ここでは、検索プログラム生成部12は、(1)各拠点から想定顧客の情報を取得するプログラム1、(2)各拠点から顧客毎の新商品Aの売上情報を取得するプログラム2、(3)想定顧客と現実顧客との特徴の差異を計算するプログラム3、(4)差異が最も大きい現実顧客の顧客データを抽出するプログラム4の4つのプログラムを生成する。
そして、検索プログラム送信部13が、S12で生成された4つのプログラムのうち、まずプログラム1を各ネットワーク装置20へ送信する(S13)。
すると、各ネットワーク装置20の検索実行部21がプログラム1を実行してサーバ30が設置された拠点の想定顧客の情報を取得し(S14)、検索結果送信部22が取得した想定顧客の情報をコントローラ10へ送信する(S15)。
検索プログラム送信部13は、ネットワーク装置20毎に、取得した想定顧客の情報をプログラム3の引数として設定し、検索プログラム送信部13は、プログラム2,3,4を各ネットワーク装置20へ送信する(S13)。ここで、送信されたプログラム3は、送信先のネットワーク装置20から取得した想定顧客の情報を設定したものである。
すると、各ネットワーク装置20の検索実行部21が、プログラム2,3,4を実行する(S14)。
ここでは、まず、検索実行部21は、プログラム2を実行して、新商品Aの売上情報を取得する。売上情報には、新商品Aを購入した顧客の特徴(年齢層、性別等)が含まれている。次に、検索実行部21は、プログラム3を実行して、プログラム2により取得された各売上情報に含まれる顧客の特徴と、想定顧客の特徴との差異を計算する。そして、検索実行部21は、プログラム4を実行して、差異が最も大きい現実顧客の顧客データ(年齢層、性別以外の詳細な個人情報)とを取得する。
そして、検索結果送信部22は、S14で取得された顧客の顧客データを、その顧客についてプログラム3で計算された差異の値とともに、コントローラ10へ送信する(S15)。
統合結果出力部14は、各ネットワーク装置20から送信された顧客データを差異の値が大きい順に整列して、出力する(S16)。
以上のように、実施の形態1に係るデータ検索システム100では、ネットワーク装置20からコントローラ10へ検索結果のみが送信される。つまり、各サーバ30で管理される全てのデータがネットワーク40を流れることはなく、各ネットワーク装置20での検索結果のみがネットワーク40を流れる。したがって、ネットワーク40に大きな負荷がかかることはない。
実施の形態2.
実施の形態2では、効率的にデータ検索を行う方法について説明する。
図4は、実施の形態2に係るコントローラ10とネットワーク装置20との構成図である。
図4に示すコントローラ10は、図2に示す実施の形態1に係るコントローラ10と同じ構成である。図4に示すネットワーク装置20は、図2に示す実施の形態1に係るネットワーク装置20が備える機能に加え、データ構造解析部23、構造情報送信部24を備える。
データ構造解析部23は、割り当てられたサーバ30で管理されるデータのデータ構造を処理装置により解析する。
例えば、データ構造解析部23は、割り当てられたサーバ30でデータがデータベースによって管理されている場合には、そのデータベースの各テーブルの構造(テーブル名、項目名、主キー等)を特定する。
例えば、データ構造解析部23は、様々な方法によりデータ検索を繰り返すことにより、データ構造を解析する。
構造情報送信部24は、データ構造解析部23が解析したデータ構造を示す構造情報をコントローラ10へネットワーク40を介して送信する。
なお、検索プログラム生成部12は、各ネットワーク装置20が備える構造情報送信部24が送信した構造情報に従い、ネットワーク装置20毎に対応する検索プログラムを生成する。検索プログラム送信部13は、検索プログラム生成部12が生成したネットワーク装置20毎に対応する検索プログラムを、対応するネットワーク装置20へ送信する。
図5は、実施の形態2に係るデータ検索システム100の動作を示すフローチャートである。
ネットワーク装置20で、データ構造解析部23は、所定のタイミングに、サーバ30へアクセスして、サーバ30で管理されるデータのデータ構造を処理装置により解析する(S21)。
そして、構造情報送信部24は、データ構造解析部23が解析したデータ構造を示す構造情報をコントローラ10へ送信する(S22)。
コントローラ10で、検索要求受付部11が利用者からの検索要求を受け付けると(S23)、検索プログラム生成部12が検索プログラムを生成する(S24)。ここで、検索プログラム生成部12は、ネットワーク装置20毎に、そのネットワーク装置20から送信された構造情報に従い、検索プログラムを生成する。
そして、検索プログラム送信部13が生成された検索プログラムを対応するネットワーク装置20へ送信する(S25)。
S26以降の処理は、図3に示すS14以降の処理と同じである。
データ検索システム100の動作例について説明する。
ここでは、拠点Aにサーバ30Aが設置され、拠点Bにサーバ30Bが設置されており、サーバ30Aには拠点Aでの商品の売上データが登録され、サーバ30Bには拠点Bでの商品の売上データが登録されているとする。また、サーバ30Aでは、データがデータベースで管理されており、サーバ30Bでは、データが構造化されずに管理されているとする。
各ネットワーク装置20では、データ構造解析部23が、所定のタイミングに、割り当てられたサーバ30で管理されるデータのデータ構造を解析する(S21)。
ここでは、サーバ30Aに割り当てられたネットワーク装置20のデータ構造解析部23は、サーバ30Aのデータベースの構造を特定し、サーバ30Bに割り当てられたネットワーク装置20のデータ構造解析部23は、非構造化データであることを特定する。
そして、各ネットワーク装置20の構造情報送信部24が、S21で解析されたデータ構造を示す構造情報をコントローラ10へ送信する(S22)。
検索要求受付部11が、利用者から新商品Aの売上について、拠点毎に、想定顧客と現実に新商品Aを購入した現実顧客との差異を検索する検索要求を受け付ける(S23)。
すると、検索プログラム生成部12が、検索要求に従い検索プログラムを生成する(S24)。
この際、検索プログラム生成部12は、S22で送信された構造情報に従い、ネットワーク装置20毎に検索プログラムを生成する。ここでは、サーバ30Aに割り当てられたネットワーク装置20に対しては、データベースのデータ構造に従い、SQL等で記述されたデータベースの検索プログラムを生成する。一方、サーバ30Bに割り当てられたネットワーク装置20に対しては、非構造化データであるとの情報に従い、総当たり等の検索プログラムを生成する。
そして、検索プログラム送信部13が、S12で生成された検索プログラムを、対応するネットワーク装置20へ送信する(S25)。
以降の処理は、説明を省略する。
以上のように、実施の形態2に係るデータ検索システム100では、予めネットワーク装置20によりデータ構造を解析しておき、データ構造に合わせた検索プログラムをネットワーク装置20へ送信する。そのため、ネットワーク装置20により実行される検索処理を短時間で実行可能である。また、検索処理によるサーバ30への負荷も軽くなり、サーバ30で実行される他の処理への検索処理が与える影響も小さい。
なお、データ構造解析部23は、データ構造だけでなく、割り当てられたサーバ30で管理されるデータの種別(売上データ、財務データ等)について解析してもよい。そして、構造情報送信部24は、データ構造解析部23が解析したデータの種別も、コントローラ10へ送信してもよい。
この場合、コントローラ10は、検索対象のデータを管理していないサーバ30が割り当てられたネットワーク装置20へ検索プログラムを送信する必要がなくなり、不要な負荷をネットワーク装置20やサーバ30にかけずに済む。
データ構造解析部23は、割り当てられたサーバ30で管理されるデータの種別を解析する場合、サーバ30へアクセスしてサーバ30が管理しているデータを検索することにより解析してもよい。しかし、この方法では、サーバ30に負荷がかかってしまう。
そこで、データ構造解析部23は、サーバ30へデータが送信される度に、送信されたデータを取得して、サーバ30で管理されるデータを解析するようにしてもよい。なお、ネットワーク装置20は、サーバ30をネットワーク40へ接続するためのルータ等であるため、サーバ30へ送信されるデータは全て取得可能である。
実施の形態3.
実施の形態3では、サーバ30の負荷を考慮した動作について説明する。
図6は、実施の形態3に係るコントローラ10とネットワーク装置20との構成図である。
図6に示すコントローラ10は、図4に示す実施の形態2に係るコントローラ10と同じ構成である。図6に示すネットワーク装置20は、図4に示す実施の形態2に係るネットワーク装置20が備える機能に加え、負荷監視部25を備える。
負荷監視部25は、割り当てられたサーバ30の負荷を監視する。ここで、サーバ30の負荷とは、例えば、サーバ30のCPU(Central Processing Unit)の使用率である。もちろん、他にもサーバ30のメモリの使用率等であってもよい。
検索実行部21は、負荷監視部25が監視する負荷が所定値よりも低くなるように、前記検索プログラムの実行を制御する。同様に、データ構造解析部23は、負荷監視部25が監視する負荷が所定値よりも低くなるように、データ構造の解析を制御する。
ここで、負荷が所定値よりも低くなるようにとは、例えば、CPUの使用率が100%未満になるようにという意味である。
以上のように、実施の形態3に係るデータ検索システム100では、サーバ30の負荷を監視し、負荷が高くならないように検索やデータ構造の解析を行う。そのため、サーバ30が実行する他の処理への影響を抑えることができる。
実施の形態4.
実施の形態4では、ネットワーク装置20の設置方法について説明する。
図7は、実施の形態4に係るコントローラ10とネットワーク装置20との構成図である。
図7に示すコントローラ10は、図6に示す実施の形態3に係るコントローラ10が備える機能に加え、カタログプログラム送信部15を備える。図7に示すネットワーク装置20は、図6に示す実施の形態3に係るネットワーク装置20が備える機能に加え、接続通知部26、接続設定部27を備える。
カタログプログラム送信部15は、ネットワーク装置20から接続したことを通知する接続通知を受信すると、ネットワーク装置20が接続されたサーバ30と通信するためのカタログプログラムと、接続されたサーバ30用の認証キーとをネットワーク40を介してネットワーク装置20へ送信する。
接続通知部26は、サーバ30及びネットワーク40と接続された場合に、コントローラ10へ接続通知を送信する。
接続設定部27は、カタログプログラム送信部15が送信したネットワーク装置20用のカタログプログラムをネットワーク装置20に設定する。この際、サーバ30へのアクセスに利用される認証キーをカタログプログラムに設定することにより、サーバ30へのアクセスが可能となる。
図8は、実施の形態4に係るデータ検索システム100の動作を示すフローチャートである。図8では、ネットワーク装置20が設置された場合の動作を示す。
まず、ネットワーク装置20がサーバ30及びネットワーク40に接続されると、接続通知部26が接続通知をコントローラ10へ送信する(S31)。この際、接続通知部26は、サーバ30が接続されたポートの識別子も合わせてコントローラ10へ送信してもよい。
すると、カタログプログラム送信部15は、ネットワーク装置20用のカタログプログラムと、認証キーとをネットワーク装置20へ送信する(S32)。
接続設定部27は、S32で送信されたネットワーク装置20用のカタログプログラムをネットワーク装置20に設定する(S33)。ここでは、ネットワーク装置20は、ネットワーク装置20に設定されたVMM(Virtual Machine Monitor)にカタログプログラムをインストールすることにより、サーバ30との通信用のVM(Virtual Machine)を設定する。そして、接続設定部27は、サーバ30との通信用のVMを起動させる(S34)。
以上のように、実施の形態4に係るデータ検索システム100では、ネットワーク装置20を接続するだけで、自動的にコントローラ10とネットワーク装置20とが接続され、ネットワーク装置20とサーバ30とが接続される。したがって、システム管理者等が個別に設定作業を行う必要がない。
実施の形態5.
実施の形態5では、複数の検索処理の並列実行について説明する。
図9は、実施の形態5に係るコントローラ10とネットワーク装置20との構成図である。
実施の形態5に係るコントローラ10及びネットワーク装置20の構成は、図2に示す実施の形態1に係るコントローラ10及びネットワーク装置20の構成と同じである。
コントローラ10では、検索要求受付部11が利用者から検索要求の入力を受け付ける度に、検索プログラム生成部12は、受け付けた検索要求用のVMである検索プログラム生成VMを生成する。生成された検索プログラム生成VMは、検索要求に従い、検索プログラムを生成する。生成された検索プログラムは、検索プログラム送信部13を介してネットワーク装置20へ送信される。
ネットワーク装置20では、検索実行部21は、送信された検索プログラム毎に、検索プログラムを実行するVMである検索実行VMを生成する。検索VMは、検索プログラムを実行して検索結果を取得する。検索VMが取得した検索結果は、検索結果送信部22を介してコントローラ10へ送信される。検索プログラムの実行が完了すると、検索実行VMは処理を終了し、VMMから削除される。
コントローラ10では、検索プログラム生成VMが検索結果を取得し、統合結果出力部14が統合結果を出力する。この際、統合の処理方法は、検索プログラム生成VMから統合結果出力部14へ指示する。検索要求に対する処理が完了すると、検索プログラム生成VMは処理を終了し、VMMから削除される。
図10は、実施の形態5に係るデータ検索システム100の動作を示すフローチャートである。
まず、コントローラ10で、検索要求受付部11が利用者からの検索要求を受け付ける(S41)。すると、検索プログラム生成部12が、S41で受け付けた検索要求に対応する検索プログラム生成VMを生成する(S42)。S42で生成された検索プログラム生成VMは、検索要求に従い検索プログラムを生成する(S43)。そして、生成された検索プログラムは、検索プログラム送信部13を介してネットワーク装置20へ送信される(S44)。
続いて、ネットワーク装置20で、検索実行部21がS44で送信された検索プログラムに対応する検索実行VMを生成する(S45)。そして、生成された検索実行VMが検索プログラムを実行して、サーバ30からデータを検索し(S46)、検索結果が検索結果送信部22を介してコントローラ10へ送信される(S47)。なお、検索実行VMは、検索プログラムの実行が完了すると、VMMから削除される(S48)。
そして、コントローラ10で、検索プログラム生成VMが検索結果を取得し(S49)、検索プログラム生成VMの指示に従い統合結果出力部14により統合結果が出力される(S50)。なお、検索プログラム生成VMは、検索結果を取得して統合結果出力部14へ指示をした後、VMMから削除される(S51)。
データ検索システム100の動作例について説明する。
ここでは、2つの検索要求A,Bが概ね同じタイミングに入力されたとする。
まず、コントローラ10で、検索要求受付部11が、検索要求A,Bを受け付ける(S41)。
すると、検索プログラム生成部12が、検索要求A用の検索プログラム生成VM(以下、VMA)と、検索要求B用の検索プログラム生成VM(以下、VMB)とを生成する(S42)。VMAは、検索要求Aに従い、検索プログラム1A,2Aを生成し、VMBは、検索要求Bに従い、検索プログラム1B,2Bを生成する(S43)。そして、検索要求A用の検索プログラム1A,2Aと、検索要求B用の検索プログラム1B,2Bとが、検索プログラム送信部13を介して各ネットワーク装置20へ送信される(S44)。
続いて、各ネットワーク装置20において、検索実行部21が、検索要求A用の検索プログラム1A,2Aと、検索要求B用の検索プログラム1B,2Bとを受信し、検索プログラム1A,2A,1B,2Bそれぞれ用の検索実行VM(以下、それぞれVM1A,VM2A,VM1B,VM2B)を生成する(S45)。そして、生成された検索実行VM1A,VM2A,VM1B,VM2Bが検索プログラム1A,2A,1B,2Bを実行して、サーバ30からデータを検索し(S46)、検索結果が検索結果送信部22を介してコントローラ10へ送信される(S47)。ここで、検索プログラム1Aの処理が完了すると、VM1AがVMMから削除され、検索プログラム2Aの処理が完了すると、VM2AがVMMから削除され、検索プログラム1Bの処理が完了すると、VM1BがVMMから削除され、検索プログラム2Bの処理が完了すると、VM2BがVMMから削除される(S48)。
すると、コントローラ10で、VM1A及びVM2Aが検索プログラム1A,2Aを実行した結果をVMAが取得し、VM1B及びVM2Bが検索プログラム1B,2Bを実行した結果をVMBが取得する(S49)。そして、VMA及びVMBが、取得した結果を統合結果出力部14に統合させた上で出力させる(S50)。VMAは、検索プログラム1A,2Aを実行した結果を取得し、統合結果出力部14への指示が完了すると、VMMから削除され、VMBは、検索プログラム1B,2Bを実行した結果を取得し、統合結果出力部14への指示が完了すると、VMMから削除される(S51)。
以上のように、実施の形態5に係るデータ検索システム100では、検索プログラム生成部12が検索要求毎にその検索要求を実行するVMを生成し、検索実行部21が検索プログラム毎にその検索プログラムを実行するVMを生成して、処理を行う。そのため、検索要求が複数入力された場合であっても、各VMが並列して動作することで、複数の検索要求を並列に処理することができる。
また、上記説明では、検索要求は、1度検索処理を行い終了する例を説明した。しかし、所定の時間毎に同じ検索処理を行う等、継続して検索処理を行う検索要求が入力される場合もあり得る。
この場合であっても、実施の形態5に係るデータ検索システム100では、継続して検索処理を行う検索要求に対して生成されたVMが削除されることなく動作を続けることで、継続して検索処理を行うことが可能である。
なお、上記説明では、実施の形態5に係るコントローラ10及びネットワーク装置20の構成は、図2に示す実施の形態1に係るコントローラ10及びネットワーク装置20の構成と同じであるとした。しかし、実施の形態1のデータ検索システム100に実施の形態2−4の機能を追加したのと同様に、実施の形態5のデータ検索システム100に実施の形態2−4の機能を追加することも可能である。
図11は、実施の形態1から5に係るコントローラ10、ネットワーク装置20のハードウェア構成の一例を示す図である。
図11に示すように、コントローラ10、ネットワーク装置20は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、LCD901(Liquid Crystal Display)、キーボード902(K/B)、通信ボード915、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920(固定ディスク装置)の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。磁気ディスク装置920は、所定の固定ディスクインタフェースを介して接続される。
磁気ディスク装置920又はROM913などには、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
プログラム群923には、上記の説明において「検索要求受付部11」、「検索プログラム生成部12」、「検索プログラム送信部13」、「統合結果出力部14」、「カタログプログラム送信部15」、「検索実行部21」、「検索結果送信部22」、「データ構造解析部23」、「構造情報送信部24」、「負荷監視部25」、「接続通知部26」、「接続設定部27」等として説明した機能を実行するソフトウェアやプログラムやその他のプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、上記の説明において「検索プログラム」、「検索結果」、「統合結果」、「カタログプログラム」等に記憶される情報やデータや信号値や変数値やパラメータが、「データベース」の各項目として記憶される。「データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPU911の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPU911の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、その他光ディスク等の記録媒体やICチップに記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体や電波によりオンライン伝送される。
また、上記の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。また、「〜装置」として説明するものは、「〜回路」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組合せ、さらには、ファームウェアとの組合せで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ROM913等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、上記で述べた「〜部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「〜部」の手順や方法をコンピュータ等に実行させるものである。
100 データ検索システム、10 コントローラ、11 検索要求受付部、12 検索プログラム生成部、13 検索プログラム送信部、14 統合結果出力部、15 カタログプログラム送信部、20 ネットワーク装置、21 検索実行部、22 検索結果送信部、23 データ構造解析部、24 構造情報送信部、25 負荷監視部、26 接続通知部、27 接続設定部。

Claims (6)

  1. 複数のサーバで分散して管理されるデータを検索するデータ検索システムであって、コントローラと、サーバ毎に割り当てられたネットワーク装置とを備えるデータ検索システムであり、
    各ネットワーク装置は、
    割り当てられたサーバで管理されるデータのデータ構造を解析するデータ構造解析部と、
    前記データ構造解析部が解析したデータ構造を示す構造情報を前記コントローラへ送信する構造情報送信部と
    を備え、
    前記コントローラは、
    検索要求の入力を受け付ける検索要求受付部と、
    前記検索要求受付部が受け付けた検索要求に従い、検索プログラムを生成する検索プログラム生成部であって、前記各ネットワーク装置が備える前記構造情報送信部が送信した構造情報に従い、ネットワーク装置毎に対応する検索プログラムを生成する検索プログラム生成部と、
    前記検索プログラム生成部が生成したネットワーク装置毎に対応する検索プログラムを、対応するネットワーク装置へ送信する検索プログラム送信部と
    を備え、
    前記各ネットワーク装置は、さらに、
    前記検索プログラム送信部が送信した検索プログラムを実行して、割り当てられたサーバに対してデータを検索する検索実行部と、
    前記検索実行部が検索した検索結果を前記コントローラへ送信する検索結果送信部と
    を備え、
    前記コントローラは、さらに、
    前記各ネットワーク装置が備える前記検索結果送信部が送信した検索結果を統合して、統合結果として出力する統合結果出力部
    を備えることを特徴とするデータ検索システム。
  2. 前記データ構造解析部は、さらに、割り当てられたサーバで管理されるデータの種別を解析し、
    前記構造情報送信部は、さらに、前記データ構造解析部が解析したデータの種別を前記コントローラへ送信し、
    前記検索プログラム生成部は、前記構造情報送信部が送信したデータの種別に基づき、前記検索要求が要求するデータの種別を管理するサーバが割り当てられたネットワーク装置を特定し、特定したネットワーク装置ついてのみ、そのネットワーク装置に対応する検索プログラムを生成する
    ことを特徴とする請求項1に記載のデータ検索システム。
  3. 前記各ネットワーク装置は、さらに、
    割り当てられたサーバの負荷を監視する負荷監視部
    を備え、
    前記検索実行部は、前記負荷監視部が監視する負荷が所定値よりも低くなるように、前記検索プログラムの実行を制御する
    ことを特徴とする請求項1又は2に記載のデータ検索システム。
  4. 前記検索プログラム生成部は、1度だけ実行される単発プログラムと、所定の期間実行され続ける継続プログラムとの検索プログラムを生成し、
    前記検索実行部は、前記検索プログラムが単発プログラムである場合には、単発プログラムを実行して1度だけデータを検索し、前記検索プログラムが継続プログラムである場合には、前記所定の期間継続プログラムを実行し続けて、所定の時間毎にデータを検索する
    ことを特徴とする請求項1から3までのいずれかに記載のデータ検索システム。
  5. 前記検索プログラム生成部は、検索要求毎に、その検索要求に対する処理を行うVM(
    Virtual Machine)を生成する
    ことを特徴とする請求項1から4までのいずれかに記載のデータ検索システム。
  6. 複数のサーバで分散して管理されるデータを検索するデータ検索プログラムであって、コントローラで動作するプログラムと、サーバ毎に割り当てられたネットワーク装置で動作するプログラムとを備えるデータ検索プログラムであり、
    各ネットワーク装置で動作するプログラムは、
    割り当てられたサーバで管理されるデータのデータ構造を解析するデータ構造解析処理と、
    前記データ構造解析処理で解析したデータ構造を示す構造情報を前記コントローラへ送信する構造情報送信処理と
    をコンピュータに実行させ、
    前記コントローラで動作するプログラムは、
    検索要求の入力を受け付ける検索要求受付処理と、
    前記検索要求受付処理で受け付けた検索要求に従い、検索プログラムを生成する検索プログラム生成処理であって、前記各ネットワーク装置における前記構造情報送信処理で送信した構造情報に従い、ネットワーク装置毎に対応する検索プログラムを生成する検索プログラム生成処理と、
    前記検索プログラム生成処理で生成したネットワーク装置毎に対応する検索プログラムを、対応するネットワーク装置へ送信する検索プログラム送信処理と
    をコンピュータに実行させ、
    前記各ネットワーク装置で動作するプログラムは、さらに、
    前記検索プログラム送信処理で送信した検索プログラムを実行して、割り当てられたサーバに対してデータを検索する検索実行処理と、
    前記検索実行処理で検索した検索結果を前記コントローラへ送信する検索結果送信処理と
    をコンピュータに実行させ、
    前記コントローラで動作するプログラムは、さらに、
    前記各ネットワーク装置が備える前記検索結果送信処理で送信した検索結果を統合して、統合結果として出力する統合結果出力処理
    をコンピュータに実行させることを特徴とするデータ検索プログラム。
JP2013054974A 2013-03-18 2013-03-18 データ検索システム及びデータ検索プログラム Expired - Fee Related JP5538585B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013054974A JP5538585B1 (ja) 2013-03-18 2013-03-18 データ検索システム及びデータ検索プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013054974A JP5538585B1 (ja) 2013-03-18 2013-03-18 データ検索システム及びデータ検索プログラム

Publications (2)

Publication Number Publication Date
JP5538585B1 true JP5538585B1 (ja) 2014-07-02
JP2014182446A JP2014182446A (ja) 2014-09-29

Family

ID=51409429

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013054974A Expired - Fee Related JP5538585B1 (ja) 2013-03-18 2013-03-18 データ検索システム及びデータ検索プログラム

Country Status (1)

Country Link
JP (1) JP5538585B1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008084134A (ja) * 2006-09-28 2008-04-10 Toshiba Corp 検索システム、検索方法、および情報管理装置
JP2008243078A (ja) * 2007-03-28 2008-10-09 Toshiba Corp 分散データベースから情報を検索するシステム、装置、および方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000187595A (ja) * 1998-12-22 2000-07-04 Matsushita Electric Ind Co Ltd 携帯情報端末、その携帯情報端末のアプリケーション実行システム及び携帯情報端末のアプリケーション実行方法
JP3578092B2 (ja) * 2001-02-15 2004-10-20 日本電信電話株式会社 文書検索方法及びシステム及び文書検索プログラム及び文書検索プログラムを格納した記憶媒体
JP2004280298A (ja) * 2003-03-13 2004-10-07 Alpine Electronics Inc 車両間通信利用統計情報検索装置
JP4948558B2 (ja) * 2009-03-12 2012-06-06 株式会社三菱東京Ufj銀行 データ検索装置、データ検索方法およびプログラム
JP5100820B2 (ja) * 2010-11-25 2012-12-19 株式会社東芝 問合せ式変換装置、方法およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008084134A (ja) * 2006-09-28 2008-04-10 Toshiba Corp 検索システム、検索方法、および情報管理装置
JP2008243078A (ja) * 2007-03-28 2008-10-09 Toshiba Corp 分散データベースから情報を検索するシステム、装置、および方法

Also Published As

Publication number Publication date
JP2014182446A (ja) 2014-09-29

Similar Documents

Publication Publication Date Title
AU2021290403B2 (en) Mobile application based account aggregation
CN108683562B (zh) 异常检测定位方法、装置、计算机设备及存储介质
JP5815563B2 (ja) eコマーストランザクションデータ会計のための方法およびシステム
US8984125B2 (en) Computer program, method, and information processing apparatus for analyzing performance of computer system
US8531984B2 (en) Recording medium storing analysis program, analyzing method, and analyzing apparatus
US8224624B2 (en) Using application performance signatures for characterizing application updates
US9886195B2 (en) Performance-based migration among data storage devices
US8892510B2 (en) Analysis-program storing recording medium, analyzing apparatus, and analytic method
US20110071811A1 (en) Using event correlation and simulation in authorization decisions
US9760467B2 (en) Modeling application performance using evolving functions
US20180095819A1 (en) Incident analysis program, incident analysis method, information processing device, service identification program, service identification method, and service identification device
US20180097705A1 (en) Backend Resource Costs For Online Service Offerings
JP2016192185A (ja) なりすまし検出システムおよびなりすまし検出方法
JP5411226B2 (ja) 情報提供システム、リスト生成装置、プログラム、及び、ユーザ管理装置
CN111402000B (zh) 一种业务页面的生成方法、装置、系统及计算机系统
JP5538585B1 (ja) データ検索システム及びデータ検索プログラム
CN113064834B (zh) 异常检测方法、装置、电子设备、介质
US9141460B2 (en) Identify failed components during data collection
CN113032237A (zh) 数据处理方法及装置、电子设备和计算机可读存储介质
JP4884314B2 (ja) ビジネスプロセス管理装置及びビジネスプロセス管理プログラム
CN111930604B (zh) 联机交易性能分析方法及装置、电子设备和可读存储介质
JP2013114439A (ja) 分析装置および分析方法
JP2019032745A (ja) 情報処理装置、情報処理方法及びプログラム
KR101524356B1 (ko) 온라인 서비스의 성능분석 시스템 및 방법
JP6531597B2 (ja) 解析処理プログラム、解析処理方法および解析処理装置

Legal Events

Date Code Title Description
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: 20140422

R150 Certificate of patent or registration of utility model

Ref document number: 5538585

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140428

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

LAPS Cancellation because of no payment of annual fees