JP2009087190A - Stream data analysis speed-up device, method and program - Google Patents

Stream data analysis speed-up device, method and program Download PDF

Info

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
Application number
JP2007258398A
Other languages
Japanese (ja)
Inventor
Koji Kida
弘司 喜田
Kenichiro Fujiyama
健一郎 藤山
Nobutatsu Nakamura
暢達 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2007258398A priority Critical patent/JP2009087190A/en
Publication of JP2009087190A publication Critical patent/JP2009087190A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To speed up an analysis of a high speed data stream by using a plurality of applications a high speed operation by eliminating redundant calculation as much as possible when performing the analysis. <P>SOLUTION: This stream data analysis speed-up device applied to an information processor for successively analyzing data to be outputted by a data output means which outputs data to be analyzed from moment to moment is provided with: a data storage means for time-sequentially storing data output by a data output means under the consideration of the generation time of data; a data analyzing means for analyzing the data stored by the data storage means in parallel as a plurality of applications, wherein each analytic instance independently operates; and an event data analyzing library means for providing a low rank analyzing means common to the plurality of data analyzing means, and for quickening the parallel execution of data analysis by saving redundant calculation. <P>COPYRIGHT: (C)2009,JPO&INPIT

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の性能を向上させることが記載されている。   Patent Document 1 discloses a technique for improving DBMS performance by reducing useless access and prefetching necessary data. Japanese Patent Application Laid-Open No. 2004-151867 discusses prefetch execution, determination of the amount thereof, memory buffer in consideration of the execution plan of the inquiry, data access characteristics, memory buffer amount, I / O load, etc. It describes that the performance of the DBMS is improved by improving the I / O access performance by performing management or the like.

特許文献2には、データベースが記憶する一部のデータをアクセス速度の高速なRAMメモリ上へ複写することでデータベースを高速化する技術が開示されている。特許文献2には、データベース管理専用のCPU1によって、各データベースファイルへアクセスした回数を常時集計し、ディスク上に置かれているデータベースの複数のテーブルの中から利用頻度の高いテーブルを適時に抽出し、自動的にアクセス速度の高速なRAMメモリ上へ複写することが記載されている。また、一般演算処理用CPU2からデータベースへアクセスする際は、RAM上のデータベースを優先的にアクセスする。これにより、データベースの平均アクセス時間の短縮、高速化を図ることができる。   Patent Document 2 discloses a technique for speeding up a database by copying some data stored in the database onto a RAM memory having a high access speed. In Patent Document 2, the number of accesses to each database file is constantly counted by the CPU 1 dedicated to database management, and a frequently used table is extracted in a timely manner from a plurality of tables in the database placed on the disk. It is described that data is automatically copied onto a RAM memory having a high access speed. When accessing the database from the general arithmetic processing CPU 2, the database on the RAM is preferentially accessed. As a result, the average access time of the database can be shortened and speeded up.

特許文献3には、計算機がアクセスするために利用する論理的記憶装置を、実際にデータを記憶する物理的記憶装置上に配置する記憶装置において、論理的記憶装置の物理的記憶装置への配置を動的に変更することにより記憶装置のアクセス性能を向上する技術について開示されている。アクセス頻度が高い物理記憶装置に記憶されているデータの一部をの配置動的変更機能を用いて他の物理記憶装置に移動することにより、特定の物理記憶装置のアクセス頻度が高くならないようにし、これにより記憶装置を全体としてみたときの性能を向上させる。また、特許文献3には、配置動的変更機能による高性能化処理の自動実行方法についても開示されている。   In Patent Document 3, in a storage device in which a logical storage device used for access by a computer is placed on a physical storage device that actually stores data, the logical storage device is disposed on the physical storage device. A technique for improving the access performance of a storage device by dynamically changing the storage device is disclosed. By moving a part of data stored in a physical storage device with high access frequency to another physical storage device using the dynamic allocation change function, the access frequency of a specific physical storage device is prevented from increasing. This improves the performance of the storage device as a whole. Patent Document 3 also discloses an automatic execution method for high-performance processing using an arrangement dynamic change function.

米国特許5317727号公報US Pat. No. 5,317,727 特開平11−31093号公報JP-A-11-31093 特許第3641872号公報Japanese Patent No. 3641872

特許文献1、2に記載されている方式では、高速化の効果をもたらしているのは、データアクセスのローカル性である。データベースの大量のデータに対して、現在の処理で何度もアクセスするデータ(以下、ワーキングデータ)はほんの一部である。そこで、特許文献1、2に記載されている方式では、ワーキングデータの処理にメモリなどのより早い記憶装置を利用し、あまりアクセスしないデータに対しては、ディスクなどの遅い記憶装置を利用することで、処理全体を高速化をはかっている。   In the systems described in Patent Documents 1 and 2, it is the locality of data access that has the effect of speeding up. Only a small amount of data (hereinafter referred to as working data) is accessed many times in the current processing for a large amount of data in the database. Therefore, in the methods described in Patent Documents 1 and 2, a faster storage device such as a memory is used for working data processing, and a slow storage device such as a disk is used for data that is not accessed frequently. Therefore, the whole process is speeded up.

ここで、本発明で想定しているデータストリーム処理の、ワーキングデータについて検討する。まず、図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 Patent Documents 1 and 2 cannot be expected to increase the speed.

特許文献3に記載されている技術は、ハードウエアの集中アクセスを分散させることで高速化をはかる技術である。逆に言えば、アクセスが集中している部分がないと効果がないといえる。   The technique described in Patent Document 3 is a technique for increasing the speed by distributing centralized access of hardware. Conversely, it can be said that there is no effect if there is no part where access is concentrated.

すでに説明したように、本発明で想定しているデータストリーム処理は、常にワーキングデータが変化する非常に分散された処理方法による処理であり、一定の記憶装置に集中的にアクセスすることはない。さらに、イベントデータなどの発生源は、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 Patent Document 3 cannot be expected.

