JPWO2012059976A1 - Program, stream data processing method, and stream data processing computer - Google Patents
Program, stream data processing method, and stream data processing computer Download PDFInfo
- Publication number
- JPWO2012059976A1 JPWO2012059976A1 JP2012541649A JP2012541649A JPWO2012059976A1 JP WO2012059976 A1 JPWO2012059976 A1 JP WO2012059976A1 JP 2012541649 A JP2012541649 A JP 2012541649A JP 2012541649 A JP2012541649 A JP 2012541649A JP WO2012059976 A1 JPWO2012059976 A1 JP WO2012059976A1
- Authority
- JP
- Japan
- Prior art keywords
- stream data
- time
- query
- data processing
- accuracy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
複数のストリームデータの入力を受け、前記ストリームデータを処理するための基準時刻を用いて、前記ストリームデータを処理するストリーム処理計算機が、所定の時間の長さを示す時刻精度を保持し、ストリームデータに含まれる時刻情報を抽出し、抽出された時刻情報から基準時刻を減算した結果と、時刻精度とを比較し、比較の結果、減算した結果が小さい場合、ストリームデータを記憶領域に保留し、又比較の結果、減算した結果が大きい場合、保留したストリームデータを同一の時刻情報を含むものとして処理する。A stream processing computer that receives input of a plurality of stream data and processes the stream data using a reference time for processing the stream data maintains time accuracy indicating a predetermined length of time, and stream data The time information contained in is extracted, the result obtained by subtracting the reference time from the extracted time information, and the time accuracy are compared. If the subtraction result is large as a result of the comparison, the suspended stream data is processed as including the same time information.
Description
ストリームデータ処理装置に係り、特に、所定の時刻間隔毎にストリームデータを処理するプログラム、ストリームデータ処理方法及びストリームデータ処理装置に関する。 The present invention relates to a stream data processing device, and more particularly to a program, a stream data processing method, and a stream data processing device that process stream data at predetermined time intervals.
現在、交通状況のモニタリング又は商取引等を行うためのITシステムは、大量に発生する時系列データを処理するため、ストリームデータ処理システムを一般的に備える。 Currently, an IT system for monitoring traffic conditions or commercial transactions generally includes a stream data processing system in order to process a large amount of time-series data.
ストリームデータ処理システムは、ストリームデータに付加された時刻情報(以下、タイムスタンプと記載する。)に基づいてストリームデータを処理することによって、高速且つリアルタイムな時系列処理を提供する。すなわちストリームデータ処理システムは、ストリームデータに付加されるタイムスタンプの値の違いに基づいて、個々のストリームデータを識別する(非特許文献1参照)。以下に、タイムスタンプに関する処理について、種々のストリームデータ処理システムを説明する。 The stream data processing system provides high-speed and real-time time series processing by processing stream data based on time information (hereinafter referred to as a time stamp) added to the stream data. That is, the stream data processing system identifies individual stream data based on the difference in time stamp values added to the stream data (see Non-Patent Document 1). In the following, various stream data processing systems will be described for processing related to time stamps.
先ず第1に、図13を用いて、従来技術のストリームデータ処理システムによる一処理例を説明する。 First, an example of processing by a conventional stream data processing system will be described with reference to FIG.
従来技術のストリームデータ処理システム1300は、時刻管理部1304及びクエリ処理制御部1306を有する。クエリ処理制御部1306は、ストリームデータをクエリによって処理する機能を有する。時刻管理部1304は、クエリ処理制御部1306がストリームデータを処理するための基準時刻1305を保持する機能を有する。
A conventional stream
ストリームデータは、識別子1301、値1302及びタイムスタンプ1303を含む。識別子1301には、各々A〜Eの値が与えられる。また、ストリームデータ処理システム1300では、タイムスタンプ1303が"10時00分00秒"から"10時01分00秒"までの五つのストリームデータ(以下、ストリームデータA〜Eと記載する。)が入力される。クエリ処理制御部1306は、入力された複数のストリームデータの値1302の合計値を算出するクエリによって、ストリームデータを処理する。
The stream data includes an
時刻管理部1304が、基準時刻1305に"10時00分00秒"を保持する場合、時刻管理部1304は、"10時00分00秒"を示す基準時刻1305をクエリ処理制御部1306に送信する。そして、クエリ処理制御部1306は、ストリームデータA〜Eのうち、タイムスタンプが"10時00分00秒"を示すストリームデータAのみを処理する。この結果、クエリ処理制御部1306は、ストリームデータAの合計値のみを算出する。
When the
その後、時刻管理部1304は、システム時刻を基準時刻1305に加算し、加算された結果によって基準時刻1305を更新する。ここで、システム時刻とは、時刻管理部1304が実装される計算機のオペレーティングシステム(以下、OSという。)が保持する時刻である。そして、クエリ処理制御部1306は、更新された基準時刻1305を参照することによって、次のストリームデータを処理する。
Thereafter, the
前述のように、従来技術のストリームデータ処理システム1300は、基準時刻1305と同じタイムスタンプを付加されたストリームデータを処理するようになっている。
As described above, the conventional stream
次いで、第2に、タイムスタンプと時間との関係に関する他の従来技術として、固定的に設定された時刻の情報(以下、時刻精度と記載する。)に基づいてストリームデータのタイムスタンプの違いを判定するストリームデータ処理システムを説明する。時刻精度とは、ストリームデータ処理システム内において、時刻の経過を示す最小の時刻間隔であり、時刻の区分を表現する最小の時間のことである。処理対象となるストリームデータを指定することを可能とする。 Secondly, as another conventional technique related to the relationship between the time stamp and the time, the difference in the time stamp of the stream data is determined based on time information (hereinafter referred to as time accuracy) that is fixedly set. A stream data processing system for determination will be described. The time accuracy is the minimum time interval indicating the passage of time in the stream data processing system, and is the minimum time for expressing the time division. It is possible to specify stream data to be processed.
図14に、時刻精度を用いるストリームデータ処理システム1400の処理例を模式的に示す。ストリームデータ処理システム1400は、図13に示すストリームデータ処理システム1300と同様に、時刻管理部1404及びクエリ処理制御部1406を有し、更に、時刻精度管理部1407を有する。時刻精度管理部1407は、時刻精度を保持し、この時刻精度は固定的なものである。図14では、時刻精度が「1秒」である例を示している。また、クエリ処理制御部1406は、ストリームデータの合計値を算出するようになっている。この例の場合、時刻精度を用いるストリームデータ処理システム1400では、"10時00分00秒"のタイムスタンプを有するストリームデータA、A´及びBと、"10時00分01秒"のタイムスタンプを有するストリームデータCとを、それぞれ異なる時刻におけるストリームデータとして別々に処理するようになっている。更に、"10時00分00秒"というタイムスタンプを有する3つのストリームデータA、A´及びBの入力を受けたした場合には、時刻制度を用いるストリームデータ処理システム1400は、3つのストリームデータを同じストリームデータとして同時に処理するようになっている。
FIG. 14 schematically illustrates a processing example of the stream
また、第3に、非特許文献1には、"ウィンドウ"に関する技術も開示されている。ウィンドウとは、理論的に無限に発生するストリームデータを、有限の記憶域によって処理することを目的とし、ストリームデータを所定の時刻間隔又は所定のストリームデータ数によって区切って処理を行う技術である。
Thirdly, Non-Patent
図15に、ウィンドウを用いたストリームデータ処理システム1500の処理を模式的に示す。ストリームデータ処理システム1500は、図13に示すストリームデータ処理システム1300及び図14に示すストリームデータ処理システム1400と同様に、時刻管理部1504及びクエリ処理制御部1506を有し、ストリームデータA〜Eが入力されるようになっている。また、クエリ処理制御部1506は、ストリームデータの合計値を算出するクエリによって、ストリームデータを処理する。
FIG. 15 schematically shows processing of the stream data processing system 1500 using a window. Similar to the stream
更に、ストリームデータ処理システム1400が用いるウィンドウは、所定の時刻間隔によって指定される。例えば、時刻間隔が1分であるとすると、ストリームデータA〜D、即ち10時00分00秒から10時00分59秒までのタイムスタンプが付加されたストリームデータが処理対象として指定される。ストリームデータA、B、C及びDの値1402は、夫々「10」、「-1」、「4」及び「7」である。
Further, the window used by the stream
ストリームデータ処理システム1400は、ストリームデータAの入力を受けた後、処理結果に「10」を取得する。さらに、ストリームデータBの入力後、ストリームデータAの値1402(「10」)と、ストリームデータBの値1402(「−1」)との合計値を算出し、「9」という結果を取得する。次に、ストリームデータCの入力後、ストリームデータAの値1402と、ストリームデータBの値1402と、ストリームデータCの値1402との合計値を算出し、算出された結果である「13」を、処理した結果として取得する。ここで、指定されたウィンドウの時刻間隔は1分であることから、ストリームデータDまでを処理した結果(「20」)を最終処理結果として出力する。
After receiving the input of the stream data A, the stream
ここで、大量に発生するストリームデータについて、例えば、10分毎の合計値を出力させるというような、所定の時刻間隔に応じてストリームデータをまとめて処理する場合を考える。 Here, let us consider a case where stream data is processed in batches according to a predetermined time interval, such as outputting a total value every 10 minutes for a large amount of stream data.
先ず、上記第1で述べた、図13に示すストリームデータ処理システム1300では、システム時刻毎に基準時刻が更新されるため、ストリームデータがシステム時刻毎に処理されるようになる。このようなシステムでは、例えば、10分毎といった所定の時間間隔毎で合計値を出力させるような処理は困難である。
First, in the stream
また、上記第2で述べた、時刻精度を利用するストリームデータ処理システムでも、タイムスタンプが時刻精度内であるストリームデータを同じストリームデータとして処理することもできるが、時刻精度は固定的なものであるため、時刻精度より長い時刻間隔で入力された複数のストリームデータをまとめて処理することは困難である。同様に時刻精度より短い時間隔でストリームデータの処理を実行させることもできない。 In the stream data processing system using the time accuracy described in the second, stream data whose time stamp is within the time accuracy can be processed as the same stream data, but the time accuracy is fixed. Therefore, it is difficult to process a plurality of stream data input at time intervals longer than the time accuracy. Similarly, processing of stream data cannot be executed at an interval shorter than the time accuracy.
なお、時刻精度が予め指定されたストリームデータ処理システムにおいて、所定の時刻間隔に存在する複数のストリームデータのタイムスタンプを、システムの時刻精度が示す時刻毎に、同一の時刻に更新することで、時刻精度より長い時刻間隔に含まれるタイムスタンプを有するストリームデータをまとめて処理するようにすることも考えられる。即ち時刻精度を利用するストリームデータ処理システムは、所定の時刻精度内にあるストリームデータを同じストリームデータとして同時に処理する。よって、所定の時間間隔にあるストリームデータのタイムスタンプを時刻精度内の時刻に更新することで、システムは、それらを同じストリームデータであるとして同時に処理することができる。所謂データの丸め込み処理の一つである。 In the stream data processing system in which the time accuracy is specified in advance, by updating the time stamps of a plurality of stream data existing at a predetermined time interval to the same time for each time indicated by the system time accuracy, It may be considered that stream data having time stamps included in a time interval longer than the time accuracy are processed together. That is, a stream data processing system that uses time accuracy simultaneously processes stream data within a predetermined time accuracy as the same stream data. Therefore, by updating the time stamp of the stream data at a predetermined time interval to a time within the time accuracy, the system can process them simultaneously as the same stream data. This is one of so-called data rounding processes.
しかしながら、このようにタイムスタンプを時刻精度内の時刻に更新してしまうと、本来のタイムスタンプを破棄することになってしまう。つまり、本来のタイムスタンプを有するストリームデータ(以下、生データと記述する。)の保存ができなくなる。更に、生データの保存を考慮し、生データのタイムスタンプを更新せずに、タイムスタンプが変更されたストリームデータの複製を生成し、その複製データで処理を実行し、生データは別に保存することもできるが、その分、処理負荷の増大やリソースの確保が要求されることになる。 However, if the time stamp is updated to a time within the time accuracy in this way, the original time stamp is discarded. That is, it becomes impossible to store stream data having an original time stamp (hereinafter referred to as raw data). Furthermore, considering the storage of the raw data, without updating the time stamp of the raw data, a copy of the stream data with the changed time stamp is generated, processing is performed on the copied data, and the raw data is stored separately. However, it is necessary to increase the processing load and secure resources accordingly.
更に、上記第3で述べた、ウィンドウを用いたストリームデータ処理では、図14のようにウィンドウの間隔に含まれる各ストリームデータを逐次処理する。このため、最終的な結果を取得するためにストリームデータをクエリによって4回処理することになる。従って、ウィンドウを用いたストリームデータ処理システムは、複数のストリームデータの処理において、無駄な処理が発生し、処理負荷及び資源負荷を増大させる。 Further, in the stream data processing using the window described in the third, each stream data included in the window interval is sequentially processed as shown in FIG. For this reason, in order to obtain the final result, the stream data is processed four times by the query. Therefore, in the stream data processing system using a window, useless processing occurs in processing of a plurality of stream data, thereby increasing processing load and resource load.
本発明は、ストリームデータ処理の丸め込み処理をより効率的に行うとともにその利便性を向上させることを目的とする。 It is an object of the present invention to more efficiently perform rounding processing of stream data processing and improve its convenience.
本発明の代表的な一形態によると、複数のストリームデータの入力を受け、前記ストリームデータを処理するための基準時刻を用いて、前記ストリームデータを処理するストリーム処理計算機に、所定の時間の長さを示す時刻精度を保持する機能と、前記ストリームデータに含まれる時刻情報を抽出する機能と、前記抽出された時刻情報から前記基準時刻を減算した結果と、前記時刻精度とを比較する機能と、前記比較の結果、前記減算した結果が小さい場合、ストリームデータを記憶領域に保留する機能と、前記比較の結果、前記減算した結果が大きい場合、前記保留したストリームデータを同一の時刻情報を含むものとして処理する。 According to a representative aspect of the present invention, a stream processing computer that receives a plurality of stream data inputs and processes the stream data using a reference time for processing the stream data has a predetermined length of time. A function for maintaining the time accuracy indicating the time, a function for extracting the time information included in the stream data, a function for comparing the result obtained by subtracting the reference time from the extracted time information, and the time accuracy. As a result of the comparison, when the subtraction result is small, the function of holding the stream data in the storage area, and when the subtraction result is large as a result of the comparison, the reserved stream data includes the same time information. Treat as a thing.
本発明の一実施形態によると、所定時間内に含まれるストリームデータを効率的に処理することができ又利便性を向上することができる。 According to an embodiment of the present invention, stream data included in a predetermined time can be efficiently processed, and convenience can be improved.
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
(システム構成)
図1は、本発明の実施形態のストリームデータ処理システム107が含まれる計算機システムを示すブロック図である。(System configuration)
FIG. 1 is a block diagram showing a computer system including a stream
図1は、本発明を適用した一実施形態である計算機システム1を示すブロック図である。計算機システム1は、ストリームデータ送信計算機126と、ストリームデータ処理計算機101と、ストリームデータ処理結果計算機127とが、夫々ネットワーク128、ネットワーク129を介して通信可能に接続されて構成される。ストリームデータ送信計算機126は、ストリームデータを生成してストリームデータ処理計算機101に送信する計算機である。ストリームデータ処理計算機101は、ストリームデータの入力を受け、外部からの入力或いは予め設定されたクエリ(要求や問合せ)に応じて、ストリームデータに所定の処理を行い、処理結果を出力する計算機である。ストリームデータ処理結果計算機127は、ストリームデータの処理結果の入力を受け、処理結果の表示やその結果に対して更なる処理を行った結果等を表示する計算機である。
FIG. 1 is a block diagram showing a
なお、本実施形態では、これらストリームデータ処理計算機101、ストリームデータ送信計算機126及びストリームデータ処理結果計算機127をネットワークで通信可能とする構成としたが、同一計算機上にこれら各計算機の一部又は全部の機能を有する構成としてもよい。
In this embodiment, the stream
ネットワーク128及びネットワーク129は、インターネット又はWAN等のネットワークである。また、ストリームデータ処理計算機101、ストリームデータ送信計算機126及びストリームデータ処理結果計算機127は、NIC等を介してネットワーク128又はネットワーク129に接続される。
The
以下に、上述した各計算機の構成について詳細に説明する。 The configuration of each computer described above will be described in detail below.
ストリームデータ送信計算機126は、CPU10、主記憶20及び補助記憶装置30を備える計算機であり、ストリームデータをストリームデータ処理計算機101に送信する。図1に示すストリームデータ送信計算機126は一つであるが、本発明の計算機システムは、複数のストリームデータ送信計算機126を備えてもよい。
The stream
ストリームデータ送信計算機126の主記憶20には、ストリームデータ送信部及びアプリケーション実行部が含まれる。ストリームデータ送信部21及びアプリケーション実行部22は、CPU10とプログラムとの協働によって構成された機能部である。アプリケーション実行部22は、所定のアプリケーション処理を実行し、その処理によってストリームデータを生成する。ストリームデータ送信部21は、アプリケーション実行部22によって生成されたストリームデータをストリームデータ処理計算機101に送信する。
The
ストリームデータ処理結果計算機127は、CPU150、主記憶160及び補助記憶装置170を備える計算機であり、所定の処理が行われたストリームデータをストリームデータ処理計算機101から受信する。本実施形態において、計算機システム1のストリームデータ処理結果計算機127は一つであるが、複数のストリームデータ処理結果計算機127を備えてもよい。
The stream data
主記憶160には、ストリームデータ受信部162及びアプリケーション実行部161が含まれる。ストリームデータ受信部162及びアプリケーション実行部161は、プログラムであり、CPU150と協働によって構成された機能部である。ストリームデータ受信部162は、ストリームデータ処理計算機101から所定の処理が行われたストリームデータを受信する。アプリケーション実行部161は、ストリームデータ処理計算機101から、所定の処理がなされたストリームデータの入力を受け、その処理結果を出力(表示、印刷、データ格納)するための所定のアプリケーションを実行するためのアプリケーションプログラムである。ストリームデータ受信部162は、ストリームデータ処理計算機101から所定の処理が行なわれたストリームデータを受信する。
The
ストリームデータ処理計算機101は、CPU103、主記憶102、補助記憶装置104、入力装置105及び出力装置106を備える。CPU103は、主記憶102に保持されるプログラムを実行するためのプロセッサである。主記憶102は、一時的な記憶領域を持つ記憶装置である。補助記憶装置104は、ハードディスクドライブ等の不揮発性記憶装置である。
The stream
入力装置105は、管理者又はユーザ等が、ストリームデータ処理計算機101にデータを入力するために用いる装置である。入力装置105は、例えば、キーボード又はマウス等である。入力装置105を介して、ストリームデータ送信計算機126から受信したストリームデータの処理内容であるクエリ(要求や問合せ)や後述する時刻精度を入力するができるようになっている。出力装置106は、クエリの入力画面や処理に関する種々の情報を管理者又はユーザ等に、提示するディスプレイや、ストリームデータ処理計算機101による処理の結果を出力するためのプリンタ等から構成される。
The
主記憶102は、オペレーティングシステム108及びストリームデータ処理システム107を保持する。オペレーティングシステム108は、ストリームデータ処理計算機101に備わるCPU103等のハードウェアに、主記憶102に保持されるプログラムを実行させるためのプログラムである。オペレーティングシステム108は、ストリームデータ処理計算機101において用いられるシステム時刻125を保持する。
The
ストリームデータ処理システム107は、ストリームデータ送信計算機126から受信したストリームデータを処理し、処理した結果をストリームデータ処理結果計算機127に送信するためのプログラムである。また、本実施形態のストリームデータ処理システム107は、入力装置105から入力されたクエリ等を受信するようになっている。
The stream
ストリームデータ処理システム107には、クエリ管理部109、ストリームデータ処理部110、時刻精度管理部111及び時刻管理部112が含まれる。クエリ管理部109、ストリームデータ処理部110、時刻精度管理部111及び時刻管理部112はCPU103が所定のプログラムを実行することによって実現される。
The stream
(第1の実施形態)
図2は、本発明の第1の実施形態のストリームデータ処理システム107の論理的な構成を示すブロック図である。第1の実施形態では、管理者やユーザからの入力指定によって任意に設定できる点を特徴の一つとする。(First embodiment)
FIG. 2 is a block diagram showing a logical configuration of the stream
クエリ管理部109は、ストリームデータを処理するクエリを保持するための機能である。クエリは、ストリームデータを処理する方法や処理の内容を示す。
The
クエリ管理部109は、クエリ登録部113、クエリ解析部114、クエリ情報テーブル115、クエリ定義116及びストリーム定義117を含む。クエリ登録部113は、管理者又はユーザ等によって入力されたクエリを、クエリ解析部114を介してクエリ情報テーブル115に格納するための機能である。
The
クエリ情報テーブル115は、クエリ定義116及びストリーム定義117を保持することによって、ストリームデータへの処理内容を示すクエリを保持する。ストリーム定義117には、ストリームデータの種類等、ストリームデータを識別するための情報が含まれ、クエリ定義116には、ストリーム定義117が示すストリームデータに対応するクエリが含まれる。
The query information table 115 holds a query indicating the processing content for stream data by holding the
クエリ解析部114は、クエリ登録部113から送信されたクエリを、クエリ情報テーブル115に格納する。また、クエリ解析部114は、クエリ情報テーブル115を参照することによって、ストリームデータへの処理内容を示すクエリを抽出する。そして、ストリームデータ処理部110にクエリを送信する。
The
なお、クエリ解析部114は、クエリとともに、クエリに関する情報をストリームデータ処理部110に送信してもよい。このクエリに関する情報には、クエリを一意に識別するための識別子が含まれる。
Note that the
ストリームデータ処理部110は、ストリームデータ送信計算機126から送信されたストリームデータを、クエリ管理部109から送信されるクエリによって処理するための機能である。そして、クエリによって処理されたストリームデータを、ストリームデータ処理結果計算機127に送信するための機能である。
The stream
ストリームデータ処理部110は、ストリームデータ受信部118、クエリ処理制御部119及びストリームデータ送信部120を含む。ストリームデータ受信部118は、ストリームデータ送信計算機126から送信されるストリームデータを受信するための機能である。
The stream
クエリ処理制御部119は、クエリ解析部114から送信されたクエリと、時刻管理部112から送信された基準時刻124とに基づいて、ストリームデータを処理するための機能である。ストリームデータ送信部120は、クエリ処理制御部119において、クエリによって処理されたストリームデータを、ストリームデータ処理結果計算機127に送信するための機能である。
The query
時刻精度管理部111は、本実施形態の時刻精度を保持するための機能である。時刻精度管理部111は、時刻精度情報テーブル122及び時刻精度入力部123を含む。
The time
時刻精度情報テーブル122は、時刻精度の値を保持する。時刻精度入力部123は、管理者又はユーザ等によって入力された時刻精度の値を、入力装置105を介して受信し、受信された時刻精度の値を時刻精度情報テーブル122に格納するための機能である。
The time accuracy information table 122 holds time accuracy values. The time
時刻管理部112は、基準時刻124を保持するための機能である。時刻管理部112は、時刻精度管理部111から時刻精度を取得する。そして、時刻管理部112は、基準時刻124と時刻精度とをクエリ処理制御部119に送信する。
The
図3Aは、第1の実施形態の時刻精度入力部123へファイルによって時刻精度を入力する場合の入力値の例を示す説明図である。
FIG. 3A is an explanatory diagram illustrating an example of input values when the time accuracy is input to the time
管理者又はユーザ等は、入力装置105を介して、時刻精度を時刻精度入力部123へ入力する。図3Aに示す入力値301は、時刻精度情報テーブル122に時刻精度を格納するためのファイル等に記載する例である。時刻精度入力部123は、入力装置105から、時刻精度を格納するためのファイルを受信し、受信されたファイルから時刻精度を抽出する。
An administrator, a user, or the like inputs the time accuracy to the time
図3Bは、第1の実施形態の時刻精度入力部123へコマンドによって時刻精度を入力する場合の入力値の例を示す説明図である。
FIG. 3B is an explanatory diagram illustrating an example of an input value when the time accuracy is input by a command to the time
図3Cは、第1の実施形態の時刻精度入力部123へCLIによって時刻精度を入力する場合の入力値の例を示す説明図である。
FIG. 3C is an explanatory diagram illustrating an example of input values when the time accuracy is input by CLI to the time
また、管理者又はユーザ等は、図3Bに示す入力値302のようにコマンドによって時刻精度を時刻精度入力部123へ入力してもよい。また、管理者又はユーザ等は、図3Cの入力値302のように、入力装置105によって提供されるCLI(Comand Line Interface)によって時刻精度を時刻精度入力部123へ入力してもよい。
Further, the administrator or the user may input the time accuracy to the time
図3Dは、第1の実施形態の時刻精度入力部123へ時刻精度を入力するための入力装置105の画面304の例を示す説明図である。
FIG. 3D is an explanatory diagram illustrating an example of a
管理者又はユーザ等は、図3Dに示す画面304のように、入力装置105によって提供されるGUIによって時刻精度を時刻精度入力部123へ入力してもよい。図3Dに示す画面304では、入力された時刻精度の数値は10であり、時刻精度の単位は分である例を示している。
An administrator, a user, or the like may input the time accuracy to the time
なお、図3A〜図3Dに示す時刻精度入力部123への入力するための方法は、例であり、時刻精度の数値を時刻精度入力部123に入力できれば、いかなる方法を用いてもよい。
The method for inputting to the time
図4は、第1の実施形態の時刻精度情報テーブル122に格納される時刻精度を示す説明図である。 FIG. 4 is an explanatory diagram illustrating the time accuracy stored in the time accuracy information table 122 according to the first embodiment.
時刻精度入力部123は、入力装置105から入力された時刻精度を、図4に示す時刻精度情報テーブル122に格納する。時刻精度情報テーブル122は、時刻精度の数値を数値401に保持し、時刻精度の単位を単位402に格納する。
The time
なお、図4に示す時刻精度情報テーブル122は例であり、時刻精度の値を保持できれば、時刻精度情報テーブル122がいかなる方法によって時刻精度を保持してもよい。 Note that the time accuracy information table 122 shown in FIG. 4 is an example, and the time accuracy information table 122 may hold the time accuracy by any method as long as the time accuracy value can be held.
次に、以上の構成を有する計算機システム1の処理について説明する。
Next, processing of the
図5は、第1の実施形態のストリームデータ処理システム107の処理の概要を示す模式図である。
FIG. 5 is a schematic diagram illustrating an outline of processing of the stream
図5は、本実施形態のストリームデータ処理システム107、時刻精度管理部111、時刻管理部112及びクエリ処理制御部119を示す。なお、図5ではクエリ管理部109(図2)等は省略している。クエリ処理制御部119は、クエリを解析し、その内容に従って種々の演算を行う。本実施形態では、ストリームデータの合計値を算出することを例に説明するものとする。
FIG. 5 shows the stream
先ず、ストリームデータ処理システム107は、ストリームデータA〜Eを受信する(入力を受ける)。ストリームデータA〜Eは、識別子201、値202及びタイムスタンプ203を含む(上述の従来技術で述べた図13や図14の、識別子1301、値1302及びタイムスタンプ1303等と同様である)。
First, the stream
時刻精度管理部111は、時刻精度が1分であることを示す情報を保持する。また、時刻管理部112は、基準時刻124に10時00分00秒を保持する。この時、クエリ処理制御部119は、基準時刻124から1分の時刻精度によって、ストリームデータを処理する。即ちクエリ処理制御部119は、10時00分00秒を示すタイムスタンプを付加されたストリームデータAから10時00分00秒から1分の間を示すタイムスタンプを付加されたストリームデータDまでを、同じストリームデータであると識別して処理する。具体的には、ストリームデータA〜Dを同じストリームデータであると識別し、更に、ストリームデータA〜Dの合計値をまとめて演算する。つまり、クエリ処理制御部119は、ストリームデータA〜Dの合計値を取得するため、1回だけ、クエリによって処理する。
The time
また、時刻精度を利用する構成であることから、ストリームデータ自体のタイムスタンプ203を更新することなく、処理する。 クエリ処理制御部119での演算方法について、より詳細に説明すると、従来のストリームデータ処理では、ストリームデータA〜Dという4つのストリームデータの値の合計を算出する場合、先ず1つ目のストリームデータの値A及び2つ目のストリームデータの値Bの合計を演算して出力し、次いで、A、B及び3つ目のストリームデータの値Cの合計を演算して出力し、次いで、A、B、C及び4つ目のストリームデータの値Dの合計を演算して出力する。これに対し、本実施形態のクエリ処理制御部119は、ストリームデータA〜Dを1回の演算によって処理するため、クエリによる処理が従来に比して格段に低減され、性能向上、処理時間の短縮及び負荷の低減を実現できるという特徴がある。本実施形態では、4つのストリームデータの値を合計することを例としているが、演算対象とするストリームデータの数が増加するほど、この演算方法の差がストリームデータ処理での性能等に大きく影響する。
In addition, since the time accuracy is used, processing is performed without updating the
図6は、第1の実施形態のストリームデータ処理システム107の処理の詳細を示すフローチャートである。
FIG. 6 is a flowchart illustrating details of the processing of the stream
図6に示す処理は、ストリームデータを受信する毎に、ストリームデータ処理システム107によって実行される。なお、第1の実施形態において、時刻精度管理部111は、図6に示す処理の前に、管理者又はユーザ等によって時刻精度が入力される。
The process shown in FIG. 6 is executed by the stream
まず、クエリ処理制御部119が、主記憶102の所定のメモリ空間上にストリームデータの入力を検出すると、時刻管理部112は、クエリ処理制御部119から送信される指示に従って、時刻精度管理部111に含まれる時刻精度情報テーブル122から時刻精度を取得する(S601)。なお、クエリ処理制御部119から時刻管理部112に送信される指示には、基準時刻124をクエリ処理制御部119に送る指示が含まれる。
First, when the query
そして、S601におけるクエリ処理制御部119は、基準時刻124と時刻精度とを、時刻管理部112から受信する。さらに、S601におけるクエリ処理制御部119は、入力を検出したストリームデータのうち、最も先に入力され、かつ、クエリに応じた処理がまだされていないストリームデータを抽出し、抽出されたストリームデータに付加されたタイムスタンプ203を、さらに抽出する。
In step S <b> 601, the query
またクエリ処理制御部119は、ストリームデータを受信した際、クエリ解析部114にストリームデータを処理すべきクエリを要求し、クエリ解析部114からクエリを受信する。
When the query
S601又はS607の後、クエリ処理制御部119は、S601又はS607において抽出されたタイムスタンプ203から、基準時刻124を減算することによって、ストリームデータのタイムスタンプ203と基準時刻124との時刻差を算出する(S602)。
After S601 or S607, the query
S602の後、クエリ処理制御部119は、S602において算出された時刻差が、S601において受信した時刻精度よりも小さい値であるか否かを判定する(S603)。S602において算出された時刻差が、S601において取得された時刻精度以上であると判定された場合、受信されたストリームデータを処理するため、クエリ処理制御部119は、S604に移行する。
After S602, the query
S602において算出された時刻差が、S601において受信された時刻精度よりも小さい値であると、S603において判定された場合、クエリ処理制御部119は、S602において時刻差を算出したストリームデータを保持する(S606)。そして、S606において保持されたストリームデータの次に受信されたストリームデータを抽出し、抽出されたストリームデータに付加されたタイムスタンプ1303を、さらに抽出する(S607)。
If it is determined in S603 that the time difference calculated in S602 is smaller than the time accuracy received in S601, the query
S602、S603、S606及びS607の処理を繰り返すことによって、クエリ処理制御部119は、基準時刻124から時刻精度が示す時間までにタイムスタンプ203が含まれるストリームデータを保持する。なお、S602、S603、S606及びS607の処理は、時刻管理部112によって行われてもよい。
By repeating the processing of S602, S603, S606, and S607, the query
なお、S602、S603、S606及びS607の処理を時刻管理部112が行う場合、時刻管理部112は、ストリームデータのタイムスタンプをクエリ処理制御部119を介して取得する。そして、基準時刻124から時刻精度が示す時間までにタイムスタンプ203が含まれるストリームデータをクエリ処理制御部119に送る。
When the
S603の後、クエリ処理制御部119は、クエリ処理制御部119に保持されたストリームデータを、クエリ解析部114から送信されたクエリによって処理する(S604)。S604におけるクエリ処理制御部119は、基準時刻124における処理として、ストリームデータを処理した結果をストリームデータ送信部120に送信する。
After S603, the query
S604の処理によってクエリ処理制御部119は、基準時刻124から時刻精度が示す時間までに、タイムスタンプ203が含まれるストリームデータを、同じ基準時刻124におけるストリームデータとして処理することができる。
By the process of S604, the query
S604の後、時刻管理部112は、時刻管理部112に保持される基準時刻124に、時刻精度が示す時間を加算し、加算された結果によって基準時刻124を更新する(S605)。時刻管理部112は、S604が終了する際に、クエリ処理制御部119から処理が終了した旨を受信することによってS605を開始する。
After S604, the
S605の処理によって、時刻管理部112は、基準時刻124を時刻精度ごとに更新することができる。
By the process of S605, the
S605の後、ストリームデータ処理システムは、S601に戻る。そして、S601において時刻管理部112は、更新後の新たな時刻精度を取得する。
After S605, the stream data processing system returns to S601. In step S <b> 601, the
ここで、S605の処理の後、S601において抽出されるタイムスタンプ203は、S603において、時刻差が時刻精度以上であると判定された際のタイムスタンプ203と同じである。すなわち、クエリ処理制御部119は、前回処理されたS603において、別のストリームデータであると識別されたストリームデータを、再度S601において処理する。
Here, after the process of S605, the
図6に示す処理によって、クエリ処理制御部119は、受信されたストリームデータのタイムスタンプ203を更新することなく、時刻精度毎に、受信されたストリームデータをクエリによって処理できる。
With the processing illustrated in FIG. 6, the query
なお、図6のS602、S603、S606及びS607は、クエリ処理制御部119によって実行されたが、時刻管理部112によって実行されてもよい。この時、時刻管理部112は、ストリームデータ受信部118からストリームデータのタイムスタンプ203を受信することによって、S602、S603を実行し、S606において、ストリームデータをクエリ処理制御部119に入力するよう、ストリームデータ受信部118に指示してもよい。
Note that S602, S603, S606, and S607 in FIG. 6 are executed by the query
以上が、第1実施形態の説明である。 The above is the description of the first embodiment.
本実施形態によれば、ストリームデータを丸め込んで処理する場合に、ストリームデータのタイムスタンプを書き換えることがない、よって、オリジナルのストリームデータを損なうことがないという効果がある。 According to the present embodiment, when the stream data is rounded and processed, the time stamp of the stream data is not rewritten, so that the original stream data is not damaged.
また、本実施形態では、ストリームデータを丸め込んで処理する場合に、更に、丸め込みの対象とするストリームデータに対する演算性能向上、負荷低減及び処理時間の短縮という効果がある。 Further, in this embodiment, when the stream data is rounded and processed, there are further effects that the calculation performance for the stream data to be rounded is improved, the load is reduced, and the processing time is shortened.
また本実施形態では、入力装置105を介して、管理者やユーザ等から任意の時刻精度を指定することができるようになっていることから、ストリームデータの丸め込み処理の利便性が向上するという効果がある。
In the present embodiment, an arbitrary time precision can be designated from the administrator, the user, or the like via the
(第2の実施形態)
次に、第2の実施形態について説明する。第2の実施形態は、クエリによって時刻精度を制御する点を特徴の一つとする。(Second Embodiment)
Next, a second embodiment will be described. The second embodiment is characterized in that the time accuracy is controlled by a query.
図7は、本発明の第2の実施形態のストリームデータ処理システム107の論理的な構成を示すブロック図である。
FIG. 7 is a block diagram showing a logical configuration of the stream
図7に示すストリームデータ処理システム107は、図2に示す第1の実施形態のストリームデータ処理システム107と異なり、時刻精度入力部123を必ずしも有する必要がない構成である。そして、時刻精度情報テーブル122は、クエリ解析部114と接続される。このため、時刻精度管理部111以外の、第2の実施形態のストリームデータ処理システム107の要素は、第1の実施形態のストリームデータ処理システム107の要素と同じである。
Unlike the stream
また、第2の実施形態のストリームデータ処理システム107が含まれる計算機システムは、図1に示す計算機システム1と同じである。
The computer system including the stream
図8Aは、本発明の第2の実施形態のクエリ登録部113への入力値1001の例を示す説明図である。
FIG. 8A is an explanatory diagram illustrating an example of an
図8Bは、本発明の第2の実施形態のクエリ登録部113への別の入力値1002の例を示す説明図である。
FIG. 8B is an explanatory diagram illustrating an example of another
管理者又はユーザ等は、入力装置105を介して、入力値1001又は入力値1002をクエリ登録部113に入力する。入力値1001及び入力値1002には、共に、クエリQ1を用いる処理には、時刻精度を10分とすることを示す情報が含まれる。
An administrator, a user, or the like inputs the
図9は、本発明の第2の実施形態の時刻精度情報テーブル122を示す説明図である。 FIG. 9 is an explanatory diagram illustrating the time accuracy information table 122 according to the second embodiment of this invention.
第2の実施形態の時刻精度情報テーブル122は、第1の実施形態の時刻精度情報テーブル122と同様に、数値401及び単位402を含む。そして、第2の実施形態の時刻精度情報テーブル122は、さらにクエリ名403を含む。クエリ名403には、クエリを一意に示す識別子が格納される。第2の実施形態の時刻精度情報テーブル122は、クエリ名403毎に、数値401及び単位402を含む。
Similar to the time accuracy information table 122 of the first embodiment, the time accuracy information table 122 of the second embodiment includes a
クエリ登録部113は、図8A又は図8Bに示すようなクエリを登録された後、登録されたクエリをクエリ解析部114に送信する。クエリ解析部114は、クエリ登録部113から送信されたクエリに関する情報を、時刻精度管理部111に送る。時刻精度管理部111は、受信したクエリに関する情報に基づいて、時刻精度情報テーブル122を更新する。
The
図10は、本発明の第2の実施形態の時刻精度情報テーブル122を更新する処理を示すフローチャートである。 FIG. 10 is a flowchart illustrating processing for updating the time accuracy information table 122 according to the second embodiment of this invention.
クエリがクエリ情報テーブル115に新たに格納されるか又はクエリ情報テーブル115に格納されたクエリが変更された後、クエリ解析部114は新たなクエリに関する情報、又は、変更されたクエリに関する情報を時刻精度管理部111に送信する(S501)。
After the query is newly stored in the query information table 115 or the query stored in the query information table 115 is changed, the
クエリに関する情報には、クエリを一意に識別するための識別子が含まれる。クエリを一意に識別するための識別子は、クエリ名403に対応する。
The information related to the query includes an identifier for uniquely identifying the query. An identifier for uniquely identifying a query corresponds to the
時刻精度管理部111は、クエリ解析部114から送信されたクエリに関する情報から識別子を抽出し、抽出された識別子を時刻精度情報テーブル122のクエリ名403に格納する(S502)。なお、S501において、クエリがクエリ情報テーブル115から削除される場合、S502において時刻精度管理部111は、時刻精度情報テーブル122から削除されたクエリを含む行を削除してもよい。
The time
S502の後、時刻精度管理部111は、クエリ解析部114から送信されたクエリに関する情報に、時刻精度を指定する情報が含まれているか否かを判定する(S503)。S503において、クエリ解析部114から送信されたクエリに関する情報に、時刻精度を指定する情報が含まれていないと判定された場合、時刻精度管理部111は、時刻精度情報テーブル122に含まれる時刻精度の情報を変更する必要がないため、図10に示す処理を終了する。
After S502, the time
S503において、クエリ解析部114から送信されたクエリの情報に、時刻精度を指定する情報が含まれていると判定された場合、時刻精度情報テーブル122に時刻精度の情報を格納するため、時刻精度管理部111は、S504に移行する。時刻精度管理部111は、クエリ解析部114から送信されたクエリの情報から時刻精度を示す情報を抽出する。そして、抽出された時刻精度を示す情報のうち、数値部分を数値401に格納し(S504)、単位部分を単位402に格納する(S505)。
In S503, when it is determined that the information specifying the time accuracy is included in the query information transmitted from the
図10に示す処理によって、クエリに含まれる時刻精度を、時刻精度情報テーブル122に格納することが可能である。 With the processing shown in FIG. 10, the time accuracy included in the query can be stored in the time accuracy information table 122.
第2の実施形態において、クエリ処理制御部119は、ストリームデータを処理するため、図6に示す処理を実行する。ただし、第2の実施形態の時刻管理部112は、図6のS601において、基準時刻124をクエリ処理制御部119に送る指示とともに、クエリ処理制御部119が用いるクエリに関する情報を、クエリ処理制御部119から送信される。クエリに関する情報は、クエリ解析部114がクエリ処理制御部119に送信した情報であり、クエリ名403に対応する識別子が含まれる。
In the second embodiment, the query
第2の実施形態の時刻管理部112は、S601において、クエリに関する情報に基づいて時刻精度情報テーブル122を検索する。そして、検索結果に基づいて、クエリに関する情報に対応する数値401及び単位402を抽出し、抽出結果が示す時刻精度を取得する。
In step S601, the
以上が、第2の実施形態の説明である。 本実施形態によれば、クエリ処理制御部119が用いるクエリによって、時刻精度を変更することが可能である。また、第2の実施形態のストリームデータ処理システムは、クエリによって時刻精度を指定されることによって、クエリ毎に時刻精度を保持することができるという効果がある。
The above is the description of the second embodiment. According to the present embodiment, the time accuracy can be changed by a query used by the query
なお、本実施形態は、クエリによって時刻精度を制御する構成となっているが、第1の実施形態で述べた入力装置105を介してのユーザ設定の構成と併用することも当然に可能である。クエリ毎に時刻精度を制御可能であるとともに任意の時刻精度を適宜設定できることから、更に、ストリームデータ処理の利便性が向上する。また、第1の実施形態のユーザによる時刻精度指定と、第2の実施形態のクエリを用いた時刻精度指定とをモードの切替により使い分ける構成や、競合する場合に両者のいずれかを優先する等の構成とすることは当然に可能である。
In this embodiment, the time accuracy is controlled by a query, but it is naturally possible to use it together with the configuration of user settings via the
(第3の実施形態)
次に、第3の実施形態について説明する。第3の実施形態は、時刻精度をストリームデータから算出することを特徴の一つとする。(Third embodiment)
Next, a third embodiment will be described. One of the features of the third embodiment is that the time accuracy is calculated from the stream data.
図11は、本発明の第3の実施形態のストリームデータ処理システム107の論理的な構成を示すブロック図である。
FIG. 11 is a block diagram illustrating a logical configuration of the stream
第3の実施形態のストリームデータ処理システム107において、時刻精度管理部111は、時刻精度判定部121を含む。時刻精度判定部121は、ストリームデータ受信部118によって受信されたストリームデータを参照し、時刻精度を算出するための機能である。
In the stream
第3の実施形態のストリームデータ処理システム107の要素は、時刻精度判定部121以外、第1の実施形態のストリームデータ処理システム107と同じ要素である。また、第2の実施形態のストリームデータ処理システム107が含まれる計算機システムは、図1に示す計算機システムと同じである。
The elements of the stream
図12は、本発明の第3の実施形態の時刻精度判定部121の処理を示すフローチャートである。
FIG. 12 is a flowchart illustrating processing of the time
図12に示す処理は、ストリームデータ受信部118がストリームデータを受信する毎に、時刻精度判定部121によって実行されてもよい。また、1週間又は1カ月などの所定の周期において実行されてもよい。
The process illustrated in FIG. 12 may be executed by the time
まず、時刻精度判定部121は、ストリームデータ受信部118によって受信されたストリームデータのタイムスタンプ203を取得する(S1201)。
First, the time
S1201の後、時刻精度判定部121は、S1201においてタイムスタンプ203を取得されたストリームデータよりも、一つ前に受信されたストリームデータのタイムスタンプ203を取得する。そして、S1201において取得したタイムスタンプ203から、一つ前に受信されたストリームデータのタイムスタンプ203を減算することによって、二つの連続したストリームデータの時刻差を算出する。そして、算出された時刻差を主記憶102等に一時的に保持する。(S1202)。
After S1201, the time
S1202の後、時刻精度判定部121は、主記憶102等に保持された複数の時刻差に基づいて、以前に受信された二つの連続したストリームデータの時刻差の平均値を算出する(S1203)。さらにS1203の後、S1203において算出された時刻差の平均値と時刻精度情報テーブル122に格納される時刻精度とが相違するか否かを判定する(S1204)。
After S1202, the time
S1204において、時刻差の平均値と時刻精度情報テーブル122に格納される時刻精度とが等しいと判定された場合、時刻精度判定部121は、時刻精度を更新する必要がないため、S1201に戻る。
If it is determined in S1204 that the average value of the time differences is equal to the time accuracy stored in the time accuracy information table 122, the time
S1204において、時刻差の平均値と時刻精度情報テーブル122に格納される時刻精度とが相違すると判定された場合、時刻精度を、時刻差の平均値に更新するため、時刻精度判定部121は、時刻精度情報テーブル122の数値401及び単位402に、時刻差の平均値を格納する(S1205)。そして、S1205の後、時刻精度判定部121は、S1201に戻る。
In S1204, when it is determined that the average value of the time difference is different from the time accuracy stored in the time accuracy information table 122, the time
なお、S1202において時刻精度判定部121は、例えば、五つの連続したストリームデータA〜Eの各々のストリームデータのタイムスタンプ203を取得し、最も古く受信されたストリームデータAから最も新しく受信されたストリームデータEまでの時刻差を算出してもよい。そして、S1203において、五つの連続したストリームデータの時刻差の平均値を算出し、算出された時刻差の平均値と時刻精度とを、S1204において比較してもよい。
In step S1202, the time
前述の例によれば、時刻精度判定部121は、所定の個数のストリームデータを処理するための時刻精度を算出することができる。
According to the above-described example, the time
また、クエリ処理制御部119が用いるクエリによって、時刻精度を判定してもよい。すなわち、時刻精度管理部111は、クエリ解析部114から送信されるクエリに関する情報を、クエリ処理制御部119及び時刻管理部112を介して取得してもよい。そして、S1205において、クエリに関する情報が示すクエリ名403と対応させて、数値401及び単位402に、時刻差の平均値を格納してもよい。
Moreover, you may determine time precision with the query which the query
さらに、第3の実施形態のクエリ処理制御部119も、ストリームデータをクエリによって処理する際、図6に示す処理と同じ処理を実行する。
Furthermore, the query
以上が第3の実施形態の説明である。 The above is the description of the third embodiment.
本実施形態によれば、管理者又はユーザ等によって、時刻精度を入力されることなく、自動的に時刻精度を算出することができる。 According to the present embodiment, the time accuracy can be automatically calculated without inputting the time accuracy by an administrator or a user.
また、本実施形態によれば、時刻精度を変更することによって、所定時間内に含まれるストリームデータを効率的に処理し、処理の遅延及び資源への負荷を低減することができる。すなわち、無駄な処理を実行することなく、所定時間内に含まれる複数のストリームデータを処理することができる。 Further, according to the present embodiment, by changing the time accuracy, stream data included in a predetermined time can be efficiently processed, and processing delay and resource load can be reduced. That is, it is possible to process a plurality of stream data included in a predetermined time without executing useless processing.
なお、本実施形態のストリームデータ処理システムは、第1、第2及び第3の実施形態のうち少なくとも二つの実施形態によって実装されることが可能である。 Note that the stream data processing system of this embodiment can be implemented by at least two embodiments among the first, second, and third embodiments.
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。 Although the present invention has been described in detail with reference to the accompanying drawings, the present invention is not limited to such specific configurations, and various modifications and equivalents within the spirit of the appended claims Includes configuration.
特に、上記種々の処理の一部又は全部を、ソフトウェア又はハードウェアで構成することも可能である。また、ソフトウェアは、磁気記憶媒体、光学式記録媒体、SSD(Solid state Disk)等の半導体記録媒体など、種々の記録媒体に格納することも当然に可能であるし、ネットワーク等を介してダウンロードすることも可能である。 In particular, part or all of the various processes described above can be configured by software or hardware. Further, the software can naturally be stored in various recording media such as a magnetic recording medium, an optical recording medium, and a semiconductor recording medium such as an SSD (Solid state Disk), or downloaded via a network or the like. It is also possible.
本発明は、複数のストリームデータを処理するストリームデータ処理システムに適用できる。 The present invention can be applied to a stream data processing system that processes a plurality of stream data.
本発明の代表的な一形態によると、複数のストリームデータの入力を受け、前記ストリームデータを処理するための基準時刻を用いて、前記ストリームデータを処理するストリームデータ処理計算機に、所定の時間の長さを示す時刻精度を保持する機能と、前記ストリームデータに含まれる時刻情報を抽出する機能と、前記抽出された時刻情報から前記基準時刻を減算した結果と、前記時刻精度とを比較する機能と、前記比較の結果、前記減算した結果が小さい場合、ストリームデータを記憶領域に保留する機能と、前記比較の結果、前記減算した結果が大きい場合、前記保留したストリームデータを同一の時刻情報を含むものとして処理する機能と、前記比較の結果、前記減算した結果が大きい場合、前記基準時刻に前記時刻精度を加算する機能と、前記加算された結果によって、前記基準時刻を更新させる機能と、を実現させる。According to an exemplary embodiment of the present invention, a stream data processing computer that receives input of a plurality of stream data and processes the stream data using a reference time for processing the stream data has a predetermined time. A function of holding time accuracy indicating a length, a function of extracting time information included in the stream data, and a function of comparing the time accuracy with a result of subtracting the reference time from the extracted time information When the subtraction result is small as a result of the comparison, the function of holding the stream data in the storage area, and when the subtraction result is large as a result of the comparison, the reserved stream data is set to the same time information. If the result of the comparison and the subtraction result is large, the time accuracy is added to the reference time. Features and, by the summed result, to realize a function for updating the reference time.
Claims (20)
所定の時間の長さを示す時刻精度を保持する機能と、
前記ストリームデータに含まれる時刻情報を抽出する機能と、
前記抽出された時刻情報から前記基準時刻を減算した結果と、前記時刻精度とを比較する機能と、
前記比較の結果、前記減算した結果が小さい場合、ストリームデータを記憶領域に保留する機能と、
前記比較の結果、前記減算した結果が大きい場合、前記保留したストリームデータを同一の時刻情報を含むものとして処理する機能と、
を実現させることを特徴とするプログラム。A stream processing computer that receives a plurality of stream data inputs and processes the stream data using a reference time for processing the stream data,
A function to maintain time accuracy indicating a predetermined length of time;
A function of extracting time information included in the stream data;
A function of subtracting the reference time from the extracted time information and comparing the time accuracy;
As a result of the comparison, when the result of the subtraction is small, a function of holding the stream data in a storage area;
As a result of the comparison, when the result of the subtraction is large, a function of processing the reserved stream data as including the same time information;
A program characterized by realizing.
前記時刻精度を更新する指示を受信する機能と、
前記受信した指示に応じて前記時刻精度を更新する機能と、
を更に実現させることを特徴とするプログラム。The program according to claim 1,
A function of receiving an instruction to update the time accuracy;
A function of updating the time accuracy according to the received instruction;
Is further realized.
前記時刻精度を更新する指示を、前記ストリームデータ処理計算機が備えるデータ入力装置を介して受信する機能を実現させることを特徴とするプログラム。The program according to claim 2,
A program for realizing a function of receiving an instruction to update the time accuracy via a data input device provided in the stream data processing computer.
クエリによって前記ストリームデータを処理する機能と、
前記クエリを更新する指示を受信する機能と、
前記受信したクエリを更新する指示に含まれる時刻精度を抽出する機能と、
前記抽出した時刻精度を保持する機能と、
を更に実現させることを特徴とするプログラム。The program according to claim 2 or 3,
A function of processing the stream data by a query;
A function of receiving an instruction to update the query;
A function of extracting the time accuracy included in the instruction to update the received query;
A function of maintaining the extracted time accuracy;
Is further realized.
前記抽出した各時刻情報に基づいて、前記時刻精度を算出する機能と、
前記算出した時刻精度を保持する機能と、
を実現させることを特徴とするプログラム。The program according to claim 1,
A function for calculating the time accuracy based on the extracted time information;
A function of maintaining the calculated time accuracy;
A program characterized by realizing.
前記抽出した各時刻情報から、連続した所定数のストリームデータの各時刻情報の複数の組を抽出する機能と、
前記時刻情報の各組のうち最も後に入力された前記ストリームデータの時刻情報と、最も先に入力された前記ストリームデータの時刻情報とを抽出する機能と、
前記抽出された最も後に入力された前記ストリームデータの時刻情報から、前記最も先に入力されたストリームデータの時刻情報を減算することによって、前記各組の時刻差を算出する機能と、
前記複数の組の時刻差の平均値を算出する機能と、
前記平均値を保持する機能と、
を実現させることを特徴とするプログラム。The program according to claim 5,
A function of extracting a plurality of sets of time information of a predetermined number of continuous stream data from the extracted time information;
A function of extracting the time information of the stream data input most recently in each set of the time information and the time information of the stream data input first;
A function of calculating a time difference of each set by subtracting the time information of the stream data inputted first from the time information of the stream data inputted latest.
A function of calculating an average value of the time differences of the plurality of sets;
A function of holding the average value;
A program characterized by realizing.
前記比較の結果、前記減算した結果が大きい場合、
前記基準時刻に前記時刻精度を加算する機能と、
前記加算された結果によって、前記基準時刻を更新させる機能と、
を更に実現させることを特徴とするプログラム。The program according to any one of claims 1 to 6,
As a result of the comparison, if the result of the subtraction is large,
A function of adding the time accuracy to the reference time;
A function of updating the reference time according to the added result;
Is further realized.
前記計算機が、
所定の時間の長さを示す時刻精度を保持し、
前記ストリームデータに含まれる時刻情報を抽出し、
前記抽出された時刻情報から前記基準時刻を減算した結果と、前記時刻精度とを比較し、
前記比較の結果、前記減算した結果が小さい場合、ストリームデータを記憶領域に保留し、
前記比較の結果、前記減算した結果が大きい場合、前記保留したストリームデータを同一の時刻情報を含むものとして処理することを特徴とするストリームデータ処理方法。A stream data processing method of a stream processing computer that receives input of a plurality of stream data and processes the stream data using a reference time for processing the stream data,
The calculator is
Holds time accuracy indicating the length of time,
Extracting time information contained in the stream data;
The result of subtracting the reference time from the extracted time information is compared with the time accuracy,
As a result of the comparison, when the subtraction result is small, the stream data is held in the storage area,
As a result of the comparison, if the result of the subtraction is large, the reserved stream data is processed as including the same time information.
前記計算機が、更に、
前記時刻精度を更新する指示を受信し、
前記受信した指示に応じて前記時刻精度を更新することを特徴とするストリームデータ処理方法。The stream data processing method according to claim 8,
The calculator further comprises:
Receiving an instruction to update the time accuracy;
A stream data processing method, wherein the time accuracy is updated according to the received instruction.
前記時刻精度を更新する指示を、前記ストリームデータ処理計算機が備えるデータ入力装置を介して受信することを特徴とするストリームデータ処理方法。The stream data processing method according to claim 9,
A stream data processing method comprising receiving an instruction to update the time accuracy via a data input device provided in the stream data processing computer.
前記計算機が、更に、
クエリによって前記ストリームデータを処理し、
前記クエリを更新する指示を受信し、
前記受信したクエリを更新する指示に含まれる時刻精度を抽出し、
前記抽出した時刻精度を保持することを特徴とするストリームデータ処理方法。The stream data processing method according to claim 9 or 10,
The calculator further comprises:
Processing the stream data by query,
Receiving an instruction to update the query;
Extracting the time accuracy included in the instruction to update the received query;
A stream data processing method characterized by retaining the extracted time accuracy.
前記計算機が、
前記抽出した各時刻情報に基づいて、前記時刻精度を算出し、
前記算出した時刻精度を保持することを特徴とするストリームデータ処理方法。The stream data processing method according to claim 8,
The calculator is
Based on each extracted time information, the time accuracy is calculated,
A stream data processing method characterized by retaining the calculated time accuracy.
前記計算機が、
前記抽出した各時刻情報から、連続した所定数のストリームデータの各時刻情報の複数の組を抽出し、
前記時刻情報の各組のうち最も後に入力された前記ストリームデータの時刻情報と、最も先に入力された前記ストリームデータの時刻情報とを抽出し、
前記抽出された最も後に入力された前記ストリームデータの時刻情報から、前記最も先に入力されたストリームデータの時刻情報を減算することによって、前記各組の時刻差を算出し、
前記複数の組の時刻差の平均値を算出し、
前記平均値を保持することを特徴とするストリームデータ処理方法。
The stream data processing method according to claim 12,
The calculator is
From each of the extracted time information, a plurality of sets of time information of a predetermined number of continuous stream data are extracted,
Extracting the time information of the stream data input most recently in each set of the time information and the time information of the stream data input earliest,
By subtracting the time information of the stream data inputted first from the time information of the stream data inputted most recently, the time difference of each set is calculated,
Calculating an average value of the time differences of the plurality of sets,
A stream data processing method characterized by holding the average value.
前記計算機が、更に、
前記比較の結果、前記減算した結果が大きい場合、
前記基準時刻に前記時刻精度を加算し、
前記加算された結果によって、前記基準時刻を更新することを特徴とするストリームデータ処理方法。A stream data processing method according to any one of claims 8 to 13,
The calculator further comprises:
As a result of the comparison, if the result of the subtraction is large,
Adding the time accuracy to the reference time;
The stream data processing method, wherein the reference time is updated based on the added result.
前記制御部は、
所定の時間の長さを示す時刻精度を前記記憶部に保持し、
前記ストリームデータに含まれる時刻情報を抽出し、
前記抽出された時刻情報から前記基準時刻を減算した結果と、前記時刻精度とを比較し、
前記比較の結果、前記減算した結果が小さい場合、ストリームデータを記憶領域に保留し、
前記比較の結果、前記減算した結果が大きい場合、前記保留したストリームデータを同一の時刻情報を含むものとして処理することを特徴とするストリームデータ処理計算機。A stream data processing computer having a storage device that holds a reference time for processing stream data, and a control unit that processes a plurality of input stream data,
The controller is
The storage unit stores time accuracy indicating a predetermined length of time,
Extracting time information contained in the stream data;
The result of subtracting the reference time from the extracted time information is compared with the time accuracy,
As a result of the comparison, when the subtraction result is small, the stream data is held in the storage area,
As a result of the comparison, if the result of the subtraction is large, the stream data processing computer which processes the reserved stream data as including the same time information.
前記制御部は、
前記時刻精度を更新する指示を受信し、
前記受信した指示に応じて前記時刻精度を更新することを特徴とするストリームデータ処理計算機。A stream data processing computer according to claim 15,
The controller is
Receiving an instruction to update the time accuracy;
A stream data processing computer, wherein the time accuracy is updated according to the received instruction.
前記制御部は、
前記時刻精度を更新する指示を、前記ストリームデータ処理計算機が備えるデータ入力装置を介して受信することを特徴とするストリームデータ処理計算機。A stream data processing computer according to claim 16,
The controller is
An instruction to update the time accuracy is received via a data input device provided in the stream data processing computer.
前記制御部は、
クエリによって前記ストリームデータを処理し、
前記クエリを更新する指示を受信し、
前記受信したクエリを更新する指示に含まれる時刻精度を抽出し、
前記抽出した時刻精度を保持することを特徴とするストリームデータ処理計算機。A stream data processing computer according to claim 16 or 17,
The controller is
Processing the stream data by query,
Receiving an instruction to update the query;
Extracting the time accuracy included in the instruction to update the received query;
A stream data processing computer characterized by retaining the extracted time accuracy.
前記制御部は、
前記抽出した各時刻情報に基づいて、前記時刻精度を算出し、
前記算出した時刻精度を保持することを特徴とするストリームデータ処理計算機。A stream data processing computer according to claim 15,
The controller is
Based on each extracted time information, the time accuracy is calculated,
A stream data processing computer characterized by retaining the calculated time accuracy.
前記制御部は、
前記抽出した各時刻情報から、連続した所定数のストリームデータの各時刻情報の複数の組を抽出し、
前記時刻情報の各組のうち最も後に入力された前記ストリームデータの時刻情報と、最も先に入力された前記ストリームデータの時刻情報とを抽出し、
前記抽出した最も後に入力された前記ストリームデータの時刻情報から、前記最も先に入力されたストリームデータの時刻情報を減算することによって、前記各組の時刻差を算出し、
前記複数の組の時刻差の平均値を算出し、
前記平均値を前記記憶装置に保持することを特徴とするストリームデータ処理計算機。The stream data processing computer according to claim 19,
The controller is
From each of the extracted time information, a plurality of sets of time information of a predetermined number of continuous stream data are extracted,
Extracting the time information of the stream data input most recently in each set of the time information and the time information of the stream data input earliest,
By subtracting the time information of the stream data input earliest from the time information of the stream data input most recently input, the time difference of each set is calculated,
Calculating an average value of the time differences of the plurality of sets,
A stream data processing computer, wherein the average value is held in the storage device.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/069465 WO2012059976A1 (en) | 2010-11-02 | 2010-11-02 | Program, stream data processing method, and stream data processing computer |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5472885B2 JP5472885B2 (en) | 2014-04-16 |
JPWO2012059976A1 true JPWO2012059976A1 (en) | 2014-05-12 |
Family
ID=46024108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012541649A Active JP5472885B2 (en) | 2010-11-02 | 2010-11-02 | Program, stream data processing method, and stream data processing computer |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5472885B2 (en) |
WO (1) | WO2012059976A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6313864B2 (en) * | 2014-10-27 | 2018-04-18 | 株式会社日立製作所 | Stream data processing method and stream data processing apparatus |
CN106598823B (en) * | 2016-10-19 | 2019-01-25 | 同盾控股有限公司 | A kind of the residual quantity calculation method and system of network behavior feature |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3906712B2 (en) * | 2002-02-27 | 2007-04-18 | 株式会社日立製作所 | Data stream processing device |
JP4687253B2 (en) * | 2005-06-03 | 2011-05-25 | 株式会社日立製作所 | Query processing method for stream data processing system |
JP5337447B2 (en) * | 2008-10-28 | 2013-11-06 | 株式会社日立製作所 | Stream data processing method and system |
JP5465413B2 (en) * | 2008-10-29 | 2014-04-09 | 株式会社日立製作所 | Stream data processing method and system |
JP5149840B2 (en) * | 2009-03-03 | 2013-02-20 | 株式会社日立製作所 | Stream data processing method, stream data processing program, and stream data processing apparatus |
JP4870183B2 (en) * | 2009-03-13 | 2012-02-08 | 株式会社日立製作所 | Failure recovery method, computer system, and failure recovery program in stream data processing system |
JP5439014B2 (en) * | 2009-04-10 | 2014-03-12 | 株式会社日立製作所 | Data processing system, processing method thereof, and computer |
JP4880025B2 (en) * | 2009-11-26 | 2012-02-22 | 株式会社日立製作所 | Stream data processing method, stream data processing program, and stream data processing apparatus |
-
2010
- 2010-11-02 WO PCT/JP2010/069465 patent/WO2012059976A1/en active Application Filing
- 2010-11-02 JP JP2012541649A patent/JP5472885B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2012059976A1 (en) | 2012-05-10 |
JP5472885B2 (en) | 2014-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11074560B2 (en) | Tracking processed machine data | |
US10896172B2 (en) | Batch data ingestion in database systems | |
US10909151B2 (en) | Distribution of index settings in a machine data processing system | |
JP6793900B2 (en) | Data stream processing language for analyzing software with embedded instrumentation | |
US20170316078A1 (en) | Multi-Cluster Warehouse | |
JP5952960B2 (en) | Computer system, computer system management method and program | |
US9817879B2 (en) | Asynchronous data replication using an external buffer table | |
US10007548B2 (en) | Transaction system | |
US10452487B2 (en) | Data processing apparatus and method | |
CN114675965B (en) | Federal learning method, apparatus, device and medium | |
CN112541513B (en) | Model training method, device, equipment and storage medium | |
US10334028B2 (en) | Apparatus and method for processing data | |
US10248706B2 (en) | Replicating database updates with batching | |
JP2024521730A (en) | Techniques for a deterministic distributed cache to accelerate SQL queries - Patents.com | |
US9286055B1 (en) | System, method, and computer program for aggregating fragments of data objects from a plurality of devices | |
US20200364065A1 (en) | User interface optimization for delayed data | |
JP5472885B2 (en) | Program, stream data processing method, and stream data processing computer | |
US20220360458A1 (en) | Control method, information processing apparatus, and non-transitory computer-readable storage medium for storing control program | |
US11455309B2 (en) | Partition key adjustment based on query workload | |
JP6280237B2 (en) | Computer system and data processing method | |
JP6193491B2 (en) | Computer system | |
JP6568232B2 (en) | Computer system and device management method | |
US11314752B2 (en) | Computer system and data analysis method | |
US10552418B2 (en) | Optimization of first set of ordered items and delayed non-duplicated work queue | |
JP2014063336A (en) | Computer system and job net execution method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140107 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140128 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5472885 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |