JP2009087190A - Stream data analysis speed-up device, method and program - Google Patents
Stream data analysis speed-up device, method and program Download PDFInfo
- Publication number
- JP2009087190A JP2009087190A JP2007258398A JP2007258398A JP2009087190A JP 2009087190 A JP2009087190 A JP 2009087190A JP 2007258398 A JP2007258398 A JP 2007258398A JP 2007258398 A JP2007258398 A JP 2007258398A JP 2009087190 A JP2009087190 A JP 2009087190A
- Authority
- JP
- Japan
- Prior art keywords
- analysis
- data
- sub
- unit
- speed
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、大量に、永続的に時々刻々と発生する情報を逐次的に分析するストリームデータ解析高速化装置、ストリームデータ解析高速化方法およびストリームデータ解析高速化プログラムに関し、特に、大量のセンサデータを複数のアプリケーションが同時に解析するストリームデータ解析高速化装置、ストリームデータ解析高速化方法およびストリームデータ解析高速化プログラムに関する。 The present invention relates to a stream data analysis speed-up device, a stream data analysis speed-up method, and a stream data analysis speed-up program that sequentially analyze a large amount of information that is constantly and momentarily generated, and particularly, a large amount of sensor data. The present invention relates to a stream data analysis acceleration device, a stream data analysis acceleration method, and a stream data analysis acceleration program.
大量のデータを複数のアプリケーションが同時に解析する手段として、データベース管理システム(DBMS)が広く利用されている。特に、DBMSの処理性能に応じてデータベースを利用するアプリケーションの性能も決定されるため、DBMSの処理性能の向上は極めて重要である。 A database management system (DBMS) is widely used as means for simultaneously analyzing a large amount of data by a plurality of applications. In particular, since the performance of an application that uses a database is also determined according to the processing performance of the DBMS, it is extremely important to improve the processing performance of the DBMS.
データベースは、多大な量のデータを扱うため、DBMSの実行環境の多くにおいては、DBMSが実行される計算機に対して大容量の記憶装置を接続し、記憶装置上にデータベースのデータを記憶する。そのため、データベースに関する処理を行う場合に、記憶装置に対してアクセスが発生し、記憶装置におけるデータアクセス性能がDBMSの性能を大きく左右する。従って、DBMSが稼動するシステムにおいて、記憶装置におけるアクセスの最適化が重要である。 Since a database handles a large amount of data, in many DBMS execution environments, a large-capacity storage device is connected to a computer on which the DBMS is executed, and the database data is stored on the storage device. For this reason, when processing related to the database is performed, access to the storage device occurs, and the data access performance in the storage device greatly affects the performance of the DBMS. Therefore, it is important to optimize access in a storage device in a system in which a DBMS operates.
特許文献1には、無駄なアクセスの削減や必要なデータの先読みにより、DBMSの性能を向上させる技術について開示されている。特許文献1には、ユーザからの問い合わせ処理を実行する部分において、問い合わせの実行プランやデータアクセス特性、メモリバッファ量、I/O負荷等を考慮して、プリフェッチ実行やその量の決定、メモリバッファ管理等を行うことによりI/Oアクセス性能を向上させてDBMSの性能を向上させることが記載されている。
特許文献2には、データベースが記憶する一部のデータをアクセス速度の高速なRAMメモリ上へ複写することでデータベースを高速化する技術が開示されている。特許文献2には、データベース管理専用のCPU1によって、各データベースファイルへアクセスした回数を常時集計し、ディスク上に置かれているデータベースの複数のテーブルの中から利用頻度の高いテーブルを適時に抽出し、自動的にアクセス速度の高速なRAMメモリ上へ複写することが記載されている。また、一般演算処理用CPU2からデータベースへアクセスする際は、RAM上のデータベースを優先的にアクセスする。これにより、データベースの平均アクセス時間の短縮、高速化を図ることができる。
特許文献3には、計算機がアクセスするために利用する論理的記憶装置を、実際にデータを記憶する物理的記憶装置上に配置する記憶装置において、論理的記憶装置の物理的記憶装置への配置を動的に変更することにより記憶装置のアクセス性能を向上する技術について開示されている。アクセス頻度が高い物理記憶装置に記憶されているデータの一部をの配置動的変更機能を用いて他の物理記憶装置に移動することにより、特定の物理記憶装置のアクセス頻度が高くならないようにし、これにより記憶装置を全体としてみたときの性能を向上させる。また、特許文献3には、配置動的変更機能による高性能化処理の自動実行方法についても開示されている。
In
特許文献1、2に記載されている方式では、高速化の効果をもたらしているのは、データアクセスのローカル性である。データベースの大量のデータに対して、現在の処理で何度もアクセスするデータ(以下、ワーキングデータ)はほんの一部である。そこで、特許文献1、2に記載されている方式では、ワーキングデータの処理にメモリなどのより早い記憶装置を利用し、あまりアクセスしないデータに対しては、ディスクなどの遅い記憶装置を利用することで、処理全体を高速化をはかっている。
In the systems described in
ここで、本発明で想定しているデータストリーム処理の、ワーキングデータについて検討する。まず、図28を参照して、本発明が対象とするデータストリーム処理について説明する。図28は、データストリーム処理の一例を説明するための説明図である。図28に示すように、データは常に流れている(このデータをイベントデータと呼ぶ)。一般的なストリームデータ解析装置は、イベントデータを逐次的に解析処理(図28に示す例では、解析関数F)に入力して解析結果を得る。多くの一般的なデータストリーム処理において、一般的なストリームデータ解析装置は、イベントデータひとつひとつを解析処理の入力にするのではなく、あるかたまりで解析処理に入力する。この入力するためのかたまりを、流れているイベントデータから取得するために、解析ウインドウが利用される。ここで、解析ウインドウとは、解析処理の入力に渡すイベントデータのかたまりを定義したものであり、期間やイベント数などで定義される。 Here, the working data of the data stream processing assumed in the present invention will be examined. First, with reference to FIG. 28, data stream processing targeted by the present invention will be described. FIG. 28 is an explanatory diagram for explaining an example of the data stream processing. As shown in FIG. 28, data always flows (this data is called event data). A general stream data analysis apparatus sequentially inputs event data to an analysis process (analysis function F in the example shown in FIG. 28) to obtain an analysis result. In many general data stream processes, a general stream data analysis apparatus does not input each event data as an input to the analysis process, but inputs it to the analysis process in a certain block. An analysis window is used to obtain the input chunk from the flowing event data. Here, the analysis window defines a group of event data to be passed to the input of analysis processing, and is defined by a period, the number of events, and the like.
図28には、一定時間単位に解析ウインドウが作られる場合を示している。この一定時間をスパンと呼ぶ。図28に示す例では、解析ウインドウ−t1のデータをまず解析処理Fに入力して解析結果を出力する。次に、解析ウインドウ−t2のデータを解析処理Fに入力して解析結果を出力する。以下同様の方法で解析ウインドウを時間的にずらしていき、解析処理Fの適用を繰り返す。 FIG. 28 shows a case where an analysis window is created in a fixed time unit. This fixed time is called a span. In the example shown in FIG. 28, the data of the analysis window-t1 is first input to the analysis process F and the analysis result is output. Next, the data of the analysis window-t2 is input to the analysis process F, and the analysis result is output. Thereafter, the analysis window is shifted in time by the same method, and the application of the analysis process F is repeated.
以上に説明したように、データストリーム処理とは、流れているデータに対して解析処理を繰り返し適用する計算方法である。各データから見れば、一度だけ解析処理のプロセスから読み込みのアクセスがあるだけであり、何度もアクセスされるわけではない。従って、ある一定期間アクセスが集中するワーキングデータはないと考えられる。あるいは、非常に短い時間しかワーキングデータとして有効ではないと考えられる。データストリーム処理では、ワーキングデータがないため、特許文献1、2記載された方式では、高速化の効果は期待できない。
As described above, data stream processing is a calculation method in which analysis processing is repeatedly applied to flowing data. From the viewpoint of each data, there is only read access from the analysis process once, not many times. Therefore, it is considered that there is no working data where access is concentrated for a certain period. Alternatively, it is considered that only a very short time is valid as working data. In the data stream processing, since there is no working data, the methods described in
特許文献3に記載されている技術は、ハードウエアの集中アクセスを分散させることで高速化をはかる技術である。逆に言えば、アクセスが集中している部分がないと効果がないといえる。
The technique described in
すでに説明したように、本発明で想定しているデータストリーム処理は、常にワーキングデータが変化する非常に分散された処理方法による処理であり、一定の記憶装置に集中的にアクセスすることはない。さらに、イベントデータなどの発生源は、RFID(Radio Frequency Identification)などのセンサであり、もともと物理的に分散している。以上のように、データストリーム処理では、特許文献3に記載されている技術による高速化の効果は期待できない。
As already described, the data stream processing assumed in the present invention is processing by a very distributed processing method in which working data always changes, and does not concentrate on accessing a certain storage device. Furthermore, the source of event data and the like is a sensor such as RFID (Radio Frequency Identification), which is physically dispersed from the beginning. As described above, in the data stream processing, the effect of speeding up by the technique described in
そこで、本発明は、大量に、永続的に時々刻々と発生する高速データストリームを、複数のアプリケーションで解析する場合において、可能な限り冗長な計算を省いて高速化をはかることができるストリームデータ解析高速化装置、ストリームデータ解析高速化方法およびストリームデータ解析高速化プログラムを提供することを目的とする。 Therefore, the present invention provides a stream data analysis that can eliminate a redundant calculation as much as possible when analyzing a large amount of a high-speed data stream that is generated constantly and constantly by a plurality of applications. An object is to provide a speed-up device, a stream data analysis speed-up method, and a stream data analysis speed-up program.
本発明によるストリームデータ解析高速化装置は、解析対象となるデータを時々刻々と出力するデータ出力手段が出力するデータを逐次的に分析する情報処理装置に適用されるストリームデータ解析高速化装置であって、データ出力手段が出力したデータを、データの発生時間を考慮して解析するために、時系列に記憶するデータ記憶手段と、データ記憶手段が記憶するデータを複数のアプリケーションとして並列に解析する手段であって、それぞれ解析のインスタンスが独立に動作するデータ解析手段と、複数のデータ解析手段に共通する下位の解析手段を提供するライブラリであって、複数のデータ解析の並列実行に関して、冗長な計算を省いて高速化をはかるイベントデータ解析ライブラリ手段とを備えたことを特徴とする。 A stream data analysis acceleration device according to the present invention is a stream data analysis acceleration device applied to an information processing device that sequentially analyzes data output by a data output means that outputs data to be analyzed every moment. In order to analyze the data output by the data output means in consideration of the generation time of the data, the data storage means stored in time series and the data stored in the data storage means are analyzed in parallel as a plurality of applications. A library that provides data analysis means in which each instance of analysis operates independently and a lower-level analysis means common to a plurality of data analysis means, and is redundant with respect to parallel execution of a plurality of data analysis And an event data analysis library means for speeding up the calculation.
本発明によるストリームデータ解析高速化方法は、時々刻々と出力されるデータを逐次的に分析するストリームデータ解析高速化方法であって、発生したイベントデータを管理する処理ステップであり、解析するために記憶手段に一時的に記憶し、必要がなくなれば記憶手段から削除するデータフロー処理と、データフロー処理で記憶しているイベントデータを複数の解析方法で並列に解析するイベントデータ解析処理と、イベントデータ解析処理を複数のサブタスクに分割し、複数のイベント解析処理に共通に利用されるサブタスクについては過去の計算結果を再利用することで解析を高速化するイベントデータ共通解析処理と、イベントデータ共通解析処理が高速に解析するために、過去の計算結果を記憶し、再利用の可能性をチェックするデータ再利用処理とを含み、データフロー処理、イベントデータ解析処理、イベントデータ共通解析処理およびデータ再利用処理を並列に動作させることを特徴とする。 The stream data analysis speed-up method according to the present invention is a stream data analysis speed-up method for sequentially analyzing data output every moment, and is a processing step for managing generated event data. Data flow processing for temporarily storing in the storage means and deleting from the storage means when no longer needed, event data analysis processing for analyzing event data stored in the data flow processing in parallel by a plurality of analysis methods, and events Data analysis processing is divided into multiple subtasks, and for subtasks commonly used for multiple event analysis processing, event data common analysis processing that speeds up analysis by reusing past calculation results and event data common In order for the analysis process to analyze at high speed, the past calculation results are stored and checked for reuse. That includes the data reuse processing, data flow processing, event data analyzing process, characterized in that to operate the event data common analysis and data reuse processing in parallel.
本発明によるストリームデータ解析高速化プログラムは、時々刻々と出力されるデータを逐次的に分析するためのストリームデータ解析高速化プログラムであって、コンピュータに、発生したイベントデータを管理し、解析するために記憶手段に一時的に記憶し、必要がなくなったときに記憶手段から削除するデータフロー処理と、データフロー処理で記憶しているイベントデータを複数の解析方法で並列に解析するイベントデータ解析処理と、イベントデータ解析処理を複数のサブタスクに分割し、複数のイベント解析処理に共通に利用されるサブタスクについては過去の計算結果を再利用することで解析を高速化するイベントデータ共通解析処理と、イベントデータ共通解析処理が高速に解析するために、過去の計算結果を記憶し、再利用の可能性をチェックするデータ再利用処理とを実行させることを特徴とする。 A stream data analysis acceleration program according to the present invention is a stream data analysis acceleration program for sequentially analyzing data that is output every moment, in order to manage and analyze event data generated by a computer. Data flow processing that temporarily stores data in the storage means and deletes it from the storage means when it is no longer needed, and event data analysis processing that analyzes event data stored in the data flow processing in parallel using multiple analysis methods Event data analysis processing is divided into multiple subtasks, and event data common analysis processing that speeds up analysis by reusing past calculation results for subtasks commonly used for multiple event analysis processing, In order for the event data common analysis processing to analyze at high speed, the past calculation results are stored and reused. Characterized in that to execute the data reuse process for checking the possibility of.
本発明によれば、大量に、永続的に時々刻々と発生する高速データストリームを、複数のアプリケーションで解析する場合において、可能な限り冗長な計算を省いて高速化をはかることができるという効果がある。 Advantageous Effects of Invention According to the present invention, when analyzing a large amount of a high-speed data stream that is generated constantly and momentarily with a plurality of applications, it is possible to increase the speed by eliminating redundant calculations as much as possible. is there.
実施形態1.
以下、本発明の第1の実施形態を図面を参照して説明する。図1は、第1の実施形態のストリームデータ解析高速化装置の構成例を示すブロック図である。
A first embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram illustrating a configuration example of the stream data analysis speed-up device according to the first embodiment.
ストリームデータ解析高速化装置は、大量に、永続的に時々刻々と発生する情報(ストリームデータ)を逐次的に分析する情報処理装置に適用され、特に、大量のセンサデータを複数のアプリケーションが同時に解析する情報処理装置に適用される。 Stream data analysis acceleration devices are applied to information processing devices that sequentially analyze large amounts of information (stream data) that is generated constantly and momentarily. Especially, multiple applications can analyze a large amount of sensor data simultaneously. Applied to an information processing apparatus.
図1に示すストリームデータ解析高速化装置は、センサ1と、解析用キュー2と、データ解析手段3と、イベントデータ解析ライブラリ手段4とを備える。ストリームデータ解析高速化装置がこれらの機能を有することにより、データ解析手段3の高速化が期待できる。
The stream data analysis acceleration device shown in FIG. 1 includes a
センサ1は、解析対象となるデータを時々刻々と発生させる。すなわち、センサ1は、所定の検出値を所定の信号に変換し、データとして解析用キュー2に出力する。以下、センサ1がデータを出力することを、センサ1がデータを発生させると表記する場合がある。
The
解析用キュー2は、センサ1からのデータを、データの発生時間を考慮して解析するために時系列に記憶する。解析用キュー2は、例えば、メモリ等の記憶部で実現される。以下、解析用キュー2が記憶するデータを、「解析用キュー2のデータ」と表記する場合がある。
The
データ解析手段3は、解析用キュー2のデータを解析するアプリケーションである。ストリームデータ解析高速化装置は、例えば、複数のデータ解析手段3を有する。それぞれのデータ解析手段3において、解析のインスタンスは独立に動作する。
The data analysis means 3 is an application that analyzes data in the
イベントデータ解析ライブラリ手段4は、複数のデータ解析手段3に共通のサブ(下位)の解析手段を提供するライブラリである。イベントデータ解析ライブラリ手段4は、複数のデータ解析の並列実行に関して、可能な限り冗長な計算を省いて高速化をはかるためのライブラリである。 The event data analysis library means 4 is a library that provides sub (lower) analysis means common to the plurality of data analysis means 3. The event data analysis library means 4 is a library for speeding up the parallel execution of a plurality of data analyzes by eliminating redundant calculations as much as possible.
イベントデータ解析ライブラリ手段4は、サブ解析インタフェース手段401と、サブ解析方法決定手段402と、サブ解析手段403と、サブ解析結果共有メモリ404とを含む。
The event data analysis library means 4 includes sub-analysis interface means 401, sub-analysis method determination means 402, sub-analysis means 403, and sub-analysis result shared
サブ解析インタフェース手段401は、データ解析手段3がイベントデータ解析ライブラリ手段4を利用する際のインタフェースを提供する。
The sub
サブ解析方法決定手段402は、サブ解析インタフェース手段401が呼び出された際に、解析用キュー2が記憶するデータを使って計算をするのか、過去の計算結果を流用するのかを判断する。
When the
サブ解析手段403は、サブ解析インタフェース手段401が提供するサブの解析に関して、解析用キュー2のデータを使って解析する。
The
サブ解析結果共有メモリ404は、サブ解析手段403の解析結果を時間軸を考慮しながら再利用のために一時的に記憶する。
The sub-analysis
センサ1は、解析対象のデータを出力する手段であり、時々刻々とデータを出力する手段であれば何でも構わない。センサ1は、例えば、1分間隔に気温データを出力する手段や、RFID(Radio Frequency Identification)システムのように商品情報が書き込まれたICチップの情報をリーダで読み取り、データを発生させる手段などであってもよい。
The
以下の説明では、センサ1が出力したデータをイベントデータと呼ぶ。イベントデータの形式は特に問わないが、「時間:イベントが発生した日時」および「内容:発生したイベントの情報」のフィールドを持つものとする。
In the following description, data output from the
解析用キュー2は、複数のセンサ1からのイベントデータをひとつの系列にして記憶する。イベントデータは時々刻々と発生するため、古いイベントデータから順にメモリ(解析用キュー2)から削除していく必要がある。この実現には、リングバッファと呼ばれる方式を使用すれば良い。
The
図2は、リングバッファ方式の一例を説明するための説明図である。リングバッファ方式は、図2に示すように、メモリを円上に配置したように扱い、次にデータを格納するメモリの位置を示すWtite Pointerと、次にデータを読むメモリの位置を示すRead Pointerとを持つ方式である。リングバッファ方式では、一定方向(図では右回り)にデータの格納、読み出しを行うため、Write Pointer、Read Pointer共にアクセスするたびに同じ方向に移動する。図2に示す例では、メモリに1から8までのインデックスが付けられている。図2(a)は、インデックス1から格納しインデックス3まで格納されている状態であり、Wtite Pointerは4番目を指している。図2(b)は、8番目まですべてのメモリを使ってしまった状態である。Write Pointerは1番目を指すため、次の書き込みで1番目のデータが上書きされる。リングバッファ方式を用いることで、時々刻々と発生するイベントデータを、古いイベントデータから順にメモリから削除しながら管理することができる。なお、Write PointerがReadPointerを追い抜く、すなわち、まだ読んでいないデータが上書きされてしまうことがないように十分なメモリサイズが必要である。
FIG. 2 is an explanatory diagram for explaining an example of the ring buffer system. As shown in FIG. 2, the ring buffer method treats the memory as if it were arranged on a circle, and a Wtite Pointer that indicates the position of the memory that stores data next, and a Read Pointer that indicates the position of the memory that reads data next. It is a method with. In the ring buffer method, data is stored and read in a certain direction (clockwise in the figure), so that the data moves in the same direction every time both the Write Pointer and Read Pointer are accessed. In the example shown in FIG. 2, the memory is indexed from 1 to 8. FIG. 2A shows a state where
データ解析手段3には、複数のインスタンスがあり、それぞれにIDが割り振られているとする。このIDを使って、他の手段からデータ解析手段3のインスタンスを特定してコミュニケーションができる(第2の実施形態における解析データシフト手段406で利用する)。 It is assumed that the data analysis means 3 has a plurality of instances, and an ID is assigned to each instance. Using this ID, it is possible to communicate by specifying an instance of the data analysis means 3 from another means (used by the analysis data shift means 406 in the second embodiment).
データ解析手段3は、解析するデータを定義する解析ウインドウをインスタンス毎に記憶する。解析ウインドウは、開始情報と、スパン情報と、スライド情報とを含む情報であって、解析対象となるデータの解析単位を示す情報である。 The data analysis means 3 stores an analysis window that defines data to be analyzed for each instance. The analysis window is information including start information, span information, and slide information, and is information indicating an analysis unit of data to be analyzed.
開始情報は、解析ウインドウの開始ポインタであって、イベントデータの時系列のオフセット値に相当する。スパン情報は、解析ウインドウのサイズを示す情報である。従って、解析ウインドウのイベントデータは、開始情報のイベントデータから開始情報+スパン情報までのイベントデータである。スライド情報は、ある解析が終了し、次の解析へ移るときに、解析ウインドウを移動させる幅を示す情報である。 The start information is a start pointer of the analysis window and corresponds to a time-series offset value of event data. The span information is information indicating the size of the analysis window. Therefore, the event data in the analysis window is event data from start information event data to start information + span information. The slide information is information indicating a width to move the analysis window when a certain analysis is completed and the next analysis is performed.
なお、これらの値の記述は、時間軸で指定する方法と、データの個数で指定する方法がある。例えば、開始情報の場合、時間軸で指定する場合には日時を指定し、データの個数で指定する場合には、イベントデータに通し番号をうち、この番号で指定する。第1の実施形態では、時間軸で指定する方法で説明するが、データの個数で指定しても同様に処理ができる。また、ストリームデータ解析高速化装置全体では、時計をもっており時間や期間は測定できるものとする。 In addition, there are a method of specifying these values by a time axis and a method of specifying by the number of data. For example, in the case of start information, date and time are specified when specifying on the time axis, and when specifying by the number of data, a serial number is specified for event data by this number. In the first embodiment, a method of designating on the time axis will be described. However, processing can be performed in the same manner even if designated by the number of data. The entire stream data analysis speed-up device has a clock and can measure time and duration.
データ解析手段3の各インスタンスの動作について説明する。各インスタンスは、以下の処理を繰り返す。
The operation of each instance of the
第1のステップで、インスタンスは、解析用キュー2からイベントデータを取得する。この際、複数のデータを一度に取得することが一般的な解析方法であり、解析ウインドウを利用する。解析ウインドウは、解析用キュー2のデータからデータ解析手段3に入力するデータの範囲を表す。インスタンスは、古いデータから順に解析ウインドウをスライドさせてイベントデータを取得する。図28に示す例では、解析ウインドウ−t1が示す範囲が、最初に第1のステップで取得されるイベントデータである。以後、第1のステップを繰り返し実行するたびに、解析ウインドウ−t2、解析ウインドウ−t3という具合にスライドさせてイベントデータを取得する。
In the first step, the instance acquires event data from the
第2のステップで、インスタンスは、取得したイベントデータを解析する。インスタンスは、第1のステップで得られたイベントデータの集合を入力し、解析をして結果を出力する。通常、複数のデータ解析手段3のインスタンスが並行して解析用キュー2のデータを解析する。
In the second step, the instance analyzes the acquired event data. The instance receives the set of event data obtained in the first step, analyzes it, and outputs the result. Usually, a plurality of instances of the data analysis means 3 analyze the data in the
図3は、インスタンスが並行してデータを解析する処理(並列解析)の一例を説明するための説明図である。図3には、各インスタンスが、解析関数Fによる解析処理と、解析関数Gによる解析処理と、解析関数Hによる解析処理とを行う場合を例示する。図3に示すように、基本的に各インスタンスは独立に動作し、解析ウインドウの定義も同じとは限らない。図3に示す例では、解析G、解析F、解析Hの順にスパンが小さい。複数のデータ解析手段3のインスタンスが独立に並行して解析するためには、各データ解析手段3のインスタンスがどこまで解析したのかを独自に管理する必要がある。これは、次に解析する解析ウインドウのリングバッファのRead Pointerを、データ解析手段3のインスタンス毎に解析ウインドウの開始情報と対応させることで実現できる。図4は、並列解析におけるリングバッファ方式の一例を説明するための説明図である。 FIG. 3 is an explanatory diagram for explaining an example of processing (parallel analysis) in which instances analyze data in parallel. FIG. 3 illustrates a case where each instance performs an analysis process using the analysis function F, an analysis process using the analysis function G, and an analysis process using the analysis function H. As shown in FIG. 3, each instance basically operates independently, and the definition of the analysis window is not necessarily the same. In the example shown in FIG. 3, the span is small in the order of analysis G, analysis F, and analysis H. In order to analyze the instances of the plurality of data analysis means 3 independently and in parallel, it is necessary to independently manage to what extent each instance of the data analysis means 3 has analyzed. This can be realized by making the Read Pointer of the ring buffer of the analysis window to be analyzed next correspond to the start information of the analysis window for each instance of the data analysis means 3. FIG. 4 is an explanatory diagram for explaining an example of a ring buffer method in parallel analysis.
第1の実施形態では、解析の具体例を示すために、一次元の最小二乗法により説明する。図5は、最小二乗法の一例を説明するための説明図である。一次元の最小二乗法は、ある一定期間のイベントデータの組を特定の一次関数を用いて近似する方法であり、一次近似関数が各イベントデータの値に対してよい近似となるように、残差の二乗和を最小とするような係数を決定する方法である。図5に示す例では、横軸に時間を表し、縦軸にイベントデータの値を表している。図5に示す例では、t1からtnの合計n個のイベントデータが解析対象のデータである。このとき、図5に示す直線式で近似することが一次元の最小二乗法である。この近似直線は、将来、例えば、時間txのイベントデータの値を予測することに利用できる。 In the first embodiment, a one-dimensional least square method will be described to show a specific example of analysis. FIG. 5 is an explanatory diagram for explaining an example of the least square method. The one-dimensional least-squares method is a method of approximating a set of event data for a certain period using a specific linear function, and the residual function is used so that the linear approximation function is a good approximation to the value of each event data. This is a method for determining a coefficient that minimizes the sum of squares of differences. In the example shown in FIG. 5, the horizontal axis represents time, and the vertical axis represents event data values. In the example shown in FIG. 5, a total of n event data from t1 to tn is data to be analyzed. At this time, the one-dimensional least square method is approximated by the linear equation shown in FIG. This approximate straight line can be used to predict the value of event data at time tx in the future, for example.
近似直線の求め方は広く開示されている。以下、近似直線の求め方について説明する。
まず、一時変数AからEを求める。
A=SUM[(Y_ti)*(Y_ti)]
B=SUM[(X_ti)*(X_ti)]
C=SUM[Y_ti]
D=SUM[Y_ti*X_ti]
E=SUM[X_ti]
The method for obtaining the approximate straight line is widely disclosed. Hereinafter, a method for obtaining the approximate straight line will be described.
First, E is obtained from temporary variables A to E.
A = SUM [(Y_ti) * (Y_ti)]
B = SUM [(X_ti) * (X_ti)]
C = SUM [Y_ti]
D = SUM [Y_ti * X_ti]
E = SUM [X_ti]
なお、Y_tiは、時刻tiのイベントデータの値を意味し、X_tiは時刻tiの値を意味し、SUMはiを1からnまで変化させた和を意味する。 Y_ti means the value of event data at time ti, X_ti means the value of time ti, and SUM means the sum obtained by changing i from 1 to n.
近似関数を、y=aX+bとしたとき、係数a、bの値は以下の式で計算できる。
a = (nD - CE) / (nB - E*E)
b = (BC - DE) / (nB - E*E)
When the approximate function is y = aX + b, the values of the coefficients a and b can be calculated by the following equations.
a = (nD-CE) / (nB-E * E)
b = (BC-DE) / (nB-E * E)
なお、説明を簡単にするために以後、一次元の最小二乗法で説明するが、この解析方法に限ったわけではない。 In order to simplify the description, the one-dimensional least square method will be described below, but the analysis method is not limited to this.
第3のステップで、インスタンスは、解析ウインドウを変更する。第2のステップの解析が終了すると、インスタンスは、解析ウインドウをスライドパラメータに従って変更する。スライドのさせ方は、解析方法依存であり特に限定しない。 In the third step, the instance changes the analysis window. When the analysis of the second step is finished, the instance changes the analysis window according to the slide parameters. The method of sliding depends on the analysis method and is not particularly limited.
図6は、解析ウインドウのスライディングの例を説明するための説明図である。図6(a)に示すように、スパンとスライドを同じ値にして、すべてのデータを一度だけ処理する場合もあれば、図6(b)に示すように、解析ウインドウが重なり合う場合もあれば、図6(c)に示すように、処理されないデータがある場合もある。解析ウインドウを変更した後は、第1のステップに戻る。 FIG. 6 is an explanatory diagram for explaining an example of sliding analysis windows. As shown in FIG. 6 (a), the span and slide may be set to the same value, and all the data may be processed only once. As shown in FIG. 6 (b), the analysis windows may overlap. As shown in FIG. 6C, there may be data that is not processed. After changing the analysis window, the process returns to the first step.
イベントデータ解析ライブラリ手段4は、データ解析手段3と解析用キュー2との間に入って、データ解析手段3の解析の高速化をはかる手段である。以下、各データ解析手段3をサブのタスクに分けたとき、共通の処理が含まれていることを前提とする。データ解析手段3は、例えば、統計処理などを実行することが多く、平均、分散、標準偏差といった解析処理がサブタスクとして考えられる。また、最小二乗法では、一時変数C,Eの算出のような、値の合計の算出や、一時変数A,Bの算出のような、二乗平均の合計の算出などの処理がサブタスクとなる。
The event data
ここで注意が必要なのは、一般的なシステムにイベントデータ解析ライブラリ手段4を構成に加えるだけでは、本発明の効果は得られない点である。図7は、ストリームデータ解析装置の構成例を比較するための説明図である。図7(a)に、イベントデータ解析ライブラリ手段4を利用しない一般的なシステム構成を示す。図7(b)に、イベントデータ解析ライブラリ手段4を利用した第1の実施形態のシステム構成を示す。 It should be noted here that the effect of the present invention cannot be obtained simply by adding the event data analysis library means 4 to the configuration of a general system. FIG. 7 is an explanatory diagram for comparing a configuration example of the stream data analysis apparatus. FIG. 7A shows a general system configuration that does not use the event data analysis library means 4. FIG. 7B shows a system configuration of the first embodiment using the event data analysis library means 4.
データ解析手段3の実現方法として、イベントデータ解析ライブラリ手段4をサブタスクとして呼び出しながら実装するようにソースコードのレベルで実装する。図7に示す例では、データ解析手段3が実行する解析処理F()には、サブタスクとして、イベントデータ解析ライブラリ手段4を利用することにより実行可能なSub-l() とSub-m() とが実装されている。一般的な方式では、これらのサブタスクは、すべてF()の中に実装される。本発明は、イベントデータ解析ライブラリ手段4を利用することを前提に作られたデータ解析手段3を高速化する。
As an implementation method of the data analysis means 3, the event data analysis library means 4 is implemented at the source code level so as to be implemented while calling as a subtask. In the example shown in FIG. 7, the analysis process F () executed by the
以下、イベントデータ解析ライブラリ手段4内の構成に関して説明する。 Hereinafter, the configuration in the event data analysis library means 4 will be described.
サブ解析インタフェース手段401は、イベントデータ解析ライブラリ手段4のAPI(Application Interface )であり、イベントデータ解析ライブラリ手段4が実装するサブタスクの一覧を示す。
The
図7に示す例では、Sub-l() 、Sub-m() 、Sub-n() 、Sub-o() の4つのサブタスクが公開されている。実現方法は、通常のライブラリのAPIと同様である。例えば、データ解析手段3が、公開されているサブタスク名で呼び出しを行い、コンパイル時にリンカがこのサブタスク名をイベントデータ解析ライブラリ手段4内の関数ポインタに変換することにより、サブタスクを実行することができる。 In the example shown in FIG. 7, four subtasks of Sub-l (), Sub-m (), Sub-n (), and Sub-o () are disclosed. The realization method is the same as the API of a normal library. For example, the data analysis means 3 makes a call with the public subtask name, and the linker can convert the subtask name into a function pointer in the event data analysis library means 4 at the time of compilation, thereby executing the subtask. .
サブタスクのインタフェースのパラメータは、解析対象のデータである。解析対象のデータは、解析ウインドウを指定する。すなわち、サブ解析インタフェース手段401は、解析ウインドウで示される解析対象のデータをパラメータとして入力する。
The parameters of the subtask interface are data to be analyzed. An analysis window is designated for the data to be analyzed. That is, the
図8は、サブ解析結果共有メモリ404の登録例を示す説明図である。サブ解析結果共有メモリ404は、サブタスク名404−1、種類404−2、開始情報404−3、スパン404−4および計算結果404−5を含む情報を記憶する。
FIG. 8 is an explanatory diagram illustrating an example of registration in the sub-analysis result shared
サブタスク名404−1は、サブ解析インタフェース手段401が扱うサブタスクの名前を意味する。種類404−2は、解析ウインドウの種類を意味し、「期間」「個数」のいずれかの値をとる。開始情報404−3は、解析ウインドウの先頭の情報を意味する。期間の場合は、時刻であって、個数の場合は、イベントデータの通し番号である。スパン404−4は、解析ウインドウのスパンの情報を意味する。期間の場合は、時間であって、個数の場合は、イベントデータの数である。計算結果404−5は、再利用する計算結果を意味する。
The subtask name 404-1 means the name of the subtask handled by the
図8に示す例では、第1レコードは、X合計という名前のサブタスクを、期間で解析ウインドウをとり、時刻10:00:00から、10:01:00までのイベントデータを計算した結果が、123であることを意味している。 In the example shown in FIG. 8, the first record has a subtask named X total, an analysis window in the period, and the result of calculating event data from time 10:00:00 to 10:01:00, 123.
尚、サブ解析結果共有メモリ404が記憶するデータの検索、挿入は、サブ解析方法決定手段402が行う。サブ解析方法決定手段402の動作については後述する。
The sub-analysis
サブ解析手段403は、サブ解析インタフェース手段401が公開しているサブタスクを実行する手段である。サブ解析手段403は、サブ解析インタフェース手段401から、サブタスク名と解析対象とする解析ウインドウのパラメータを受け取り、解析用キュー2のデータを解析する。
The
サブ解析方法決定手段402は、イベントデータ解析ライブラリ手段4内の動作のメイン制御部の働きをする。図9は、サブ解析方法決定手段402の動作の一例を示すフローチャートである。
The sub-analysis
ステップS402−1において、データ解析手段3は、サブ解析インタフェース手段401を通してサブタスクを呼び出す。データ解析手段3は、サブタスクの呼び出し時に、サブタスク名と解析対象データを特定するためのパラメータである解析ウインドウの情報とをサブ解析インタフェース手段401に渡す。
In step S402-1, the
ステップS402−2において、サブ解析方法決定手段402は、サブ解析結果共有メモリ404を検索して、再利用できる計算結果を検索する。サブ解析方法決定手段402は、例えば、各フィールド毎に以下に示す条件をAND条件で検索する。例えば、サブ解析方法決定手段402は、「サブタスク名404−1が、ステップS402−1で呼び出されたサブタスク名であること」、「種類404−2が、ステップS402−1で呼び出された解析ウインドウ情報の種類の値であること」、「開始情報404−3が、ステップS402−1で呼び出された解析ウインドウ情報の開始情報の値であること」および「スパン404−4が、ステップS402−1で呼び出された解析ウインドウ情報のスパン情報の値あること」の全ての条件を満たすデータをサブ解析結果共有メモリ404から抽出する。尚、サブ解析結果共有メモリ404への登録方法が、上記の条件で見つからなかったときに限り、ステップS402−5にてレコードを登録するため、この検索結果は、高々1つである。
In step S402-2, the sub-analysis
ステップS402−3において、サブ解析方法決定手段402は、サブ解析結果共有メモリ404を検索した結果に基づいて、データを再利用可能か否かを判断する。検索結果が見つかれば、再利用可能であり(YES)、ステップS402−6へ進む。検索結果が見つからなければ、再利用不可能であり(NO)、ステップS402−4へ進み、解析用キューのデータを解析する。
In step S402-3, the sub-analysis
再利用不可能な場合、サブ解析手段403は、ステップS402−4において、解析ウインドウによる条件に基づいて解析用キュー2のデータを取得して、サブタスク名に相当する解析を実行する。サブ解析方法決定手段402は、解析を実行して、計算結果として出力する。
If the data cannot be reused, in step S402-4, the
ステップS402−5において、サブ解析手段403は、ステップS402−4の計算結果を再利用するために、サブ解析方法決定手段402を介してサブ解析結果共有メモリ404に登録する。
In step S402-5, the
ステップS402−4で算出した計算結果の登録方法について説明する。サブ解析方法決定手段402は、サブ解析結果共有メモリ404において新規にレコードを追加し、以下の値を登録する。すなわち、サブ解析方法決定手段402は、サブタスク名404−1として、ステップS402−1で呼び出されたサブタスク名を登録し、種類404−2として、ステップS402−1で呼び出された解析ウインドウ情報の種類の値を登録し、開始情報404−3として、ステップS402−1で呼び出された解析ウインドウ情報の開始情報の値を登録し、スパン404−4として、ステップS402−1で呼び出された解析ウインドウ情報のスパン情報の値を登録し、計算結果404−5として、ステップS402−4で算出した計算結果を登録する。
A method for registering the calculation result calculated in step S402-4 will be described. The sub-analysis
サブ解析方法決定手段402は、ステップS402−6において、呼び出し元であるデータ解析手段3にサブタスクの計算結果を返す。サブ解析方法決定手段402は、計算結果として、ステップS402−2で検索されたレコードにおける計算結果か、ステップS402−4で計算された計算結果を返す。すなわち、サブ解析方法決定手段402は、データを再利用可能である場合には、ステップS402−2で検索された計算結果をデータ解析手段3に返し、データを再利用不可能である場合には、ステップS402−4で計算された計算結果ををデータ解析手段3に返す。
In step S402-6, the sub-analysis
なお、ストリームデータ解析高速化装置は、コンピュータで実現可能であり、ストリームデータ解析高速化装置を構成する各構成要素、すなわち、データ解析手段3およびイベントデータ解析ライブラリ手段4は、コンピュータの処理装置(CPU)に上述した機能を実現させるためのプログラムとして実現可能である。ストリームデータ解析高速化装置を構成する各構成要素がコンピュータで実現可能であること、およびプログラムとして実現可能であることは、第1の実施の形態に限らず、他の実施の形態でも同様である。 The stream data analysis speed-up device can be realized by a computer, and each component constituting the stream data analysis speed-up device, that is, the data analysis means 3 and the event data analysis library means 4 are computer processing devices ( CPU) can be realized as a program for realizing the functions described above. The fact that each component constituting the stream data analysis acceleration device can be realized by a computer and can be realized as a program is not limited to the first embodiment, but is the same in other embodiments. .
次に、図10を参照して第1の実施形態の動作について説明する。図10は、第1の実施形態におけるストリームデータ解析高速化装置の動作の一例を示すフローチャートである。第1の実施形態では、データフロー処理F1と、イベントデータ解析処理F2と、イベントデータ共通解析処理F3と、データ再利用処理F4とが並列に動作する。例えば、ストリームデータ解析高速化装置の制御部(図示せず。)が、データフロー処理F1と、イベントデータ解析処理F2と、イベントデータ共通解析処理F3と、データ再利用処理F4とを並列に動作させる。 Next, the operation of the first embodiment will be described with reference to FIG. FIG. 10 is a flowchart showing an example of the operation of the stream data analysis speed-up device in the first embodiment. In the first embodiment, the data flow process F1, the event data analysis process F2, the event data common analysis process F3, and the data reuse process F4 operate in parallel. For example, the control unit (not shown) of the stream data analysis acceleration device operates in parallel the data flow process F1, the event data analysis process F2, the event data common analysis process F3, and the data reuse process F4. Let
データフロー処理F1は、発生したイベントデータを管理する処理ステップであり、解析するためにメモリに一時的に記憶し、必要がなくなればメモリから削除する処理である。 The data flow process F1 is a process step for managing generated event data, and is a process for temporarily storing the event data in a memory for analysis and deleting it from the memory when it is no longer necessary.
イベントデータ解析処理F2は、データフロー処理F1で記憶しているイベントデータを複数の解析方法で並列に解析する処理である。 The event data analysis process F2 is a process of analyzing the event data stored in the data flow process F1 in parallel by a plurality of analysis methods.
イベントデータ共通解析処理F3は、イベントデータ解析処理F2を複数のサブタスクに分割し、複数のイベント解析処理に共通に利用されるサブタスクについては過去の計算結果を再利用することで解析を高速化する処理である。 The event data common analysis process F3 speeds up the analysis by dividing the event data analysis process F2 into a plurality of subtasks and reusing past calculation results for the subtasks commonly used in the plurality of event analysis processes. It is processing.
データ再利用処理F4は、イベントデータ共通解析処理F3が高速に解析するために、過去の計算結果を記憶しこの再利用の可能性をチェックする処理である。 The data reuse process F4 is a process for storing past calculation results and checking the possibility of reuse in order for the event data common analysis process F3 to analyze at high speed.
データフロー処理F1は、センサ1と解析用キュー2を使って実現すればよい。
The data flow process F1 may be realized using the
イベントデータ解析処理F2は、データ解析手段3で実現される。データ解析手段3は、複数のインスタンスからなり、通常、複数のインスタンスが並行に解析を実行する。図10に示すように、データ解析手段3は、例えば、解析Fと解析Gとを並行して実行する。各解析インスタンスは、2つのサブの解析処理として、個別解析処理F21または共通解析処理F22を実行する。
The event data analysis process F2 is realized by the data analysis means 3. The data analysis means 3 consists of a plurality of instances, and usually a plurality of instances execute analysis in parallel. As shown in FIG. 10, the
個別解析処理F21は、イベントデータ共通解析処理F3を利用せずに直接データフロー処理F1と連携して解析をする処理である。一般的な手法であり高速化の効果はない。 The individual analysis process F21 is a process for performing an analysis in cooperation with the data flow process F1 directly without using the event data common analysis process F3. This is a general method and does not have the effect of speeding up.
共通解析処理F22は、イベントデータ共通解析処理F3を利用して高速解析する処理である。 The common analysis process F22 is a process for performing high-speed analysis using the event data common analysis process F3.
個別解析処理F21、共通解析処理F22のいずれの処理を実行するかの区別は、動的に決まるのではなく静的に決定される。すなわち、イベントデータ共通解析処理F3の処理内容の一覧は事前に公開されていることから、イベントデータ解析処理F2の中の一部の処理を、イベントデータ共通解析処理F3を利用して実行するように実装する。 The distinction between the individual analysis process F21 and the common analysis process F22 to be executed is determined not statically but statically. That is, since the list of the processing contents of the event data common analysis process F3 is disclosed in advance, a part of the event data analysis process F2 is executed using the event data common analysis process F3. To implement.
イベントデータ共通解析処理F3は、イベントデータ解析ライブラリ手段4を使って実装すればよい。イベントデータ共通解析処理F3は、システム起動時には動作していない。イベントデータ解析処理F2から、イベントデータ解析ライブラリ手段4への呼び出しがあったタイミングで、呼び出しを処理するインスタンスが生成され動作する。 The event data common analysis process F3 may be implemented using the event data analysis library means 4. The event data common analysis process F3 does not operate when the system is started. At the timing when the event data analysis processing F2 calls the event data analysis library means 4, an instance for processing the call is generated and operated.
全体の動作フローは、イベントデータ解析ライブラリ手段4のメイン制御部であるサブ解析方法決定手段402の処理フロー(図9参照。)である。なお、この処理フローが終了すると、このインスタンスは消滅する。また、この処理フローにおける計算結果の求め方として、次の2つの方法がある。
The overall operation flow is a processing flow (see FIG. 9) of the sub-analysis
1つは、イベントデータから計算する方法F31であって、データフロー処理F1と連携してイベントデータを解析する方法である。 One is a method F31 of calculating from event data, and is a method of analyzing event data in cooperation with the data flow processing F1.
もう1つは、過去の計算結果を再利用する方法F32であって、データ再利用処理F4と連携して過去の計算結果を再利用する方法である。 The other is a method F32 for reusing past calculation results, which is a method for reusing past calculation results in cooperation with the data reuse processing F4.
イベントデータから計算する方法F31、過去の計算結果を再利用する方法F32のいずれの処理を実行するかの区別は、図9のステップS402−3の条件分岐により行う。 Whether the method F31 for calculating from event data or the method F32 for reusing past calculation results is executed is determined by conditional branching in step S402-3 in FIG.
データ再利用処理F4は、サブ解析結果共有メモリ404で実現すればよい。
The data reuse process F4 may be realized by the sub-analysis result shared
以上に説明したように、第1の実施形態によれば、複数のデータ解析手段に共通の部分解析処理を高速に処理できるという効果がある。その理由は、複数のデータ解析の並列実行に関して、過去の計算結果を再利用するイベントデータ解析ライブラリ手段を有するからである。すなわち、複数のデータ解析処理の並列実行において、過去の計算結果を再利用するため、処理を高速に行うことができる。 As described above, according to the first embodiment, there is an effect that a partial analysis process common to a plurality of data analysis means can be processed at high speed. The reason is that it has event data analysis library means for reusing past calculation results for a plurality of data analysis executions in parallel. That is, in the parallel execution of a plurality of data analysis processes, the past calculation results are reused, so that the processing can be performed at high speed.
実施形態2.
次に、本発明の第2の実施形態を図面を参照して説明する。図11は、第2の実施形態のストリームデータ解析高速化装置の構成例を示すブロック図である。
Next, a second embodiment of the present invention will be described with reference to the drawings. FIG. 11 is a block diagram illustrating a configuration example of the stream data analysis speed increasing device according to the second embodiment.
図11を参照すると、本発明の第2の実施形態は、第1の実施形態のイベントデータ解析ライブラリ手段4には設けられていない最新呼出履歴手段407と、データ解析スケジューリング手段405と、解析データシフト手段406とを含む。図11に示すように構成することにより、サブ解析結果共有メモリ404で記憶している過去の計算結果の再利用率が増加し、さらに高速化が期待できる。
Referring to FIG. 11, the second embodiment of the present invention is the latest call history means 407, data analysis scheduling means 405, analysis data that are not provided in the event data analysis library means 4 of the first embodiment. Shift means 406. By configuring as shown in FIG. 11, the reuse rate of the past calculation results stored in the sub-analysis result shared
最新呼出履歴手段407は、データ解析手段3がサブ解析インタフェース手段401を呼び出した履歴の中で最新のものを常に記憶する記憶手段である。
The latest call history unit 407 is a storage unit that always stores the latest one in the history of the
データ解析スケジューリング手段405は、複数のデータ解析手段3が並列にかつ互いに独立に実行している状況に対して、互いに解析ウインドウを同期させる。 The data analysis scheduling means 405 synchronizes the analysis windows with respect to a situation where the plurality of data analysis means 3 are executed in parallel and independently of each other.
解析データシフト手段406は、データ解析スケジューリング手段405の結果を受けて、各データ解析手段3が保持している解析ウインドウを時間軸でずらす。
The analysis data shift
データ解析スケジューリング手段405の目的を図12、図13を使って説明する。図12は、解析ウインドウの同期が取れていない場合の例を説明するための説明図である。図12に示す例では、解析Aの解析ウインドウを実線で表し、解析Bの解析ウインドウを波線で表している。共に解析ウインドウの種類(期間あるいは個数)、スパンは同じであり、開始情報が異なる。開始のタイミングが異なっているために、これら2つの解析の間では、サブ解析結果共有メモリ404を使った再利用は行われない。
The purpose of the data analysis scheduling means 405 will be described with reference to FIGS. FIG. 12 is an explanatory diagram for explaining an example in which the analysis windows are not synchronized. In the example shown in FIG. 12, the analysis window of analysis A is represented by a solid line, and the analysis window of analysis B is represented by a wavy line. Both types of analysis windows (period or number) and spans are the same, and start information is different. Since the start timing is different, reuse using the sub-analysis result shared
これに対し、図13に示すように、データ解析スケジューリング手段405が解析Aの解析ウインドウをずらすことにより、解析Bと計算結果の再利用が可能となる。図13は、解析ウインドウの同期処理の一例を説明するための説明図である。 On the other hand, as shown in FIG. 13, the data analysis scheduling means 405 shifts the analysis window of analysis A, so that analysis B and the calculation result can be reused. FIG. 13 is an explanatory diagram for explaining an example of the synchronization processing of the analysis window.
なお、解析ウインドウをずらすと、解析対象のデータが変わるため、解析結果は変化する。しかし、データストリーム解析では、データを流れとしてとらえるために、問題とならない。すなわち、データストリーム解析では、解析開始のタイミングは重要ではない。データストリーム解析は、データをあるセグメント単位に繰り返し解析し、全体の傾向を解析するものであるためである。以下、データ解析手段3が同期をとるための解析ウインドウのずらし方について説明する。 When the analysis window is shifted, the analysis result changes because the data to be analyzed changes. However, in the data stream analysis, there is no problem because the data is regarded as a flow. That is, in the data stream analysis, the analysis start timing is not important. This is because the data stream analysis repeatedly analyzes data in a certain segment unit and analyzes the overall tendency. Hereinafter, the method of shifting the analysis window for the data analysis means 3 to synchronize will be described.
まず、最新呼出履歴手段407について説明する。最新呼出履歴手段407は、データ解析手段3がサブ解析インタフェース手段401を呼び出した履歴を示す履歴情報を記憶する。図14は、履歴情報が登録されるテーブルの構造の例を示す説明図である。履歴情報が登録されるテーブルは、具体的には、ストリームデータ解析高速化装置のハードディスク装置やメモリ等の記憶装置に記憶される。
First, the latest call history unit 407 will be described. The latest call history unit 407 stores history information indicating a history of the
データ解析手段ID407−1は、直前のサブ解析インタフェース手段401を呼び出したデータ解析手段3のIDを意味する。 The data analysis means ID 407-1 means the ID of the data analysis means 3 that called the sub analysis interface means 401 immediately before.
サブタスク名407−2は、直前のサブ解析インタフェース手段401を呼び出したサブタスク名を意味する。
The subtask name 407-2 means the name of the subtask that called the immediately preceding
種類407−3は、直前のサブ解析インタフェース手段401を呼び出した解析ウインドウの種類を意味する。
The type 407-3 means the type of analysis window that called the immediately preceding
開始情報407−4は、直前のサブ解析インタフェース手段401を呼び出した解析ウインドウの開始情報を意味する。
The start information 407-4 means the start information of the analysis window that called the immediately preceding
スパン407−5は、直前のサブ解析インタフェース手段401を呼び出した解析ウインドウのスパンを意味する。
A span 407-5 means a span of an analysis window that calls the immediately preceding
最新呼出履歴手段407は、図14に示すテーブルを、データ解析手段3がサブ解析インタフェース手段401を呼び出す毎に、図15に示す処理を行うことにより更新する。図15は、最新呼出履歴手段407の動作の一例を示すフローチャートである。
The latest call history unit 407 updates the table shown in FIG. 14 by performing the process shown in FIG. 15 every time the
ステップS407−1において、最新呼出履歴手段407は、図14に示すテーブルから、古い履歴がないか検索を行う。最新呼出履歴手段407は、図14に示すテーブルの各フィールドの値を、以下に示す条件で検索する。例えば、最新呼出履歴手段407は、「データ解析手段ID407−1が、現在のサブ解析インタフェース手段401を呼び出したデータ解析手段3のIDであること」、「サブタスク名407−2が、現在のサブ解析インタフェース手段401を呼び出したサブタスク名であること」、「種類407−3が、現在のサブ解析インタフェース手段401を呼び出した解析ウインドウの種類であること」および「スパン407−5が、現在のサブ解析インタフェース手段を呼び出した解析ウインドウのスパンであること」の条件を満たす履歴情報を、テーブルから抽出する。
In step S407-1, the latest call history unit 407 searches the table shown in FIG. 14 for an old history. The latest call history means 407 searches the values of the fields in the table shown in FIG. 14 under the following conditions. For example, the latest call history unit 407 indicates that “the data analysis unit ID 407-1 is the ID of the
ステップS407−2において、最新呼出履歴手段407は、ステップS407−1の処理で履歴情報が抽出されたか否かを判断する。ステップS407−1の処理でレコードが見つかれば(YES)、ステップS407−3に進む。ステップS407−1の処理でレコードが見つからなければ(NO)、ステップS407−4へ進む。 In step S407-2, the latest call history unit 407 determines whether history information has been extracted in the process of step S407-1. If a record is found in the process of step S407-1 (YES), the process proceeds to step S407-3. If no record is found in the process of step S407-1 (NO), the process proceeds to step S407-4.
ステップS407−3において、最新呼出履歴手段407は、ステップS407−1で検索されたレコードを削除する。 In step S407-3, the latest call history unit 407 deletes the record searched in step S407-1.
ステップS407−4において、最新呼出履歴手段407は、現在のサブ解析インタフェース手段401の呼び出し情報を新しい履歴情報としてテーブルに追加する。
In step S407-4, the latest call history unit 407 adds the call information of the current
図16は、データ解析スケジューリング手段405の動作の一例を示すフローチャートである。
FIG. 16 is a flowchart showing an example of the operation of the data
ステップS405−1において、データ解析スケジューリング手段405は、最新呼出履歴手段407から、サブタスク名、種類、スパンが同じ値のレコードを同じグループとするグループ分けを行う。
In step S405-1, the data
図14に示す例の場合、図17に示すように2つのグループにわかれる。図17は、グループ分けされた履歴情報の例を説明するための説明図である。以下、グループ分けされたテーブルのそれぞれを、履歴情報テーブルと呼び、各履歴情報テーブルの集合全体をスケジューリング候補と呼ぶ。図17に示す例では、スケジューリング候補は、2つの履歴情報テーブルを含む。 In the case of the example shown in FIG. 14, it is divided into two groups as shown in FIG. FIG. 17 is an explanatory diagram illustrating an example of grouped history information. Hereinafter, each of the grouped tables is referred to as a history information table, and the entire set of history information tables is referred to as a scheduling candidate. In the example illustrated in FIG. 17, the scheduling candidate includes two history information tables.
ステップS405−2において、データ解析スケジューリング手段405は、スケジューリング候補の中からひとつの履歴情報テーブルを選択する。
In step S405-2, the data
ステップS405−3において、データ解析スケジューリング手段405は、履歴情報テーブルを選択可能であるか否かを判断する。選択可能であれば(YES)、ステップS405−4へ処理を進める。選択できない場合は(NO)、スケジューリング候補の中のすべての履歴情報テーブルを処理したことを意味するため、処理を終了する。以下、履歴情報テーブルとして、図17に示す履歴情報テーブルのうち、グループ1(図17(a)参照。)が選ばれたとして説明する。
In step S405-3, the data
ステップS405−4において、データ解析スケジューリング手段405は、さらに細かくグルーピングを行う。データ解析スケジューリング手段405は、開始情報のフィールドの値が同じであれば同じグループとするグループ分けを行う。図18は、さらに細かくグループ分けされた履歴情報の例を説明するための説明図である。図17に示す例では、データ解析スケジューリング手段405は、図18に示すように3つのグループにグルーピングを行う。以下、3つのグループを、それぞれ、サブグループ1−1(図18(a)参照。)、サブグループ1−2(図18(b)参照。)、サブグループ1−3(図18(c)参照。)と呼ぶ。
In step S405-4, the data
ステップS405−5において、データ解析スケジューリング手段405は、サブグループ毎に要素数を数える。図18に示す例の場合、サブグループ1−1の要素数は2レコード、サブグループ1−2およびサブグループ1−3の要素数は1レコードである。
In step S405-5, the data
ステップS405−6において、データ解析スケジューリング手段405は、同期するための基準になるサブグループを決定する。データ解析スケジューリング手段405は、ステップS405−5で要素数が最も多かったサブグループを基準とする。最も多かったサブグループが複数ある場合には、すべてを基準サブグループとする。
In step S405-6, the data
ステップS405−7において、データ解析スケジューリング手段405は、解析データシフト手段406に結果を出力する。基準サブグループのテーブルと、基準ではないサブグループのテーブルとをそれぞれ区別して解析データシフト手段406に送る。
In step S405-7, the data
ステップS405−8において、データ解析スケジューリング手段405は、ステップS405−7でスケジューリング処理が終了したグループをスケジューリング候補から削除する。例えば、データ解析スケジューリング手段405は、グループ1を削除する。
In step S405-8, the data
解析データシフト手段406は、データ解析スケジューリング手段405からの結果を受けて、基準サブグループではないサブグループについて、基準サブグループとのずれを検出する。また、解析データシフト手段406は、検出した結果に基づいて、それぞれのデータ解析手段3に、サブグループの開始情報の値をずらす処理を依頼する。 The analysis data shift means 406 receives the result from the data analysis scheduling means 405 and detects a deviation from the reference subgroup for a subgroup that is not the reference subgroup. Further, the analysis data shift means 406 requests each data analysis means 3 to shift the value of the start information of the subgroup based on the detected result.
ずれ幅の算出は、開始情報の値を基準サブグループの値と比較することにより行う。図18に示す例の場合、サブグループ1−2のずれ幅は+20秒(10:00:20−10:00:00)であり、サブグループ1−3のずれ幅は−10秒(09:59:50−10:00:00)である。 The shift width is calculated by comparing the value of the start information with the value of the reference subgroup. In the example shown in FIG. 18, the shift width of the subgroup 1-2 is +20 seconds (10: 00: 20-10: 00: 00), and the shift width of the subgroup 1-3 is −10 seconds (09: 59: 50-10: 00: 00).
尚、ずれ幅が+の値の場合は、基準より進んでいることを示し、−の場合は基準より遅れていることを示す。図の例では、データ解析手段Gが20秒早く、データ解析手段Hが10秒遅れているという結果であるので、データ解析手段Gには、20秒遅らせるように依頼し、データ解析手段Hには、10秒早めるように依頼する。依頼を受けたデータ解析手段3のインスタンスは、内部で記憶している解析ウインドウの設定を依頼通りに変更する。 When the deviation width is a positive value, it indicates that the deviation is advanced from the reference, and when it is negative, it indicates that the deviation is delayed from the reference. In the example shown in the figure, the result is that the data analysis means G is 20 seconds earlier and the data analysis means H is 10 seconds late. Therefore, the data analysis means G is requested to delay 20 seconds, and the data analysis means H is requested to delay. Asks you to advance 10 seconds. Upon receiving the request, the instance of the data analysis means 3 changes the setting of the analysis window stored therein as requested.
次に、図19を参照して第2の実施形態の動作について説明する。図19は、第2の実施形態におけるストリームデータ解析高速化装置の動作の一例を示すフローチャートである。 Next, the operation of the second embodiment will be described with reference to FIG. FIG. 19 is a flowchart showing an example of the operation of the stream data analysis speed-up device in the second embodiment.
第2の実施形態の処理では、第1の実施形態の処理(図10参照。)に、データ解析スケジューリング処理F5が加えられている。データ解析スケジューリング処理F5は、イベントデータ解析処理F2の複数のインスタンスにおける解析ウインドウを同期させる処理である。図19に示すような処理を行うことにより、第2の実施形態では、過去の計算結果の再利用率が増加し、さらに高速化できる。 In the process of the second embodiment, a data analysis scheduling process F5 is added to the process of the first embodiment (see FIG. 10). The data analysis scheduling process F5 is a process for synchronizing analysis windows in a plurality of instances of the event data analysis process F2. By performing the processing as shown in FIG. 19, in the second embodiment, the reuse rate of past calculation results increases, and the processing speed can be further increased.
データ解析スケジューリング処理F5は、呼出履歴管理処理F51と、データ解析スケジューリング処理F52と、シフト要請処理F53とを含む処理である。 The data analysis scheduling process F5 is a process including a call history management process F51, a data analysis scheduling process F52, and a shift request process F53.
呼出履歴管理処理F51は、同期がとれそうなイベントデータ解析処理F2のインスタンスを抽出するための元データを、イベントデータ共通解析処理F3の呼び出しを一時的に記録することで生成する処理である。 The call history management process F51 is a process of generating original data for extracting an instance of the event data analysis process F2 that is likely to be synchronized by temporarily recording the call of the event data common analysis process F3.
データ解析スケジューリング処理F52は、呼出履歴管理処理F51で蓄積した呼出履歴データを分析して、イベントデータ共通解析処理F3の解析ウインドウの解析開始のタイミングを制御する処理である。 The data analysis scheduling process F52 is a process of analyzing the call history data accumulated in the call history management process F51 and controlling the analysis start timing of the analysis window of the event data common analysis process F3.
シフト要請処理F53は、データ解析スケジューリング処理F52の結果をうけて、各イベントデータ解析処理F2の解析データをシフトするように要請する処理である。 The shift request process F53 is a process for requesting to shift the analysis data of each event data analysis process F2 based on the result of the data analysis scheduling process F52.
データ解析スケジューリング処理F5は、最新呼出履歴手段407、データ解析スケジューリング手段405、解析データシフト手段406で実現すればよい。 The data analysis scheduling process F5 may be realized by the latest call history means 407, the data analysis scheduling means 405, and the analysis data shift means 406.
呼出履歴管理処理F51は、最新呼出履歴手段407が、図15に示す処理を行うことにより実現すればよい。 The call history management process F51 may be realized by the latest call history means 407 performing the process shown in FIG.
データ解析スケジューリング処理F52は、データ解析スケジューリング手段405が、図16に示す処理を行うことにより実現すればよい。
The data analysis scheduling process F52 may be realized by the data
シフト要請処理F53は、解析データシフト手段406で実現すればよい。 The shift request process F53 may be realized by the analysis data shift means 406.
以上に説明したように、第2の実施形態によれば、複数のデータ解析手段が互いに独立に解析を実行した場合においても高速に処理できるという効果がある。その理由は、データ解析手段のデータ解析単位である解析ウインドウを監視し、複数のデータ解析手段で解析ウインドウが重なり合うようにスケジューリングするデータ解析スケジューリング手段と、この結果をうけて解析タイミングを変更する解析データシフト手段を有するからである。 As described above, according to the second embodiment, there is an effect that high-speed processing can be performed even when a plurality of data analysis units execute analysis independently of each other. The reason is that data analysis scheduling means that monitors the analysis window, which is a data analysis unit of the data analysis means, and schedules the analysis windows to be overlapped by a plurality of data analysis means, and analysis that changes the analysis timing based on this result This is because it has data shift means.
実施形態3.
次に、本発明の第3の実施形態を図面を参照して説明する。図20は、第3の実施形態のストリームデータ解析高速化装置の構成例を示すブロック図である。
Next, a third embodiment of the present invention will be described with reference to the drawings. FIG. 20 is a block diagram illustrating a configuration example of the stream data analysis speed-up device according to the third embodiment.
図20を参照すると、本発明の第3の実施形態は、第1の実施形態および第2の実施形態のイベントデータ解析ライブラリ手段4には設けられていないサブ解析結果共有メモリ管理手段408を含む。サブ解析結果共有メモリ管理手段408は、サブ解析結果共有メモリ404が記憶している解析結果の中から、必要がないエントリを削除する処理を行う。図20に示すように構成することにより、メモリ利用効率をあげることができる。
Referring to FIG. 20, the third embodiment of the present invention includes sub-analysis result shared memory management means 408 that is not provided in the event data analysis library means 4 of the first and second embodiments. . The sub-analysis result shared
サブ解析結果共有メモリ管理手段408は、解析用キュー監視手段40802と、再利用データ削除手段40801とを有する。
The sub-analysis result shared
解析用キュー監視手段40802は、解析用キュー2から削除されたデータを監視する処理を行う。
The analysis
再利用データ削除手段40801は、解析用キュー監視手段40802の結果をうけて、サブ解析結果共有メモリ404で記憶している計算結果の中から、再利用されないエントリを検索し、削除する処理を行う。
The reuse
解析用キュー監視手段40802は、解析用キュー2にデータが追加される場合に、上書きされたデータを監視する。監視項目は、上書きされたデータの時間の属性(以下処理完了時間)である。つまり、処理完了時間は、もうデータ解析手段3では解析が完了している古いデータの時間を意味しており、サブ解析結果共有メモリ404から削除しても構わない。
The analysis
再利用データ削除手段40801は、サブ解析結果共有メモリ404から、例えば、「開始情報にスパンを足した値が、処理完了時間より古い」という条件に合致するレコードを削除する。
The reuse
次に、図21を参照して第3の実施形態の動作について説明する。図21は、第3の実施形態におけるストリームデータ解析高速化装置の動作の一例を示すフローチャートである。 Next, the operation of the third embodiment will be described with reference to FIG. FIG. 21 is a flowchart illustrating an example of the operation of the stream data analysis speed-up device according to the third embodiment.
第3の実施形態の処理は、第1の実施形態の処理(図10参照。)および第2の実施形態の処理(図19参照。)に、再利用データ削除処理F6が加えられている。再利用データ削除処理F6は、サブ解析結果共有メモリ404が記憶している解析結果の中で必要がないエントリを削除する処理である。
In the process of the third embodiment, a reuse data deletion process F6 is added to the process of the first embodiment (see FIG. 10) and the process of the second embodiment (see FIG. 19). The reuse data deletion process F6 is a process of deleting an unnecessary entry in the analysis result stored in the sub-analysis result shared
再利用データ削除処理F6は、上書き監視処理F61と、削除処理F62とを含む処理である。 The reuse data deletion process F6 is a process including an overwrite monitoring process F61 and a deletion process F62.
上書き監視処理F61は、データフロー処理F1を監視してすでに解析用キュー2から削除されているデータの時間を検出する処理である。
The overwrite monitoring process F61 is a process of monitoring the data flow process F1 and detecting the time of data that has already been deleted from the
削除処理F62は、上書き監視処理F61の結果を受けて、データ再利用処理F4で記憶している過去の計算結果の中から、再利用されないデータを削除する処理である。 The deletion process F62 is a process for receiving the result of the overwrite monitoring process F61 and deleting data that is not reused from the past calculation results stored in the data reuse process F4.
再利用データ削除処理F6は、サブ解析結果共有メモリ管理手段408で実現すればよい。
The reuse data deletion process F6 may be realized by the sub-analysis result shared
上書き監視処理F61は、解析用キュー監視手段40802で実現すればよい。
The overwrite monitoring process F61 may be realized by the analysis
削除処理F62は、再利用データ削除手段40801で実現すればよい。
The deletion process F62 may be realized by the reuse
第3の実施形態によれば、永続的にストリームデータを高速に解析できるという効果がある。その理由は、再利用する計算結果を記憶しているサブ解析結果共有メモリの計算結果の中で、将来再利用されない計算結果を削除するサブ解析結果共有メモリ管理手段を有することで、永続的に解析した場合においても、一定量のメモリしか利用しないからである。 According to the third embodiment, there is an effect that stream data can be permanently analyzed at high speed. The reason is that by having a sub-analysis result shared memory management means for deleting a calculation result that is not reused in the future among the calculation results of the sub-analysis result shared memory that stores the calculation result to be reused, This is because only a certain amount of memory is used even in the analysis.
実施形態4.
次に、本発明の第4の実施形態を図面を参照して説明する。図22は、第4の実施形態のストリームデータ解析高速化装置の構成例を示すブロック図である。
Next, a fourth embodiment of the present invention will be described with reference to the drawings. FIG. 22 is a block diagram illustrating a configuration example of the stream data analysis acceleration device of the fourth embodiment.
図22を参照すると、本発明の第4の実施形態は、第3の実施形態のサブ解析結果共有メモリ管理手段408には設けられていない計算コスト見積手段40803を含む。計算コスト見積手段40803は、サブ解析手段403が実行する解析にかかる計算コストの見積りを記憶しておく。
Referring to FIG. 22, the fourth embodiment of the present invention includes a calculation
また、第4の実施形態では、再利用データ削除手段40801の動作を、計算コスト見積手段40803が算出した計算コストデータを元に、サブ解析結果共有メモリ404が記憶している計算結果の中から再利用されないエントリを削除するように改造する。
In the fourth embodiment, the operation of the reuse
さらに、サブ解析結果共有メモリ404のフィールドに、再利用した場合の高速化の効果の見積もり値を記憶する「高速化度」を追加する。図23は、第4の実施形態におけるサブ解析結果共有メモリ404の登録例を示す説明図である。サブ解析結果共有メモリ404は、サブタスク名404−1、種類404−2、開始情報404−3、スパン404−4および計算結果404−5(図8参照。)に加えて、高速化度404−6を含む情報を記憶する。高速化度404−6は、サブ解析手段403が解析した場合と、サブ解析結果共有メモリ404の計算結果を再利用した場合での計算コストの差を記憶するフィールドである。
Furthermore, a “speedup degree” for storing an estimated value of the speedup effect when reused is added to the field of the sub-analysis result shared
図24は、計算コスト見積手段40803が算出した値が設定されるテーブルの登録例を示す説明図である。図24に示すテーブルは、例えば、ユーザによって設定される。計算コスト見積手段40803が算出した値が設定されるテーブルは、具体的には、ストリームデータ解析高速化装置のハードディスク装置やメモリ等の記憶装置に記憶される。
FIG. 24 is an explanatory diagram illustrating a registration example of a table in which the value calculated by the calculation
サブタスク名40803−1は、サブ解析手段403が実行する解析の名前である。スパン40803−2は、サブ解析手段403が実行する解析の解析ウインドウのスパンである。計算コスト40803−3は、サブタスク名40803−1が示すサブタスクを、スパン40803−2として設定された値で実行したときの計算コストの見積値である。計算コスト40803−3の単位は、処理時間などで構わない。
A subtask name 40803-1 is a name of an analysis executed by the
再利用データ削除手段40801は、計算コスト見積手段40803のデータを使って、高速化度を算出し、サブ解析結果共有メモリ404に登録する。すなわち、再利用データ削除手段40801は、サブ解析結果共有メモリ404が記憶するサブタスク名404−1とスパン404−4とをキーにして、計算コスト見積手段40803が算出した値が設定されるテーブル(図24参照。)を検索し、計算コスト40803−3の値を抽出して、サブ解析結果共有メモリ404に高速化度404−6として設定する。
The reuse
計算コスト40803−3を高速化度404−6として設定する理由を説明する。再利用の処理は、サブ解析結果共有メモリ404を検索するだけであり、処理コストは、サブタスク名やスパンに関わらず一定である。よって、再利用処理は、処理コストを無視できるくらい高速であると考えることができる。したがって、高速化の効果を、サブ解析手段403の解析コストで近似できる。
The reason why the calculation cost 40803-3 is set as the acceleration degree 404-6 will be described. The reuse process only searches the sub-analysis result shared
図23の第3レコードに示す例では、サブタスク名404−1がX二乗合計であり、スパン404−4が1:00である。これらの値で図24に示すテーブルを検索すると、計算コスト40803−3として1000が抽出される。そのため、高速化度404−6は、1000となる。 In the example shown in the third record of FIG. 23, the subtask name 404-1 is the X-square sum, and the span 404-4 is 1:00. When the table shown in FIG. 24 is searched with these values, 1000 is extracted as the calculation cost 40803-3. Therefore, the speed-up degree 404-6 is 1000.
すべてのサブ解析結果共有メモリ404の高速化度404−6を算出すると、再利用データ削除手段40801は、高速化度404−6の値の小さい方、すなわち再利用の効果のひくいレコードから順に削除する。図23に示す例では、第1レコードと第2レコードとは、第3レコードや第4レコードよりも優先的に削除される。
When the speed-up degrees 404-6 of all the sub-analysis result shared
第4の実施形態によれば、メモリが少ない場合においても、高速に処理できるという効果がある。その理由は、各解析にかかるコストを見積り、優先度をつけて再利用の計算結果を記憶するように制御する計算コスト見積手段を有しているからである。 According to the fourth embodiment, even when there is little memory, there is an effect that processing can be performed at high speed. The reason is that there is a calculation cost estimation means for estimating the cost for each analysis and controlling so as to store the calculation result of reuse by giving priority.
実施形態5.
次に、本発明の第5の実施形態を図面を参照して説明する。図25は、第5の実施形態のストリームデータ解析高速化装置の構成例を示すブロック図である。
Next, a fifth embodiment of the present invention will be described with reference to the drawings. FIG. 25 is a block diagram illustrating a configuration example of a stream data analysis speed increasing device according to the fifth embodiment.
図25を参照すると、本発明の第5の実施形態は、第4の実施形態のイベントデータ解析ライブラリ手段4には設けられていないサブ解析観測手段409を含む。サブ解析観測手段409は、サブ解析手段403が各計算にかかった時間を観測し、観測結果を計算コスト見積手段40803の計算コスト40803−3として記録する。
Referring to FIG. 25, the fifth embodiment of the present invention includes a
サブ解析観測手段409は、サブ解析手段403から、計算を開始したときと、計算が終了したときに、通知を受ける。例えば、サブ解析観測手段409は、サブ解析手段403が計算を開始したときに、サブタスク名と、スパンと、「開始」を示す情報とを含む通知を受ける。また、サブ解析観測手段409は、例えば、サブ解析手段403が計算を終了したときに、サブタスク名と、スパンと、「終了」を示す情報とを含む通知を受ける。
The
サブ解析観測手段409は、開始と終了の通知があった時刻を記憶しておき、この差から、サブタスク名とスパンとの組に対する実行時間を算出する。サブ解析観測手段409は、算出した結果を、計算コスト見積手段40803が記憶するテーブルの計算コスト40803−3として登録する。この際、計算コスト40803−3がすでに登録されている場合は、すでに登録されている値と、新規に登録する値の平均値を計算コストとして登録すれば良い。ただし、これは一例であり、上書きなど別の方法でも構わない。
The
第5の実施形態によれば、高速化の処理のためのオーバヘッドを最小限におさえることができるという効果がある。その理由は、メモリの残量などのリソースの状態を監視しながら計算結果の再利用メモリを整理するタイミングを判定する再利用共有メモリ管理タイミング判定手段を有しているからである。 According to the fifth embodiment, there is an effect that overhead for high-speed processing can be minimized. The reason is that there is a reuse shared memory management timing judging means for judging the timing of arranging the reuse memory of the calculation result while monitoring the state of resources such as the remaining amount of memory.
実施形態6.
次に、本発明の第6の実施形態を図面を参照して説明する。第6の実施形態のストリームデータ解析高速化装置の構成は、図25に示す第5の実施形態と同様である。
Next, a sixth embodiment of the present invention will be described with reference to the drawings. The configuration of the stream data analysis speed-up device of the sixth embodiment is the same as that of the fifth embodiment shown in FIG.
第6の実施形態では、サブ解析結果共有メモリ404のフィールドに、計算結果を再利用した回数を記憶する「再利用回数」を追加する。
In the sixth embodiment, a “reuse count” that stores the number of times the calculation result is reused is added to the field of the sub-analysis result shared
また、再利用データ削除手段40801がデータを削除する際に、利用頻度の少ないデータから削除するように再利用データ削除手段40801を改造する。
Further, when the reuse
図26は、第6の実施形態におけるサブ解析結果共有メモリ404の登録例を示す説明図である。サブ解析結果共有メモリ404は、サブタスク名404−1、種類404−2、開始情報404−3、スパン404−4、計算結果404−5および高速化度404−6(図23参照。)に加えて、再利用回数404−7を含む情報を記憶する。
FIG. 26 is an explanatory diagram illustrating a registration example of the sub-analysis result shared
再利用回数404−7には、サブ解析方法決定手段402がサブ解析結果共有メモリ404に登録する際(ステップS402−5)に、例えば、値0が設定される。以後、サブ解析方法決定手段402がサブ解析結果共有メモリ404のデータを再利用する度にひとつ値を増加させる。
For the reuse count 404-7, for example, a value of 0 is set when the sub-analysis
実施形態7.
次に、本発明の第7の実施形態を図面を参照して説明する。図27は、第7の実施形態のストリームデータ解析高速化装置の構成例を示すブロック図である。
Next, a seventh embodiment of the present invention will be described with reference to the drawings. FIG. 27 is a block diagram illustrating a configuration example of the stream data analysis speed increasing device according to the seventh embodiment.
図27を参照すると、本発明の第7の実施形態は、第3、第4、第5および第6の実施形態に加えて、再利用共有メモリ管理タイミング判定手段410を含む。再利用共有メモリ管理タイミング判定手段410は、サブ解析結果共有メモリ管理手段408が、サブ解析結果共有メモリ404の中から再利用の可能性が低いデータを削除する処理を実行するタイミングを判断する。
Referring to FIG. 27, the seventh embodiment of the present invention includes a reuse shared memory management
再利用共有メモリ管理タイミング判定手段410は、メモリの残量などを監視し、例えば、ある一定の値以下になった場合に、サブ解析結果共有メモリ管理手段408に、再利用の可能性が低いデータの削除を依頼するようにすれば良い。ただし、これは一例であり、例えば、使用メモリの利用率の履歴から将来のメモリ利用率を予測して、リソースの限界を超えないタイミングで通知するなど様々な方法が考えられる。
The reuse shared memory management
なお、本発明の各実施形態は、以下に示す構成を備えることにより、本発明の目的を達成することができる。 In addition, each embodiment of this invention can achieve the objective of this invention by providing the structure shown below.
大量に、永続的に時々刻々と発生する情報を逐次的に分析する情報処理装置において、特に、大量のセンサデータを複数のアプリケーションが同時に解析する情報処理装置に関して、解析対象となるデータを時々刻々と発生させるセンサと、センサからのデータをデータの発生時間を考慮して解析するために時系列にデータを記憶する解析用キューと、解析用キューのデータを複数のアプリケーションで並列に解析する手段であり、それぞれ解析のインスタンスが独立に動作するデータ解析手段と、複数のデータ解析手段に共通のサブの解析手段を提供するライブラリーであり、複数のデータ解析の並列実行に関して、可能な限り冗長な計算を省いて高速化をはかるイベントデータ解析ライブラリ手段を有することにより、データ解析手段の高速化が期待できる。 In an information processing device that sequentially analyzes a large amount of information that is generated constantly and constantly, especially for an information processing device that simultaneously analyzes a large amount of sensor data by multiple applications, the data to be analyzed is from moment to moment Sensors to be generated, analysis queues for storing data in time series in order to analyze the data from the sensors in consideration of the data generation time, and means for analyzing the analysis queue data in parallel by multiple applications It is a library that provides data analysis means that each analysis instance operates independently and sub-analysis means common to multiple data analysis means, and is as redundant as possible for parallel execution of multiple data analysis By having event data analysis library means that speeds up the process by eliminating unnecessary calculations, Speed up can be expected.
イベントデータ解析ライブラリ手段は、データ解析手段がイベントデータ解析ライブラリ手段を利用するインタフェースを提供するサブ解析インタフェース手段と、サブ解析インタフェース手段が呼び出された際に、解析用キューを使って計算をするのか、過去の計算結果を流用するのかを判断するサブ解析方法決定手段と、サブ解析インタフェース手段が提供するサブの解析に関して、解析用キューのデータを使って解析するサブ解析手段と、サブ解析手段の解析結果を時間軸を考慮しながら再利用のために一時的に記憶するサブ解析結果共有メモリから構成することで、データ解析手段の高速化が期待できる。 The event data analysis library means uses the analysis queue when the sub-analysis interface means is called and the sub-analysis interface means for providing an interface for the data analysis means to use the event data analysis library means. The sub-analysis method determining means for determining whether the past calculation result is diverted, the sub-analysis means for analyzing the sub-analysis provided by the sub-analysis interface means using the data of the analysis queue, and the sub-analysis means By configuring the analysis result from the sub-analysis result shared memory that temporarily stores the analysis result for reuse while taking the time axis into consideration, it is possible to expect a high-speed data analysis means.
さらに、データ解析手段が、サブ解析インタフェース手段を呼び出した履歴の中で最新のものを常に記憶する最新呼出履歴手段と、複数のデータ解析手段が並列にかつ互いに独立に実行している状況に対して、互いに解析ウインドウを同期させるデータ解析スケジューリング手段と、データ解析スケジューリング手段の結果を受けて、各データ解析手段が保持している解析ウインドウを時間軸でずらす解析データシフト手段を構成に加えることで、複数のデータ解析手段が互いに独立に解析を実行した場合においても高速に処理できる。 Furthermore, the data analysis means always stores the latest call history of the sub-analysis interface means, and the situation where a plurality of data analysis means are executed in parallel and independently of each other. The data analysis scheduling means for synchronizing the analysis windows with each other, and the analysis data shift means for shifting the analysis windows held by each data analysis means on the time axis in response to the results of the data analysis scheduling means, are added to the configuration. Even when a plurality of data analysis units execute analysis independently of each other, high-speed processing can be performed.
サブ解析結果共有メモリで記憶している解析結果の中で必要がないエントリーを削除するサブ解析結果共有メモリ管理手段を構成に加えることで、永続的にストリームデータを高速に解析できる。 By adding sub-analysis result shared memory management means for deleting unnecessary entries in the analysis result stored in the sub-analysis result shared memory, stream data can be permanently analyzed at high speed.
サブ解析結果共有メモリ管理手段が、解析用キューのデータで削除されたデータを監視する解析用キュー監視手段と、解析用キュー監視手段の結果をうけて、サブ解析結果共有メモリで記憶している計算結果の中から再利用されないエントリーを検索し削除する再利用データ削除手段から構成されることで、永続的にストリームデータを高速に解析できる。 The sub-analysis result shared memory management means receives the results of the analysis queue monitoring means for monitoring the deleted data in the analysis queue data and the analysis queue monitoring means, and stores them in the sub-analysis result shared memory By comprising reuse data deletion means for searching for and deleting entries that are not reused from the calculation results, stream data can be analyzed permanently at high speed.
さらに、サブ解析結果共有メモリ管理手段に、サブ解析手段で実行する解析にかかる計算コストの見積りを記憶しておく、計算コスト見積手段を構成に加え、再利用データ削除手段の動作を計算コスト見積手段が算出した計算コストデータを元にサブ解析結果共有メモリで記憶している計算結果の中から再利用されないエントリーを削除するように改造し、さらに、サブ解析結果共有メモリのフィールドに再利用した場合の高速化の効果の見積もり値を記憶する高速化度を追加することにより、メモリが少ない場合においても、高速に処理できる。 In addition, the sub-analysis result shared memory management means stores an estimate of the calculation cost for the analysis executed by the sub-analysis means. In addition to the configuration of the calculation cost estimation means, the operation of the reuse data deletion means is estimated as the calculation cost. Based on the calculation cost data calculated by the means, it was modified to delete entries that are not reused from the calculation results stored in the sub analysis result shared memory, and further reused in the field of the sub analysis result shared memory By adding a speedup degree that stores an estimated value of the speedup effect in the case, processing can be performed at high speed even when there is little memory.
サブ解析手段の各計算にかかった時間を観測し、計算コスト見積手段へ観測結果を記録するサブ解析観測手段を構成に追加することで、メモリが少ない場合においても、高速に処理できる。 By observing the time taken for each calculation of the sub-analysis means and adding the sub-analysis observation means for recording the observation result to the calculation cost estimation means, the processing can be performed at high speed even when the memory is small.
サブ解析結果共有メモリ管理手段に、計算結果を再利用した回数を記憶するフィールドを追加し、再利用データ削除手段がデータを削除する際に、利用頻度の少ないデータから削除するように改造することで、メモリが少ない場合においても、高速に処理できる。 Add a field to the sub-analysis result shared memory management means to store the number of times the calculation result has been reused, and modify the data so that it is deleted from less frequently used data when the reuse data deletion means deletes the data. Thus, even when there is little memory, it can be processed at high speed.
サブ解析結果共有メモリ管理手段が、サブ解析結果共有メモリの中から再利用の可能性が低いデータを削除する処理を実行するタイミングをはかる再利用共有メモリ管理タイミング判定手段を構成に加えることで、高速化の処理のためのオーバヘッドを最小限におさえることができる。 The sub-analysis result shared memory management means adds to the configuration a reuse shared memory management timing determination means that measures the timing of executing the process of deleting data that is unlikely to be reused from the sub-analysis result shared memory. The overhead for high-speed processing can be minimized.
なお、上記に示した実施形態では、以下の(1)〜(9)に示すような特徴的構成を備えた証明書生成配布システムが示されている。 In the embodiment described above, a certificate generation / distribution system having characteristic configurations as shown in the following (1) to (9) is shown.
(1)解析対象となるデータを時々刻々と出力するデータ出力手段が出力するデータを逐次的に分析する情報処理装置に適用されるストリームデータ解析高速化装置であって、データ出力手段が出力したデータを、データの発生時間を考慮して解析するために、時系列に記憶するデータ記憶手段(例えば、解析用キュー2で実現される)と、データ記憶手段が記憶するデータを複数のアプリケーションとして並列に解析する手段であって、それぞれ解析のインスタンスが独立に動作するデータ解析手段(例えば、データ解析手段3で実現される)と、複数のデータ解析手段に共通する下位の解析手段を提供するライブラリであって、複数のデータ解析の並列実行に関して、冗長な計算を省いて高速化をはかるイベントデータ解析ライブラリ手段(例えば、イベントデータ解析ライブラリ手段4で実現される)とを備えたことを特徴とするストリームデータ解析高速化装置。 (1) A stream data analysis accelerating device applied to an information processing device that sequentially analyzes data output by a data output unit that outputs data to be analyzed every moment, output from the data output unit In order to analyze the data in consideration of the generation time of the data, data storage means for storing in time series (for example, realized by the analysis queue 2), and data stored in the data storage means as a plurality of applications Data analysis means that performs analysis in parallel and each analysis instance operates independently (for example, realized by the data analysis means 3) and lower-level analysis means common to a plurality of data analysis means are provided. This is an event data analysis library that speeds up the parallel execution of multiple data analyzes by omitting redundant calculations. (For example, implemented in the event the data analysis library unit 4) and stream data analysis speed device characterized by comprising a.
(2)イベントデータ解析ライブラリ手段は、データ解析手段がイベントデータ解析ライブラリ手段を利用する際のインタフェースを提供するサブ解析インタフェース手段(例えば、サブ解析インタフェース手段401で実現される)と、データ解析手段がサブ解析インタフェース手段を呼び出した際に、データ記憶手段が記憶するデータを使って計算をするのか、過去の計算結果を流用して計算するのかを判断するサブ解析方法決定手段(例えば、サブ解析方法決定手段402で実現される)と、サブ解析インタフェース手段が提供する下位の解析に関して、データ記憶手段が記憶するデータを使って解析するサブ解析手段(例えば、サブ解析手段403で実現される)と、サブ解析手段が解析した結果を、時間軸を考慮しながら再利用のために一時的に記憶するサブ解析結果共有記憶手段(例えば、サブ解析結果共有メモリ404で実現される)とを含むデータストリーム解析高速化装置。そのように構成されたデータストリーム解析高速化装置は、複数のデータ解析手段に共通の部分解析処理を高速に処理することができる。 (2) The event data analysis library means includes sub-analysis interface means (for example, realized by the sub-analysis interface means 401) that provides an interface when the data analysis means uses the event data analysis library means, and data analysis means Sub-analysis method decision means (for example, sub-analysis method) for determining whether to use the data stored in the data storage means or calculate using past calculation results when the sub-analysis interface means is called And sub-analysis means (for example, realized by the sub-analysis means 403) that uses the data stored in the data storage means to analyze the lower-order analysis provided by the sub-analysis interface means. The results of analysis by the sub-analysis means can be reused in consideration of the time axis. Sub analysis result shared storage means for temporarily storing the order (for example, implemented in the sub-analysis results shared memory 404) and a data stream analysis optimization device comprising. The data stream analysis speedup device configured as described above can process a partial analysis process common to a plurality of data analysis means at high speed.
(3)イベントデータ解析ライブラリ手段は、データ解析手段がサブ解析インタフェース手段を呼び出した履歴を示す履歴情報のうち、最新の履歴情報を常に記憶する最新呼出履歴手段(例えば、最新呼出履歴手段407で実現される)と、複数のデータ解析手段が並列にかつ互いに独立に実行している状況に対して、互いに解析対象となるデータの解析単位を示す解析ウインドウを同期させるデータ解析スケジューリング手段(例えば、データ解析スケジューリング手段405で実現される)と、データ解析スケジューリング手段の結果を受けて、各データ解析手段が保持している解析ウインドウを時間軸でずらす解析データシフト手段(例えば、解析データシフト手段406で実現される)とを含むデータストリーム解析高速化装置。そのように構成されたデータストリーム解析高速化装置は、複数のデータ解析手段が互いに独立に解析を実行した場合においても高速に処理することができる。 (3) The event data analysis library means is the latest call history means (for example, the latest call history means 407) that always stores the latest history information among the history information indicating the history of the data analysis means calling the sub-analysis interface means. Data analysis scheduling means for synchronizing the analysis windows indicating the analysis units of the data to be analyzed with respect to the situation in which a plurality of data analysis means are executed in parallel and independently from each other (for example, Data analysis scheduling means 405) and an analysis data shift means (for example, analysis data shift means 406) for shifting the analysis window held by each data analysis means on the time axis in response to the results of the data analysis scheduling means. Data stream analysis speed-up device including: The data stream analysis speed-up device configured as described above can perform high-speed processing even when a plurality of data analysis units execute analysis independently of each other.
(4)イベントデータ解析ライブラリ手段は、サブ解析結果共有記憶手段が記憶している解析結果の中で必要がないエントリーを削除するサブ解析結果共有記憶部管理手段(例えば、サブ解析結果共有メモリ管理手段408で実現される)を含むデータストリーム解析高速化装置。そのように構成されたデータストリーム解析高速化装置は、一定量のメモリしか利用しないため、高速に解析することができる。 (4) The event data analysis library means is sub-analysis result shared storage management means (for example, sub-analysis result shared memory management) that deletes unnecessary entries from the analysis results stored in the sub-analysis result shared storage means. A data stream analysis speed-up device including: Since the data stream analysis speedup device configured as described above uses only a fixed amount of memory, it can analyze at high speed.
(5)サブ解析結果共有記憶部管理手段は、データ記憶手段から削除されたデータを監視するデータ記憶部監視手段(例えば、解析用キュー監視手段40802で実現される)と、データ記憶部監視手段が監視した結果に基づいて、サブ解析結果共有記憶手段が記憶している計算結果の中から再利用されないエントリーを検索し削除する再利用データ削除手段(例えば、再利用データ削除手段40801で実現される)とを有するデータストリーム解析高速化装置。そのように構成されたデータストリーム解析高速化装置は、メモリが少ない場合においても、高速に処理することができる。 (5) The sub-analysis result shared storage unit management unit includes a data storage unit monitoring unit for monitoring data deleted from the data storage unit (for example, realized by the analysis queue monitoring unit 40802), and a data storage unit monitoring unit. Based on the result monitored by the sub-analysis result shared storage means, a reuse data deletion means (for example, reuse data deletion means 40801) that searches for and deletes an entry that is not reused from the calculation results stored in the sub-analysis result shared storage means. A data stream analysis speed-up device. The data stream analysis speed-up device configured as described above can process at high speed even when the memory is small.
(6)サブ解析結果共有記憶部管理手段は、サブ解析手段が実行する解析にかかる計算コストの見積りを記憶する計算コスト見積手段(例えば、計算コスト見積手段40803で実現される)を有し、サブ解析結果共有記憶手段は、再利用した場合の高速化の効果の見積り値を示す高速化度情報を記憶し、再利用データ削除手段は、計算コスト見積手段が算出した計算コストデータをサブ解析結果共有記憶手段に高速化度情報として記憶し、高速化度情報に基づいて、サブ解析結果共有記憶手段が記憶している計算結果の中から再利用されないエントリーを抽出して削除するデータストリーム解析高速化装置。そのように構成されたデータストリーム解析高速化装置は、高速化の処理のためのオーバヘッドを最小限におさえることができる。 (6) The sub-analysis result shared storage management unit includes a calculation cost estimation unit (for example, realized by a calculation cost estimation unit 40803) that stores an estimation of a calculation cost related to the analysis executed by the sub-analysis unit. The sub-analysis result shared storage unit stores speed-up degree information indicating an estimated value of the speed-up effect when reused, and the reuse data deletion unit sub-analyzes the calculation cost data calculated by the calculation cost estimation unit. Data stream analysis that stores information as speedup degree information in the result sharing storage means, and extracts and deletes entries that are not reused from the calculation results stored in the sub-analysis result shared storage means based on the speedup degree information High speed device. The data stream analysis speedup device thus configured can minimize the overhead for the speedup processing.
(7)イベントデータ解析ライブラリ手段は、サブ解析手段が計算にかかった時間を観測し、観測結果を計算コスト見積手段に計算コストの見積りとして記録するサブ解析観測手段(例えば、サブ解析観測手段409で実現される)を含むデータストリーム解析高速化装置。 (7) The event data analysis library means observes the time taken by the sub-analysis means, and records the observation result as the calculation cost estimate in the calculation cost estimation means (for example, the sub-analysis observation means 409). Data stream analysis speed-up device including
(8)サブ解析結果共有記憶手段は、計算結果を再利用した回数を示す情報を記憶し、再利用データ削除手段は、サブ解析結果共有記憶手段からデータを削除する際に、計算結果を再利用した回数を示す情報に基づいて、利用頻度の少ないデータから削除するデータストリーム解析高速化装置。 (8) The sub-analysis result sharing storage unit stores information indicating the number of times the calculation result has been reused, and the reuse data deletion unit re-calculates the calculation result when deleting the data from the sub-analysis result sharing storage unit. A data stream analysis speed-up device that deletes data that is not frequently used based on information indicating the number of times it has been used.
(9)サブ解析結果共有記憶部管理手段は、サブ解析結果共有記憶手段の中から再利用の可能性が低いデータを削除する処理を実行するタイミングをはかる再利用共有記憶部管理タイミング判定手段(例えば、再利用共有メモリ管理タイミング判定手段410で実現される)を有するデータストリーム解析高速化装置。 (9) The sub-analysis result shared storage unit management unit is a reuse shared storage unit management timing determination unit that measures the timing of executing the process of deleting data that is unlikely to be reused from the sub-analysis result shared storage unit ( (E.g., realized by the reuse shared memory management timing determination means 410).
本発明は、大量に、永続的に時々刻々と発生する情報を逐次的に分析する情報処理装置に効果的に適用でき、特に、大量のセンサデータを複数のアプリケーションが同時に解析する情報処理装置に効果的に適用できる。 INDUSTRIAL APPLICABILITY The present invention can be effectively applied to an information processing apparatus that sequentially analyzes a large amount of information that is generated constantly and momentarily, and particularly, an information processing apparatus that simultaneously analyzes a large amount of sensor data by a plurality of applications. It can be applied effectively.
1 センサ
2 解析用キュー
3 データ解析手段
4 イベントデータ解析ライブラリ手段
401 サブ解析インタフェース手段
402 サブ解析方法決定手段
403 サブ解析手段
404 サブ解析結果共有メモリ
DESCRIPTION OF
Claims (16)
前記データ出力手段が出力したデータを、データの発生時間を考慮して解析するために、時系列に記憶するデータ記憶手段と、
前記データ記憶手段が記憶するデータを複数のアプリケーションとして並列に解析する手段であって、それぞれ解析のインスタンスが独立に動作するデータ解析手段と、
複数の前記データ解析手段に共通する下位の解析手段を提供するライブラリであって、複数のデータ解析の並列実行に関して、冗長な計算を省いて高速化をはかるイベントデータ解析ライブラリ手段と
を備えたことを特徴とするストリームデータ解析高速化装置。 A stream data analysis acceleration device applied to an information processing device that sequentially analyzes data output by a data output means that outputs data to be analyzed every moment,
Data storage means for storing the data output by the data output means in time series in order to analyze the data generation time in consideration;
A means for analyzing the data stored in the data storage means in parallel as a plurality of applications, each of which is an instance of an analysis,
A library providing low-level analysis means common to a plurality of the data analysis means, and comprising event data analysis library means for speeding up the parallel execution of a plurality of data analyzes by omitting redundant calculations. Stream data analysis speed-up device characterized by
データ解析手段が前記イベントデータ解析ライブラリ手段を利用する際のインタフェースを提供するサブ解析インタフェース手段と、
前記データ解析手段が前記サブ解析インタフェース手段を呼び出した際に、データ記憶手段が記憶するデータを使って計算をするのか、過去の計算結果を流用して計算するのかを判断するサブ解析方法決定手段と、
前記サブ解析インタフェース手段が提供する下位の解析に関して、前記データ記憶手段が記憶するデータを使って解析するサブ解析手段と、
前記サブ解析手段が解析した結果を、時間軸を考慮しながら再利用のために一時的に記憶するサブ解析結果共有記憶手段と
を含む請求項1記載のデータストリーム解析高速化装置。 Event data analysis library means
Sub-analysis interface means for providing an interface when the data analysis means uses the event data analysis library means;
Sub-analysis method determining means for determining whether to calculate using the data stored in the data storage means or to use the past calculation result when the data analysis means calls the sub-analysis interface means When,
Sub-analysis means for analyzing using the data stored in the data storage means for the lower-level analysis provided by the sub-analysis interface means;
The data stream analysis speed-up device according to claim 1, further comprising: a sub-analysis result sharing storage unit that temporarily stores the result analyzed by the sub-analysis unit for reuse while considering a time axis.
データ解析手段がサブ解析インタフェース手段を呼び出した履歴を示す履歴情報のうち、最新の履歴情報を常に記憶する最新呼出履歴手段と、
複数のデータ解析手段が並列にかつ互いに独立に実行している状況に対して、互いに解析対象となるデータの解析単位を示す解析ウインドウを同期させるデータ解析スケジューリング手段と、
前記データ解析スケジューリング手段の結果を受けて、各データ解析手段が保持している解析ウインドウを時間軸でずらす解析データシフト手段と
を含む請求項1または請求項2記載のデータストリーム解析高速化装置。 Event data analysis library means
Of the history information indicating the history of data analysis means calling the sub-analysis interface means, the latest call history means for always storing the latest history information,
A data analysis scheduling means for synchronizing an analysis window indicating an analysis unit of data to be analyzed with respect to a situation in which a plurality of data analysis means are executed in parallel and independently of each other;
The data stream analysis speed-up device according to claim 1, further comprising: an analysis data shift unit that receives the result of the data analysis scheduling unit and shifts an analysis window held by each data analysis unit on a time axis.
データ記憶手段から削除されたデータを監視するデータ記憶部監視手段と、
前記データ記憶部監視手段が監視した結果に基づいて、前記サブ解析結果共有記憶手段が記憶している計算結果の中から再利用されないエントリーを検索し削除する再利用データ削除手段と
を有する請求項4記載のデータストリーム解析高速化装置。 Sub-analysis result shared storage management means
Data storage monitoring means for monitoring data deleted from the data storage means;
Reusable data deletion means for searching for and deleting entries that are not reused from among the calculation results stored in the sub-analysis result shared storage means based on the results monitored by the data storage monitoring means. 4. The data stream analysis acceleration device according to 4.
サブ解析結果共有記憶手段は、再利用した場合の高速化の効果の見積り値を示す高速化度情報を記憶し、
再利用データ削除手段は、前記計算コスト見積手段が算出した計算コストデータをサブ解析結果共有記憶手段に高速化度情報として記憶し、前記高速化度情報に基づいて、サブ解析結果共有記憶手段が記憶している計算結果の中から再利用されないエントリーを抽出して削除する
請求項4または請求項5記載のデータストリーム解析高速化装置。 The sub-analysis result shared storage management unit has a calculation cost estimation unit that stores an estimation of the calculation cost for the analysis performed by the sub-analysis unit,
The sub-analysis result shared storage means stores speed-up degree information indicating an estimated value of the speed-up effect when reused,
The reuse data deletion means stores the calculation cost data calculated by the calculation cost estimation means in the sub-analysis result shared storage means as speed-up degree information, and based on the speed-up degree information, the sub-analysis result shared storage means The data stream analysis speed-up device according to claim 4 or 5, wherein an entry that is not reused is extracted and deleted from the stored calculation results.
再利用データ削除手段は、サブ解析結果共有記憶手段からデータを削除する際に、計算結果を再利用した回数を示す情報に基づいて、利用頻度の少ないデータから削除する
請求項4から請求項7のうちのいずれか1項に記載のデータストリーム解析高速化装置。 The sub-analysis result shared storage means stores information indicating the number of times the calculation result has been reused,
The reusable data deleting means deletes the data from the less frequently used data based on the information indicating the number of times the calculation result is reused when deleting the data from the sub-analysis result shared storage means. The data stream analysis speed-up device according to any one of the above.
請求項4から請求項8のうちのいずれか1項に記載のデータストリーム解析高速化装置。 The sub-analysis result shared storage unit management unit includes a reuse shared storage unit management timing determination unit that measures the timing of executing processing for deleting data with a low possibility of reuse from the sub-analysis result shared storage unit. The data stream analysis speed-up device according to any one of claims 4 to 8.
発生したイベントデータを管理する処理ステップであり、解析するために記憶手段に一時的に記憶し、必要がなくなれば記憶手段から削除するデータフロー処理と、
前記データフロー処理で記憶しているイベントデータを複数の解析方法で並列に解析するイベントデータ解析処理と、
前記イベントデータ解析処理を複数のサブタスクに分割し、複数のイベント解析処理に共通に利用されるサブタスクについては過去の計算結果を再利用することで解析を高速化するイベントデータ共通解析処理と、
前記イベントデータ共通解析処理が高速に解析するために、過去の計算結果を記憶し、再利用の可能性をチェックするデータ再利用処理とを含み、
前記データフロー処理、イベントデータ解析処理、イベントデータ共通解析処理およびデータ再利用処理を並列に動作させる
ことを特徴とするデータストリーム解析高速化方法。 A stream data analysis speed-up method that sequentially analyzes data that is output every moment,
Data flow processing for managing the event data that has occurred, temporarily storing in the storage means for analysis, and deleting from the storage means when no longer needed,
Event data analysis processing for analyzing event data stored in the data flow processing in parallel by a plurality of analysis methods;
The event data analysis process is divided into a plurality of subtasks, and the event data common analysis process for speeding up the analysis by reusing past calculation results for the subtasks commonly used for the plurality of event analysis processes;
In order for the event data common analysis process to analyze at high speed, it includes a data reuse process for storing past calculation results and checking the possibility of reuse,
A data stream analysis speeding-up method, wherein the data flow processing, event data analysis processing, event data common analysis processing, and data reuse processing are operated in parallel.
前記呼出履歴管理処理で蓄積した呼出履歴データを分析して、イベントデータ共通解析処理の解析ウインドウの解析開始のタイミングを制御するデータ解析スケジューリング処理と、
前記データ解析スケジューリング処理の結果をうけて、各イベントデータ解析処理の解析データをシフトするように要請するシフト要請処理と
を含む請求項11記載のデータストリーム解析高速化方法。 In the data analysis scheduling process, a call history management process for generating original data for extracting an instance of the event data analysis process that is likely to be synchronized by temporarily recording a call of the event data common analysis process,
Analyzing the call history data accumulated in the call history management process, a data analysis scheduling process for controlling the analysis start timing of the analysis window of the event data common analysis process,
The data stream analysis speeding-up method according to claim 11, further comprising: a shift request process for requesting to shift analysis data of each event data analysis process based on a result of the data analysis scheduling process.
前記上書き監視処理の結果を受けて、データ再利用処理で記憶している過去の計算結果の中から、再利用されないデータを削除する削除処理と
を含む請求項13に記載のデータストリーム解析高速化方法。 In the reuse data deletion process, the overwriting monitoring process for monitoring the data flow process and detecting the time of the data already deleted from the data storage means;
14. The data stream analysis speed-up according to claim 13, further comprising: a deletion process that deletes data that is not reused from past calculation results stored in the data reuse process in response to the result of the overwrite monitoring process. Method.
コンピュータに、
発生したイベントデータを管理し、解析するために記憶手段に一時的に記憶し、必要がなくなったときに記憶手段から削除するデータフロー処理と、
前記データフロー処理で記憶しているイベントデータを複数の解析方法で並列に解析するイベントデータ解析処理と、
前記イベントデータ解析処理を複数のサブタスクに分割し、複数のイベント解析処理に共通に利用されるサブタスクについては過去の計算結果を再利用することで解析を高速化するイベントデータ共通解析処理と、
前記イベントデータ共通解析処理が高速に解析するために、過去の計算結果を記憶し、再利用の可能性をチェックするデータ再利用処理と
を実行させるためのデータストリーム解析高速化プログラム。 A stream data analysis acceleration program for sequentially analyzing data output every moment,
On the computer,
Data flow processing for managing and analyzing generated event data temporarily in the storage means for analysis, and deleting from the storage means when no longer needed,
Event data analysis processing for analyzing event data stored in the data flow processing in parallel by a plurality of analysis methods;
The event data analysis process is divided into a plurality of subtasks, and the event data common analysis process for speeding up the analysis by reusing past calculation results for the subtasks commonly used for the plurality of event analysis processes;
A data stream analysis acceleration program for storing a past calculation result and executing a data reuse process for checking the possibility of reuse in order for the event data common analysis process to analyze at high speed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007258398A JP2009087190A (en) | 2007-10-02 | 2007-10-02 | Stream data analysis speed-up device, method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007258398A JP2009087190A (en) | 2007-10-02 | 2007-10-02 | Stream data analysis speed-up device, method and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009087190A true JP2009087190A (en) | 2009-04-23 |
Family
ID=40660507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007258398A Pending JP2009087190A (en) | 2007-10-02 | 2007-10-02 | Stream data analysis speed-up device, method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009087190A (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011086288A (en) * | 2009-10-14 | 2011-04-28 | Internatl Business Mach Corp <Ibm> | Retrospective event processing pattern language and execution model extension |
JP2011128818A (en) * | 2009-12-16 | 2011-06-30 | Hitachi Ltd | Stream data processing apparatus and method |
JP2012242975A (en) * | 2011-05-17 | 2012-12-10 | Nippon Telegr & Teleph Corp <Ntt> | Distributed parallel processing cache device and method, resource management node and program |
JP2012242972A (en) * | 2011-05-17 | 2012-12-10 | Nippon Telegr & Teleph Corp <Ntt> | Aggregation system and method, resource management node, calculation node and aggregation processing program |
CN103379146A (en) * | 2012-04-19 | 2013-10-30 | 深圳市快播科技有限公司 | Method for limiting data transmission speed and device |
WO2014050475A1 (en) | 2012-09-27 | 2014-04-03 | 株式会社 東芝 | Data analysis device and program |
US9733997B2 (en) | 2013-11-13 | 2017-08-15 | Fujitsu Limited | Event management method and distributed system |
US9811378B1 (en) | 2016-04-27 | 2017-11-07 | Fujitsu Limited | Information processing device, complex event processing method, and computer readable storage medium |
-
2007
- 2007-10-02 JP JP2007258398A patent/JP2009087190A/en active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011086288A (en) * | 2009-10-14 | 2011-04-28 | Internatl Business Mach Corp <Ibm> | Retrospective event processing pattern language and execution model extension |
US9405598B2 (en) | 2009-10-14 | 2016-08-02 | International Business Machines Corporation | Retrospective event processing pattern language and execution model extension |
JP2011128818A (en) * | 2009-12-16 | 2011-06-30 | Hitachi Ltd | Stream data processing apparatus and method |
JP2012242975A (en) * | 2011-05-17 | 2012-12-10 | Nippon Telegr & Teleph Corp <Ntt> | Distributed parallel processing cache device and method, resource management node and program |
JP2012242972A (en) * | 2011-05-17 | 2012-12-10 | Nippon Telegr & Teleph Corp <Ntt> | Aggregation system and method, resource management node, calculation node and aggregation processing program |
CN103379146A (en) * | 2012-04-19 | 2013-10-30 | 深圳市快播科技有限公司 | Method for limiting data transmission speed and device |
WO2014050475A1 (en) | 2012-09-27 | 2014-04-03 | 株式会社 東芝 | Data analysis device and program |
US10025789B2 (en) | 2012-09-27 | 2018-07-17 | Kabushiki Kaisha Toshiba | Data analyzing apparatus and program |
US9733997B2 (en) | 2013-11-13 | 2017-08-15 | Fujitsu Limited | Event management method and distributed system |
US9811378B1 (en) | 2016-04-27 | 2017-11-07 | Fujitsu Limited | Information processing device, complex event processing method, and computer readable storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009087190A (en) | Stream data analysis speed-up device, method and program | |
US10402225B2 (en) | Tuning resources based on queuing network model | |
US10089142B2 (en) | Dynamic task prioritization for in-memory databases | |
JP6241144B2 (en) | Control program, control method, and control apparatus | |
Gautam et al. | A survey on job scheduling algorithms in big data processing | |
US20160171070A1 (en) | Query dispatching system and method | |
US20120278658A1 (en) | Analyzing Software Performance Issues | |
US20170206462A1 (en) | Method and apparatus for detecting abnormal contention on a computer system | |
TWI738721B (en) | Task scheduling method and device | |
Fournier-Viger et al. | Hue-span: Fast high utility episode mining | |
US20060074875A1 (en) | Method and apparatus for predicting relative selectivity of database query conditions using respective cardinalities associated with different subsets of database records | |
CN104881467A (en) | Data correlation analysis and pre-reading method based on frequent item set | |
JP6056986B2 (en) | Event management program, event management method, and distributed system | |
JP2013105293A (en) | Information processor | |
JP5282908B2 (en) | Hierarchical load estimation system, method and program | |
JP2009037369A (en) | Resource assignment method to database server | |
Xiong et al. | ShenZhen transportation system (SZTS): a novel big data benchmark suite | |
JP2021189949A (en) | Job management method and job management device | |
Zaarour et al. | Automatic anomaly detection over sliding windows: Grand challenge | |
US11734279B2 (en) | Event sequences search | |
US20130151478A1 (en) | Verifying consistency levels | |
Nelson et al. | Approximating the mean time in system in a multiple-server queue that uses threshold scheduling | |
JP7119484B2 (en) | Information aggregation device, information aggregation method, and program | |
KR100815866B1 (en) | Time stamp based sampling method of data stream | |
CN109885551A (en) | Electronic device, metadata processing method and computer readable storage medium |