そこで、本発明は、大量に、永続的に時々刻々と発生する高速データストリームを、複数のアプリケーションで解析する場合において、可能な限り冗長な計算を省いて高速化をはかることができるストリームデータ解析高速化装置、ストリームデータ解析高速化方法およびストリームデータ解析高速化プログラムを提供することを目的とする。   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の実施形態のストリームデータ解析高速化装置の構成例を示すブロック図である。
Embodiment 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 sensor 1, an analysis queue 2, data analysis means 3, and event data analysis library means 4. Since the stream data analysis speed-up device has these functions, the data analysis means 3 can be expected to speed up.

センサ1は、解析対象となるデータを時々刻々と発生させる。すなわち、センサ1は、所定の検出値を所定の信号に変換し、データとして解析用キュー2に出力する。以下、センサ1がデータを出力することを、センサ1がデータを発生させると表記する場合がある。   The sensor 1 generates data to be analyzed every moment. That is, the sensor 1 converts a predetermined detection value into a predetermined signal and outputs it as data to the analysis queue 2. Hereinafter, the output of data by the sensor 1 may be described as the generation of data by the sensor 1.

解析用キュー2は、センサ1からのデータを、データの発生時間を考慮して解析するために時系列に記憶する。解析用キュー2は、例えば、メモリ等の記憶部で実現される。以下、解析用キュー2が記憶するデータを、「解析用キュー2のデータ」と表記する場合がある。   The analysis queue 2 stores data from the sensor 1 in time series in order to analyze in consideration of the data generation time. The analysis queue 2 is realized by a storage unit such as a memory, for example. Hereinafter, the data stored in the analysis queue 2 may be referred to as “analysis queue 2 data”.

データ解析手段3は、解析用キュー2のデータを解析するアプリケーションである。ストリームデータ解析高速化装置は、例えば、複数のデータ解析手段3を有する。それぞれのデータ解析手段3において、解析のインスタンスは独立に動作する。   The data analysis means 3 is an application that analyzes data in the analysis queue 2. The stream data analysis speed-up device has a plurality of data analysis means 3, for example. In each data analysis means 3, the analysis instance operates independently.

イベントデータ解析ライブラリ手段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 memory 404.

サブ解析インタフェース手段401は、データ解析手段3がイベントデータ解析ライブラリ手段4を利用する際のインタフェースを提供する。   The sub analysis interface unit 401 provides an interface when the data analysis unit 3 uses the event data analysis library unit 4.

サブ解析方法決定手段402は、サブ解析インタフェース手段401が呼び出された際に、解析用キュー2が記憶するデータを使って計算をするのか、過去の計算結果を流用するのかを判断する。   When the sub-analysis interface unit 401 is called, the sub-analysis method determination unit 402 determines whether to perform calculation using data stored in the analysis queue 2 or to divert past calculation results.

サブ解析手段403は、サブ解析インタフェース手段401が提供するサブの解析に関して、解析用キュー2のデータを使って解析する。   The sub-analysis unit 403 analyzes the sub-analysis provided by the sub-analysis interface unit 401 using the data in the analysis queue 2.

サブ解析結果共有メモリ404は、サブ解析手段403の解析結果を時間軸を考慮しながら再利用のために一時的に記憶する。   The sub-analysis result sharing memory 404 temporarily stores the analysis result of the sub-analysis unit 403 for reuse while considering the time axis.

センサ1は、解析対象のデータを出力する手段であり、時々刻々とデータを出力する手段であれば何でも構わない。センサ1は、例えば、1分間隔に気温データを出力する手段や、RFID(Radio Frequency Identification)システムのように商品情報が書き込まれたICチップの情報をリーダで読み取り、データを発生させる手段などであってもよい。   The sensor 1 is means for outputting data to be analyzed, and any means may be used as long as it is means for outputting data momentarily. The sensor 1 is, for example, a means for outputting temperature data at intervals of one minute, a means for reading data on an IC chip on which product information is written, such as an RFID (Radio Frequency Identification) system, and generating data. There may be.

以下の説明では、センサ1が出力したデータをイベントデータと呼ぶ。イベントデータの形式は特に問わないが、「時間:イベントが発生した日時」および「内容:発生したイベントの情報」のフィールドを持つものとする。   In the following description, data output from the sensor 1 is referred to as event data. The format of the event data is not particularly limited, but has fields of “time: date and time when the event occurred” and “content: information about the event that has occurred”.

解析用キュー2は、複数のセンサ1からのイベントデータをひとつの系列にして記憶する。イベントデータは時々刻々と発生するため、古いイベントデータから順にメモリ(解析用キュー2)から削除していく必要がある。この実現には、リングバッファと呼ばれる方式を使用すれば良い。   The analysis queue 2 stores event data from a plurality of sensors 1 as one series. Since the event data is generated every moment, it is necessary to delete from the memory (the analysis queue 2) in order from the old event data. For this realization, a method called a ring buffer may be used.

図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 index 1 is stored and index 3 is stored, and Wtite Pointer points to the fourth. FIG. 2B shows a state where all the memories up to the eighth have been used. Since Write Pointer indicates the first, the first data is overwritten by the next write. By using the ring buffer method, event data that occurs every moment can be managed while deleting from the memory in order from the old event data. It should be noted that a sufficient memory size is required so that the Write Pointer can pass the ReadPointer, that is, data that has not yet been read is not overwritten.

データ解析手段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 data analysis unit 3 will be described. Each instance repeats the following process.

第1のステップで、インスタンスは、解析用キュー2からイベントデータを取得する。この際、複数のデータを一度に取得することが一般的な解析方法であり、解析ウインドウを利用する。解析ウインドウは、解析用キュー2のデータからデータ解析手段3に入力するデータの範囲を表す。インスタンスは、古いデータから順に解析ウインドウをスライドさせてイベントデータを取得する。図28に示す例では、解析ウインドウ−t1が示す範囲が、最初に第1のステップで取得されるイベントデータである。以後、第1のステップを繰り返し実行するたびに、解析ウインドウ−t2、解析ウインドウ−t3という具合にスライドさせてイベントデータを取得する。   In the first step, the instance acquires event data from the analysis queue 2. At this time, acquiring a plurality of data at a time is a general analysis method, and an analysis window is used. The analysis window represents a range of data input from the data in the analysis queue 2 to the data analysis means 3. The instance acquires event data by sliding the analysis window in order from the oldest data. In the example shown in FIG. 28, the range indicated by the analysis window -t1 is the event data first acquired in the first step. Thereafter, each time the first step is repeatedly executed, event data is acquired by sliding the analysis window-t2 and the analysis window-t3.

第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 analysis queue 2 in parallel.

図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 analysis library unit 4 is a unit that enters between the data analysis unit 3 and the analysis queue 2 to speed up the analysis of the data analysis unit 3. Hereinafter, it is assumed that common processing is included when each data analysis means 3 is divided into sub-tasks. For example, the data analysis means 3 often executes statistical processing and the like, and analysis processing such as average, variance, and standard deviation can be considered as a subtask. Further, in the least square method, processing such as calculation of the sum of values such as calculation of temporary variables C and E, and calculation of the sum of root mean squares such as calculation of temporary variables A and B are subtasks.

ここで注意が必要なのは、一般的なシステムにイベントデータ解析ライブラリ手段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 data analysis unit 3 can execute Sub-l () and Sub-m () that can be executed by using the event data analysis library unit 4 as a subtask. And have been implemented. In a general scheme, these subtasks are all implemented in F (). The present invention speeds up the data analysis means 3 created on the assumption that the event data analysis library means 4 is used.

以下、イベントデータ解析ライブラリ手段4内の構成に関して説明する。   Hereinafter, the configuration in the event data analysis library means 4 will be described.

サブ解析インタフェース手段401は、イベントデータ解析ライブラリ手段4のAPI(Application Interface )であり、イベントデータ解析ライブラリ手段4が実装するサブタスクの一覧を示す。   The sub-analysis interface unit 401 is an API (Application Interface) of the event data analysis library unit 4 and shows a list of subtasks implemented by the event data analysis library unit 4.

図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 sub-analysis interface unit 401 inputs data to be analyzed shown in the analysis window as a parameter.

図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 memory 404. The sub-analysis result sharing memory 404 stores information including a sub-task name 404-1, a type 404-2, start information 404-3, a span 404-4, and a calculation result 404-5.

サブタスク名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 sub-analysis interface unit 401. The type 404-2 means the type of the analysis window, and takes any value of “period” and “number”. The start information 404-3 means the top information of the analysis window. In the case of a period, it is a time, and in the case of a number, it is a serial number of event data. The span 404-4 means information on the span of the analysis window. In the case of a period, it is time, and in the case of a number, it is the number of event data. The calculation result 404-5 means a calculation result to be reused.

図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 method determining unit 402 searches and inserts data stored in the sub-analysis result shared memory 404. The operation of the sub-analysis method determining unit 402 will be described later.

サブ解析手段403は、サブ解析インタフェース手段401が公開しているサブタスクを実行する手段である。サブ解析手段403は、サブ解析インタフェース手段401から、サブタスク名と解析対象とする解析ウインドウのパラメータを受け取り、解析用キュー2のデータを解析する。   The sub-analysis unit 403 is a unit that executes a subtask published by the sub-analysis interface unit 401. The sub-analysis unit 403 receives the sub-task name and the analysis window parameter to be analyzed from the sub-analysis interface unit 401 and analyzes the data in the analysis queue 2.

サブ解析方法決定手段402は、イベントデータ解析ライブラリ手段4内の動作のメイン制御部の働きをする。図9は、サブ解析方法決定手段402の動作の一例を示すフローチャートである。   The sub-analysis method determination unit 402 functions as a main control unit for operations in the event data analysis library unit 4. FIG. 9 is a flowchart showing an example of the operation of the sub-analysis method determining unit 402.

ステップS402−1において、データ解析手段3は、サブ解析インタフェース手段401を通してサブタスクを呼び出す。データ解析手段3は、サブタスクの呼び出し時に、サブタスク名と解析対象データを特定するためのパラメータである解析ウインドウの情報とをサブ解析インタフェース手段401に渡す。   In step S402-1, the data analysis unit 3 calls a subtask through the sub analysis interface unit 401. The data analysis unit 3 passes the subtask name and the analysis window information, which is a parameter for specifying the analysis target data, to the subanalysis interface unit 401 when the subtask is called.

ステップ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 method determining unit 402 searches the sub-analysis result shared memory 404 to search for a reusable calculation result. For example, the sub-analysis method determining unit 402 searches the following conditions for each field using AND conditions. For example, the sub-analysis method determining unit 402 “subtask name 404-1 is the subtask name called in step S402-1”, “analysis window whose type 404-2 is called in step S402-1” “The value of the type of information”, “The start information 404-3 is the value of the start information of the analysis window information called in step S402-1,” and “Span 404-4 are the values of step S402-1. The data satisfying all the conditions of “the value of the span information of the analysis window information called in” is extracted from the sub-analysis result shared memory 404. Note that only when the registration method in the sub-analysis result shared memory 404 is not found under the above conditions, a record is registered in step S402-5, so this search result is at most one.

ステップS402−3において、サブ解析方法決定手段402は、サブ解析結果共有メモリ404を検索した結果に基づいて、データを再利用可能か否かを判断する。検索結果が見つかれば、再利用可能であり(YES)、ステップS402−6へ進む。検索結果が見つからなければ、再利用不可能であり(NO)、ステップS402−4へ進み、解析用キューのデータを解析する。   In step S402-3, the sub-analysis method determination unit 402 determines whether or not the data can be reused based on the search result of the sub-analysis result shared memory 404. If the search result is found, it can be reused (YES), and the process proceeds to step S402-6. If no search result is found, it cannot be reused (NO), and the process proceeds to step S402-4 to analyze the data in the analysis queue.

再利用不可能な場合、サブ解析手段403は、ステップS402−4において、解析ウインドウによる条件に基づいて解析用キュー2のデータを取得して、サブタスク名に相当する解析を実行する。サブ解析方法決定手段402は、解析を実行して、計算結果として出力する。   If the data cannot be reused, in step S402-4, the sub-analysis unit 403 acquires data in the analysis queue 2 based on the condition of the analysis window, and executes analysis corresponding to the subtask name. The sub-analysis method determination unit 402 performs analysis and outputs it as a calculation result.

ステップS402−5において、サブ解析手段403は、ステップS402−4の計算結果を再利用するために、サブ解析方法決定手段402を介してサブ解析結果共有メモリ404に登録する。   In step S402-5, the sub-analysis unit 403 registers in the sub-analysis result shared memory 404 via the sub-analysis method determination unit 402 in order to reuse the calculation result of step S402-4.

ステップ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 method determination unit 402 newly adds a record in the sub-analysis result shared memory 404 and registers the following values. That is, the sub-analysis method determining means 402 registers the sub-task name called in step S402-1 as the sub-task name 404-1, and the type of analysis window information called in step S402-1 as the type 404-2. Is registered, the start information 404-3 is registered as the start information value of the analysis window information called in step S402-1, and the analysis window information is called as span 404-4 in step S402-1. The span information value is registered, and the calculation result calculated in step S402-4 is registered as the calculation result 404-5.

サブ解析方法決定手段402は、ステップS402−6において、呼び出し元であるデータ解析手段3にサブタスクの計算結果を返す。サブ解析方法決定手段402は、計算結果として、ステップS402−2で検索されたレコードにおける計算結果か、ステップS402−4で計算された計算結果を返す。すなわち、サブ解析方法決定手段402は、データを再利用可能である場合には、ステップS402−2で検索された計算結果をデータ解析手段3に返し、データを再利用不可能である場合には、ステップS402−4で計算された計算結果ををデータ解析手段3に返す。   In step S402-6, the sub-analysis method determination unit 402 returns the subtask calculation result to the data analysis unit 3 that is the caller. The sub-analysis method determining means 402 returns the calculation result in the record searched in step S402-2 or the calculation result calculated in step S402-4 as the calculation result. That is, if the data can be reused, the sub-analysis method determination unit 402 returns the calculation result retrieved in step S402-2 to the data analysis unit 3, and if the data cannot be reused. The calculation result calculated in step S402-4 is returned to the data analysis means 3.

なお、ストリームデータ解析高速化装置は、コンピュータで実現可能であり、ストリームデータ解析高速化装置を構成する各構成要素、すなわち、データ解析手段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 sensor 1 and the analysis queue 2.

イベントデータ解析処理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 data analysis unit 3 executes, for example, analysis F and analysis G in parallel. Each analysis instance executes an individual analysis process F21 or a common analysis process F22 as two sub-analysis processes.

個別解析処理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 method determination unit 402 which is the main control unit of the event data analysis library unit 4. Note that when this processing flow ends, this instance disappears. There are the following two methods for obtaining the calculation result in this processing flow.

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 memory 404.

以上に説明したように、第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の実施形態のストリームデータ解析高速化装置の構成例を示すブロック図である。
Embodiment 2. FIG.
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 memory 404 is increased, and higher speed can be expected.

最新呼出履歴手段407は、データ解析手段3がサブ解析インタフェース手段401を呼び出した履歴の中で最新のものを常に記憶する記憶手段である。   The latest call history unit 407 is a storage unit that always stores the latest one in the history of the data analysis unit 3 calling the sub-analysis interface unit 401.

データ解析スケジューリング手段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 unit 406 receives the result of the data analysis scheduling unit 405 and shifts the analysis window held by each data analysis unit 3 on the time axis.

データ解析スケジューリング手段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 memory 404 is not performed between these two analyses.

これに対し、図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 data analysis unit 3 calling the sub analysis interface unit 401. FIG. 14 is an explanatory diagram illustrating an example of the structure of a table in which history information is registered. More specifically, the table in which the history information is registered is stored in a storage device such as a hard disk device or a memory of the stream data analysis speedup device.

データ解析手段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 subanalysis interface unit 401.

種類407−3は、直前のサブ解析インタフェース手段401を呼び出した解析ウインドウの種類を意味する。   The type 407-3 means the type of analysis window that called the immediately preceding sub-analysis interface unit 401.

開始情報407−4は、直前のサブ解析インタフェース手段401を呼び出した解析ウインドウの開始情報を意味する。   The start information 407-4 means the start information of the analysis window that called the immediately preceding sub-analysis interface unit 401.

スパン407−5は、直前のサブ解析インタフェース手段401を呼び出した解析ウインドウのスパンを意味する。   A span 407-5 means a span of an analysis window that calls the immediately preceding sub-analysis interface unit 401.

最新呼出履歴手段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 data analysis unit 3 calls the sub-analysis interface unit 401. FIG. 15 is a flowchart showing an example of the operation of the latest call history unit 407.

ステップ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 data analysis unit 3 that called the current sub-analysis interface unit 401”, “the subtask name 407-2 is the current sub "The name of the subtask that called the analysis interface means 401", "the type 407-3 is the type of the analysis window that called the current sub-analysis interface means 401", and "span 407-5 is the current subtask History information that satisfies the condition that it is the span of the analysis window that called the analysis interface means is extracted from the table.

ステップ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 sub-analysis interface unit 401 to the table as new history information.

図16は、データ解析スケジューリング手段405の動作の一例を示すフローチャートである。   FIG. 16 is a flowchart showing an example of the operation of the data analysis scheduling unit 405.

ステップS405−1において、データ解析スケジューリング手段405は、最新呼出履歴手段407から、サブタスク名、種類、スパンが同じ値のレコードを同じグループとするグループ分けを行う。   In step S405-1, the data analysis scheduling unit 405 performs grouping by grouping records having the same value of the subtask name, type, and span from the latest call history unit 407.

図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 analysis scheduling unit 405 selects one history information table from the scheduling candidates.

ステップS405−3において、データ解析スケジューリング手段405は、履歴情報テーブルを選択可能であるか否かを判断する。選択可能であれば(YES)、ステップS405−4へ処理を進める。選択できない場合は(NO)、スケジューリング候補の中のすべての履歴情報テーブルを処理したことを意味するため、処理を終了する。以下、履歴情報テーブルとして、図17に示す履歴情報テーブルのうち、グループ1(図17(a)参照。)が選ばれたとして説明する。   In step S405-3, the data analysis scheduling unit 405 determines whether the history information table can be selected. If it is selectable (YES), the process proceeds to step S405-4. If it cannot be selected (NO), it means that all the history information tables in the scheduling candidates have been processed, and the processing is terminated. In the following description, it is assumed that group 1 (see FIG. 17A) is selected from the history information table shown in FIG. 17 as the history information table.

ステップ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 analysis scheduling unit 405 performs further fine grouping. The data analysis scheduling unit 405 performs grouping into the same group if the field values of the start information are the same. FIG. 18 is an explanatory diagram for explaining an example of history information that is further finely grouped. In the example shown in FIG. 17, the data analysis scheduling unit 405 performs grouping into three groups as shown in FIG. Hereinafter, the three groups are subgroup 1-1 (see FIG. 18A), subgroup 1-2 (see FIG. 18B), and subgroup 1-3 (FIG. 18C), respectively. See).

ステップS405−5において、データ解析スケジューリング手段405は、サブグループ毎に要素数を数える。図18に示す例の場合、サブグループ1−1の要素数は2レコード、サブグループ1−2およびサブグループ1−3の要素数は1レコードである。   In step S405-5, the data analysis scheduling unit 405 counts the number of elements for each subgroup. In the example shown in FIG. 18, the number of elements in the subgroup 1-1 is 2 records, and the number of elements in the subgroup 1-2 and the subgroup 1-3 is 1 record.

ステップS405−6において、データ解析スケジューリング手段405は、同期するための基準になるサブグループを決定する。データ解析スケジューリング手段405は、ステップS405−5で要素数が最も多かったサブグループを基準とする。最も多かったサブグループが複数ある場合には、すべてを基準サブグループとする。   In step S405-6, the data analysis scheduling unit 405 determines a subgroup serving as a reference for synchronization. The data analysis scheduling means 405 is based on the subgroup having the largest number of elements in step S405-5. When there are a plurality of subgroups having the highest number, all are set as reference subgroups.

ステップS405−7において、データ解析スケジューリング手段405は、解析データシフト手段406に結果を出力する。基準サブグループのテーブルと、基準ではないサブグループのテーブルとをそれぞれ区別して解析データシフト手段406に送る。   In step S405-7, the data analysis scheduling unit 405 outputs the result to the analysis data shift unit 406. The reference subgroup table and the non-reference subgroup table are distinguished from each other and sent to the analysis data shift means 406.

ステップS405−8において、データ解析スケジューリング手段405は、ステップS405−7でスケジューリング処理が終了したグループをスケジューリング候補から削除する。例えば、データ解析スケジューリング手段405は、グループ1を削除する。   In step S405-8, the data analysis scheduling unit 405 deletes the group for which the scheduling process has been completed in step S405-7 from the scheduling candidates. For example, the data analysis scheduling unit 405 deletes the group 1.

解析データシフト手段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 analysis scheduling unit 405 performing the process shown in FIG.

シフト要請処理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の実施形態のストリームデータ解析高速化装置の構成例を示すブロック図である。
Embodiment 3. FIG.
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 memory management unit 408 performs processing for deleting unnecessary entries from the analysis results stored in the sub-analysis result shared memory 404. With the configuration as shown in FIG. 20, the memory utilization efficiency can be increased.

サブ解析結果共有メモリ管理手段408は、解析用キュー監視手段40802と、再利用データ削除手段40801とを有する。   The sub-analysis result shared memory management unit 408 includes an analysis queue monitoring unit 40802 and a reuse data deletion unit 40801.

解析用キュー監視手段40802は、解析用キュー2から削除されたデータを監視する処理を行う。   The analysis queue monitoring unit 40802 performs processing for monitoring data deleted from the analysis queue 2.

再利用データ削除手段40801は、解析用キュー監視手段40802の結果をうけて、サブ解析結果共有メモリ404で記憶している計算結果の中から、再利用されないエントリを検索し、削除する処理を行う。   The reuse data deletion unit 40801 receives the result of the analysis queue monitoring unit 40802, searches the calculation result stored in the sub-analysis result shared memory 404, and performs a process of searching for and deleting an entry that is not reused. .

解析用キュー監視手段40802は、解析用キュー2にデータが追加される場合に、上書きされたデータを監視する。監視項目は、上書きされたデータの時間の属性(以下処理完了時間)である。つまり、処理完了時間は、もうデータ解析手段3では解析が完了している古いデータの時間を意味しており、サブ解析結果共有メモリ404から削除しても構わない。   The analysis queue monitoring unit 40802 monitors overwritten data when data is added to the analysis queue 2. The monitoring item is an attribute of time of overwritten data (hereinafter, processing completion time). In other words, the processing completion time means the time of old data that has already been analyzed by the data analysis means 3 and may be deleted from the sub-analysis result shared memory 404.

再利用データ削除手段40801は、サブ解析結果共有メモリ404から、例えば、「開始情報にスパンを足した値が、処理完了時間より古い」という条件に合致するレコードを削除する。   The reuse data deletion unit 40801 deletes, for example, a record that matches the condition that “the value obtained by adding the span to the start information is older than the processing completion time” from the sub-analysis result shared memory 404.

次に、図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 memory 404.

再利用データ削除処理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 analysis queue 2.

削除処理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 memory management unit 408.

上書き監視処理F61は、解析用キュー監視手段40802で実現すればよい。   The overwrite monitoring process F61 may be realized by the analysis queue monitoring unit 40802.

削除処理F62は、再利用データ削除手段40801で実現すればよい。   The deletion process F62 may be realized by the reuse data deletion unit 40801.

第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の実施形態のストリームデータ解析高速化装置の構成例を示すブロック図である。
Embodiment 4 FIG.
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 cost estimation unit 40803 that is not provided in the sub-analysis result shared memory management unit 408 of the third embodiment. The calculation cost estimation unit 40803 stores an estimation of the calculation cost for the analysis executed by the sub analysis unit 403.

また、第4の実施形態では、再利用データ削除手段40801の動作を、計算コスト見積手段40803が算出した計算コストデータを元に、サブ解析結果共有メモリ404が記憶している計算結果の中から再利用されないエントリを削除するように改造する。   In the fourth embodiment, the operation of the reuse data deletion unit 40801 is performed from the calculation results stored in the sub-analysis result shared memory 404 based on the calculation cost data calculated by the calculation cost estimation unit 40803. Modify to delete entries that are not reused.

さらに、サブ解析結果共有メモリ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 memory 404. FIG. 23 is an explanatory diagram illustrating a registration example of the sub-analysis result shared memory 404 according to the fourth embodiment. In addition to the subtask name 404-1, the type 404-2, the start information 404-3, the span 404-4, and the calculation result 404-5 (see FIG. 8), the sub-analysis result shared memory 404 includes the speed-up degree 404-. Information including 6 is stored. The speed-up degree 404-6 is a field for storing a difference in calculation cost between when the sub-analysis unit 403 analyzes and when the calculation result of the sub-analysis result shared memory 404 is reused.

図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 cost estimation unit 40803 is set. The table shown in FIG. 24 is set by a user, for example. Specifically, the table in which the value calculated by the calculation cost estimation unit 40803 is set is stored in a storage device such as a hard disk device or a memory of the stream data analysis acceleration device.

サブタスク名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 sub-analysis unit 403. A span 40803-2 is a span of an analysis window for analysis executed by the sub-analysis unit 403. The calculation cost 40803-3 is an estimated value of the calculation cost when the subtask indicated by the subtask name 40803-1 is executed with the value set as the span 40803-2. The unit of calculation cost 40803-3 may be processing time.

再利用データ削除手段40801は、計算コスト見積手段40803のデータを使って、高速化度を算出し、サブ解析結果共有メモリ404に登録する。すなわち、再利用データ削除手段40801は、サブ解析結果共有メモリ404が記憶するサブタスク名404−1とスパン404−4とをキーにして、計算コスト見積手段40803が算出した値が設定されるテーブル(図24参照。)を検索し、計算コスト40803−3の値を抽出して、サブ解析結果共有メモリ404に高速化度404−6として設定する。   The reuse data deletion unit 40801 calculates the speedup degree using the data of the calculation cost estimation unit 40803 and registers it in the sub-analysis result shared memory 404. In other words, the reuse data deletion unit 40801 uses the subtask name 404-1 and span 404-4 stored in the sub-analysis result shared memory 404 as keys to set a table in which the value calculated by the calculation cost estimation unit 40803 is set ( (Refer to FIG. 24) and the value of the calculation cost 40803-3 is extracted and set as the acceleration degree 404-6 in the sub-analysis result shared memory 404.

計算コスト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 memory 404, and the processing cost is constant regardless of the sub-task name and span. Therefore, it can be considered that the reuse process is fast enough to ignore the processing cost. Therefore, the speed-up effect can be approximated by the analysis cost of the sub-analysis unit 403.

図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 memories 404 are calculated, the reuse data deletion unit 40801 deletes the data in the order from the smaller value of the speed-up degree 404-6, that is, the record having the lower reuse effect. To do. In the example shown in FIG. 23, the first record and the second record are deleted preferentially over the third record and the fourth record.

第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の実施形態のストリームデータ解析高速化装置の構成例を示すブロック図である。
Embodiment 5. FIG.
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 sub-analysis observation unit 409 that is not provided in the event data analysis library unit 4 of the fourth embodiment. The sub-analysis observation unit 409 observes the time taken by the sub-analysis unit 403 for each calculation, and records the observation result as the calculation cost 40803-3 of the calculation cost estimation unit 40803.

サブ解析観測手段409は、サブ解析手段403から、計算を開始したときと、計算が終了したときに、通知を受ける。例えば、サブ解析観測手段409は、サブ解析手段403が計算を開始したときに、サブタスク名と、スパンと、「開始」を示す情報とを含む通知を受ける。また、サブ解析観測手段409は、例えば、サブ解析手段403が計算を終了したときに、サブタスク名と、スパンと、「終了」を示す情報とを含む通知を受ける。   The sub-analysis observation unit 409 receives notification from the sub-analysis unit 403 when the calculation is started and when the calculation is completed. For example, the sub-analysis observation unit 409 receives a notification including a sub-task name, a span, and information indicating “start” when the sub-analysis unit 403 starts calculation. For example, when the sub-analysis unit 403 finishes the calculation, the sub-analysis observation unit 409 receives a notification including a sub-task name, a span, and information indicating “end”.

サブ解析観測手段409は、開始と終了の通知があった時刻を記憶しておき、この差から、サブタスク名とスパンとの組に対する実行時間を算出する。サブ解析観測手段409は、算出した結果を、計算コスト見積手段40803が記憶するテーブルの計算コスト40803−3として登録する。この際、計算コスト40803−3がすでに登録されている場合は、すでに登録されている値と、新規に登録する値の平均値を計算コストとして登録すれば良い。ただし、これは一例であり、上書きなど別の方法でも構わない。   The sub-analysis observation unit 409 stores the time when the start and end are notified, and calculates the execution time for the set of sub-task name and span from this difference. The sub-analysis observation unit 409 registers the calculated result as the calculation cost 40803-3 of the table stored in the calculation cost estimation unit 40803. At this time, if the calculation cost 40803-3 has already been registered, an already registered value and an average value of newly registered values may be registered as the calculation cost. However, this is only an example, and another method such as overwriting may be used.

第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の実施形態と同様である。
Embodiment 6. FIG.
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 memory 404.

また、再利用データ削除手段40801がデータを削除する際に、利用頻度の少ないデータから削除するように再利用データ削除手段40801を改造する。   Further, when the reuse data deletion unit 40801 deletes the data, the reuse data deletion unit 40801 is modified so that it is deleted from data with a low frequency of use.

図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 memory 404 according to the sixth embodiment. The sub-analysis result shared memory 404 is in addition to the sub-task name 404-1, the type 404-2, the start information 404-3, the span 404-4, the calculation result 404-5, and the speed-up degree 404-6 (see FIG. 23). Thus, information including the number of reuses 404-7 is stored.

再利用回数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 method determination unit 402 registers in the sub-analysis result shared memory 404 (step S402-5). Thereafter, each time the sub-analysis method determining means 402 reuses the data in the sub-analysis result shared memory 404, the value is increased by one.

実施形態7.
次に、本発明の第7の実施形態を図面を参照して説明する。図27は、第7の実施形態のストリームデータ解析高速化装置の構成例を示すブロック図である。
Embodiment 7. FIG.
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 timing determination unit 410 in addition to the third, fourth, fifth and sixth embodiments. The reuse shared memory management timing determination unit 410 determines the timing at which the sub-analysis result shared memory management unit 408 executes a process of deleting data with a low possibility of reuse from the sub-analysis result shared memory 404.

再利用共有メモリ管理タイミング判定手段410は、メモリの残量などを監視し、例えば、ある一定の値以下になった場合に、サブ解析結果共有メモリ管理手段408に、再利用の可能性が低いデータの削除を依頼するようにすれば良い。ただし、これは一例であり、例えば、使用メモリの利用率の履歴から将来のメモリ利用率を予測して、リソースの限界を超えないタイミングで通知するなど様々な方法が考えられる。   The reuse shared memory management timing determination unit 410 monitors the remaining amount of memory and the like, for example, when the value becomes below a certain value, the sub analysis result shared memory management unit 408 has a low possibility of reuse. It may be requested to delete data. However, this is an example, and various methods such as predicting a future memory usage rate from a history of the usage rate of the used memory and notifying at a timing that does not exceed the resource limit may be considered.

なお、本発明の各実施形態は、以下に示す構成を備えることにより、本発明の目的を達成することができる。   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の実施形態のストリームデータ解析高速化装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the stream data analysis speed-up apparatus of 1st Embodiment. リングバッファ方式の一例を説明するための説明図である。It is explanatory drawing for demonstrating an example of a ring buffer system. インスタンスが並行してデータを解析する処理(並列解析)の一例を説明するための説明図である。It is explanatory drawing for demonstrating an example of the process (parallel analysis) in which an instance analyzes data in parallel. 並列解析におけるリングバッファ方式の一例を説明するための説明図である。It is explanatory drawing for demonstrating an example of the ring buffer system in parallel analysis. 最小二乗法の一例を説明するための説明図である。It is explanatory drawing for demonstrating an example of the least squares method. 解析ウインドウのスライディングの例を説明するための説明図である。It is explanatory drawing for demonstrating the example of sliding of an analysis window. ストリームデータ解析装置の構成例を比較するための説明図である。It is explanatory drawing for comparing the structural example of a stream data analysis apparatus. サブ解析結果共有メモリ404の登録例を示す説明図である。It is explanatory drawing which shows the example of registration of the sub-analysis result shared memory 404. サブ解析方法決定手段402の動作の一例を示すフローチャートである。5 is a flowchart showing an example of the operation of a sub-analysis method determination unit 402. 第1の実施形態におけるストリームデータ解析高速化装置の動作の一例を示すフローチャートである。It is a flowchart which shows an example of operation | movement of the stream data analysis speed-up apparatus in 1st Embodiment. 第2の実施形態のストリームデータ解析高速化装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the stream data analysis speed-up apparatus of 2nd Embodiment. 解析ウインドウの同期が取れていない場合の例を説明するための説明図である。It is explanatory drawing for demonstrating the example when the synchronization of an analysis window is not taken. 解析ウインドウの同期処理の一例を説明するための説明図である。It is explanatory drawing for demonstrating an example of the synchronous process of an analysis window. 履歴情報が登録されているテーブルの構造の例を示す説明図である。It is explanatory drawing which shows the example of the structure of the table in which historical information is registered. 最新呼出履歴手段407の動作の一例を示すフローチャートである。7 is a flowchart showing an example of the operation of latest call history means 407. データ解析スケジューリング手段405の動作の一例を示すフローチャートである。It is a flowchart which shows an example of operation | movement of the data analysis scheduling means 405. グループ分けされた履歴情報の例を説明するための説明図である。It is explanatory drawing for demonstrating the example of the log | history information divided into groups. さらに細かくグループ分けされた履歴情報の例を説明するための説明図である。It is explanatory drawing for demonstrating the example of the log | history information further divided into groups. 第2の実施形態におけるストリームデータ解析高速化装置の動作の一例を示すフローチャートである。It is a flowchart which shows an example of operation | movement of the stream data analysis speed-up apparatus in 2nd Embodiment. 第3の実施形態のストリームデータ解析高速化装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the stream data analysis speed-up apparatus of 3rd Embodiment. 第3の実施形態におけるストリームデータ解析高速化装置の動作の一例を示すフローチャートである。It is a flowchart which shows an example of operation | movement of the stream data analysis speed-up apparatus in 3rd Embodiment. 第4の実施形態のストリームデータ解析高速化装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the stream data analysis speed-up apparatus of 4th Embodiment. 第4の実施形態におけるサブ解析結果共有メモリ404の登録例を示す説明図である。It is explanatory drawing which shows the example of registration of the sub-analysis result shared memory 404 in 4th Embodiment. 計算コスト見積手段40803が算出した値が設定されるテーブルの登録例を示す説明図である。It is explanatory drawing which shows the example of registration of the table in which the value calculated by the calculation cost estimation means 40803 is set. 第5の実施形態のストリームデータ解析高速化装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the stream data analysis speed-up apparatus of 5th Embodiment. 第6の実施形態におけるサブ解析結果共有メモリ404の登録例を示す説明図である。It is explanatory drawing which shows the example of registration of the sub-analysis result shared memory 404 in 6th Embodiment. 第7の実施形態のストリームデータ解析高速化装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the stream data analysis speed-up apparatus of 7th Embodiment. データストリーム処理の一例を説明するための説明図である。It is explanatory drawing for demonstrating an example of a data stream process.

符号の説明Explanation of symbols

1 センサ
2 解析用キュー
3 データ解析手段
4 イベントデータ解析ライブラリ手段
401 サブ解析インタフェース手段
402 サブ解析方法決定手段
403 サブ解析手段
404 サブ解析結果共有メモリ
DESCRIPTION OF SYMBOLS 1 Sensor 2 Analysis queue 3 Data analysis means 4 Event data analysis library means 401 Sub analysis interface means 402 Sub analysis method determination means 403 Sub analysis means 404 Sub analysis result shared memory

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.
イベントデータ解析ライブラリ手段は、サブ解析結果共有記憶手段が記憶している解析結果の中で必要がないエントリーを削除するサブ解析結果共有記憶部管理手段を含む請求項1から請求項3のうちのいずれか1項に記載のデータストリーム解析高速化装置。   The event data analysis library means includes sub-analysis result shared storage management means for deleting an unnecessary entry from the analysis results stored in the sub-analysis result shared storage means. The data stream analysis speed-up device according to any one of the above items. サブ解析結果共有記憶部管理手段は、
データ記憶手段から削除されたデータを監視するデータ記憶部監視手段と、
前記データ記憶部監視手段が監視した結果に基づいて、前記サブ解析結果共有記憶手段が記憶している計算結果の中から再利用されないエントリーを検索し削除する再利用データ削除手段と
を有する請求項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.
イベントデータ解析ライブラリ手段は、サブ解析手段が計算にかかった時間を観測し、観測結果を計算コスト見積手段に計算コストの見積りとして記録するサブ解析観測手段を含む請求項6記載のデータストリーム解析高速化装置。   7. The data stream analysis high-speed data processor according to claim 6, wherein the event data analysis library means includes sub-analysis observation means for observing the time taken for the calculation by the sub-analysis means and recording the observation result as an estimation of the calculation cost in the calculation cost estimation means. Device. サブ解析結果共有記憶手段は、計算結果を再利用した回数を示す情報を記憶し、
再利用データ削除手段は、サブ解析結果共有記憶手段からデータを削除する際に、計算結果を再利用した回数を示す情報に基づいて、利用頻度の少ないデータから削除する
請求項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.
イベントデータ解析処理の複数のインスタンスにおける解析ウインドウを同期させるデータ解析スケジューリング処理を含む請求項10記載のデータストリーム解析高速化方法。   11. The data stream analysis speed-up method according to claim 10, further comprising a data analysis scheduling process for synchronizing analysis windows in a plurality of instances of the event data analysis process. データ解析スケジューリング処理で、同期がとれそうなイベントデータ解析処理のインスタンスを抽出するための元データを、イベントデータ共通解析処理の呼び出しを一時的に記録することで生成する呼出履歴管理処理と、
前記呼出履歴管理処理で蓄積した呼出履歴データを分析して、イベントデータ共通解析処理の解析ウインドウの解析開始のタイミングを制御するデータ解析スケジューリング処理と、
前記データ解析スケジューリング処理の結果をうけて、各イベントデータ解析処理の解析データをシフトするように要請するシフト要請処理と
を含む請求項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.
記憶手段が記憶している解析結果の中で必要がないエントリーを削除する再利用データ削除処理を含む請求項10から請求項12のうちのいずれか1項に記載のデータストリーム解析高速化方法。   The data stream analysis speed-up method according to any one of claims 10 to 12, further comprising a reuse data deletion process for deleting an unnecessary entry in the analysis result stored in the storage means. 再利用データ削除処理で、データフロー処理を監視してすでにデータ記憶手段から削除されているデータの時間を検出する上書き監視処理と、
前記上書き監視処理の結果を受けて、データ再利用処理で記憶している過去の計算結果の中から、再利用されないデータを削除する削除処理と
を含む請求項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.
イベントデータ解析処理の複数のインスタンスにおける解析ウインドウを同期させるデータ解析スケジューリング処理を実行させるための請求項15記載のデータストリーム解析高速化プログラム。   16. The data stream analysis acceleration program according to claim 15, for executing data analysis scheduling processing for synchronizing analysis windows in a plurality of instances of event data analysis processing.
JP2007258398A 2007-10-02 2007-10-02 Stream data analysis speed-up device, method and program Pending JP2009087190A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (10)

* Cited by examiner, † Cited by third party
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