JP5352691B2 - 計算機システム、ストリームデータ管理方法及びプログラム - Google Patents

計算機システム、ストリームデータ管理方法及びプログラム Download PDF

Info

Publication number
JP5352691B2
JP5352691B2 JP2012040886A JP2012040886A JP5352691B2 JP 5352691 B2 JP5352691 B2 JP 5352691B2 JP 2012040886 A JP2012040886 A JP 2012040886A JP 2012040886 A JP2012040886 A JP 2012040886A JP 5352691 B2 JP5352691 B2 JP 5352691B2
Authority
JP
Japan
Prior art keywords
stream data
data
query
stream
computer system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012040886A
Other languages
English (en)
Other versions
JP2012142004A (ja
Inventor
一穂 田中
高広 横山
知広 花井
聡 渡辺
敦郎 半田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2012040886A priority Critical patent/JP5352691B2/ja
Publication of JP2012142004A publication Critical patent/JP2012142004A/ja
Application granted granted Critical
Publication of JP5352691B2 publication Critical patent/JP5352691B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、計算機システム、ストリームデータ管理方法及びプログラムに係り、特に、ストリームデータ処理において、ストリームデータを生成する計算機システム、ストリームデータ管理方法及びプログラムに関する。
近年、時々刻々と到着する大量のデータ(ストリームデータ)を受信し、リアルタイムで処理するストリームデータ処理システムに対する要求が高まっている。例えば、株取引を支援するファイナンシャルアプリケーションでは、株価の変動に迅速に対応することが最重要の課題の一つである。この点、従来のデータベース管理システム(DBMS)でデータを処理する場合には、受信した株式データを一旦記憶装置に格納する必要があり、今後、さらに大量の株式データを扱う場合に、株価の変動などにリアルタイムで対応することが困難になる可能性がある。
また、ストリームデータをリアルタイムに処理するアプリケーションを個別に作成すると、開発期間の長期化、開発コストの高騰、アプリケーションを利用する業務の変化への迅速な対応が困難といった問題があり、汎用のストリームデータ処理システムが求められている。
ストリームデータ処理システムでは、まず、クエリ(問合せ)をシステムに登録し、ストリームデータの到着とともにクエリが継続的に実行される。しかし、ストリームデータは時々刻々と到着するため、すべてのデータの到着を待ってから処理を開始することは不可能である。また、システムに到着したデータは、データ処理の負荷に影響されることなく、到着順にしたがって処理される必要がある。
この点、非特許文献1に開示された技術では、ストリームデータを、最新10分間などの時間の幅又は最新1000件などの個数の幅を指定してストリームデータの一部を切り取りながらリアルタイム処理を実現する、スライディングウィンドウ(以下「ウィンドウ」という。)と呼ばれる概念を導入している。
また、非特許文献1は、データを取得するためのクエリを記述するための言語として、ウィンドウを指定可能なCQL(Continuous Query Language)を開示している。CQLは、DBMSで広く用いられているSQL(Structured Query Language)が拡張されたものであって、ウィンドウの指定が可能となっている。具体的にCQLを利用する技術などについては、例えば、特許文献1などに開示されている。
また、ストリームデータは、時々刻々と大量に到着するデータであるため、ストリームデータ処理システムでの処理が追いつかない場合がある。そこで、ストリームデータを複数のキューに蓄積する場合に、キュー状態情報に基づきストリームデータを取得し、システム全体の負荷を低下させない技術が特許文献2に開示されている。また、ストリームデータ処理システム内でストリームデータを処理する過程で、ストリームデータを間引き、システムの処理能力を低下させない技術が非特許文献2に開示されている。
特開2006−338432号公報 特開2008−83808号公報
R.Motwani、J.Widom、A.Arasu、B.Babcock、S.Babu、M.Datar、G.Manku、C.Olston、J.Rosenstein、and R.Varma著:‘‘Query Processing、Resource Management、and Approximation in a Data Stream Management System’’、In Proc.of the 2003 Conf.on Innovative Data Systems Research(CIDR)、January 2003 Emine Nesime、Tatbul著:‘‘Load Shedding Techniques for Data Stream Management Systems’’、Ph.D、Brown University、May 2007.P17-18、chap3.2
しかし、特許文献2及び非特許文献2に開示された技術は、ストリームデータを受信した後に、ストリームデータ処理システムが効率的に処理を行うことで負荷を低下させる方法である。そのため、特許文献2及び非特許文献2に開示された技術を用いても、受理可能なデータ量以上の入力が行われた場合には、前述した課題を解決することはできない。
大量のデータを処理する必要があるストリームデータ処理では、ストリームデータを受信したあとに効率的に処理を行うだけではなく、ストリームデータ処理システムへのストリームデータの入力をより少なくすることが必要である。
この点、ストリームデータ処理システムで行われるクエリ処理は、ストリームデータ、あるいはストリームデータに含まれる列(カラム)のデータを選択し、分析・演算を行うという処理の特徴がある。この特徴から、システムに登録するクエリによっては、ストリームデータを受信しても、その一部だけしか利用しない場合や、すべてを利用しない場合が生ずる。
本発明は、ストリームデータ処理システムへのストリームデータの入力量が少なくなるストリームデータを生成することを目的とする。
本発明の代表的な一形態によれば、時系列に時刻情報が付与されたストリームデータに対して、登録されたクエリに基づいてストリームデータ処理を行う計算機システムであって、前記計算機システムは、前記クエリと、前記ストリームデータを構成する複数種類の構成要素を表すストリーム定義とから前記クエリが示す条件に対応する構成要素を示すクエリ情報を保持する記憶部と、処理対象とするストリームデータから前記クエリ情報が示す構成要素以外の構成要素を削除した新たなストリームデータを生成し、これを送信するデータ生成部と、該送信された新たなストリームデータを受信し、前記クエリに応じてストリームデータ演算を行うストリームデータ処理部と、を有することを特徴とする。
本発明によれば、ストリームデータ処理システムの処理効率(通信負荷、メモリ使用量、計算量等)を高め、スループット・レイテンシ性能を向上させることができる。
本発明を適用した計算機システムの原理を示す図である。 本発明を適用した計算機システムの第1の実施形態の全体構成を示す図である。 本発明を適用した計算機システムの第1の実施形態で登録されるストリーム定義の一例を示す図である。 本発明を適用した計算機システムの第1の実施形態で登録されるクエリ定義の一例を示す図である。 本発明を適用した計算機システムの第1の実施形態で、クエリ定義例に基づいて作成されたクエリ情報テーブルの例を示す図である。 本発明を適用した計算機システムの第1の実施形態で、ストリームデータを送信する計算機を管理する送信部管理テーブルを示す図である。 本発明を適用した計算機システムの第1の実施形態で、ストリームデータs1用の送信データの一例を示す図である。 本発明を適用した計算機システムの第1の実施形態で、ストリームデータs2用の送信データの一例を示す図である。 本発明を適用した計算機システムの第1の実施形態で、ストリームデータs1用の間引き済みの送信データの一例を示す図である。 本発明を適用した計算機システムの第1の実施形態で、ストリームデータs2用の間引き済みの送信データの一例を示す図である。 本発明を適用した計算機システムの第1の実施形態で、間引いたことを通知するための送信データの一例を示す図である。 本発明を適用した計算機システムの第1の実施形態で、クエリ情報テーブルを転送する手順を示すフローチャートである。 本発明を適用した計算機システムの第1の実施形態で、クエリ情報テーブルを作成する手順を示すフローチャートである。 本発明を適用した計算機システムの第1の実施形態で、送信部管理テーブルを更新する手順を示すフローチャートである。 本発明を適用した計算機システムの第1の実施形態で、クエリ情報テーブルを送信する手順を示すフローチャートである。 本発明を適用した第1の実施形態で、ストリームデータを間引く手順を示すフローチャートである。 本発明を適用した第1の実施形態で、ストリームデータを受信したときの手順を示すフローチャートである。 本発明を適用した計算機システムの第2の実施形態の全体構成を示す図である。 本発明を適用した第2の実施の形態で、ストリームデータを受信するバッファの状態の一例を示す図である。 本発明を適用した第2の実施形態で、バッファ状態情報テーブルを更新する手順を示すフローチャートである。 本発明を適用した第2の実施形態で、バッファ状態情報テーブルを転送する手順を示すフローチャートである。 本発明を適用した第2の実施形態で、バッファ状態情報テーブルに応じて間引きを行う手順を示すフローチャートである。
[原理説明]
次に、図を用いて、本発明を実施するための形態について詳細に説明する。まず、図1の原理図を用いて、本発明を適用した一実施の形態である計算機システムの原理を説明する。
図1は、本発明を適用した計算機システムの機能を模式的に示す。計算機システムは、ストリームデータを生成・送信するデータ生成部100と、ストリームデータを受信・分析・演算するストリームデータ処理部200とから主にその特徴的部分が構成される。ストリームデータ生成部は、例えば、CPU等の演算装置とプログラムとの協働により実現される機能部であり、複数設けられている例を示している。
まず、S101で、ストリームデータ処理部200に対して、ストリーム定義1263及びクエリ定義1264の登録又は変更が行われる。ストリーム定義は、ストリームデータ処理の条件要素を表すものである。本原理図では、c1=「数値」、c2=「文字列」及びc3=「時刻」の例を上げている。
次に、S102で、ストリームデータ処理部200が、登録されたストリーム定義及びクエリ定義の特徴を表すクエリ情報を作成し、作成したクエリ情報をデータ生成部100に通知する。図1に示す例では、102によって作成されたクエリ情報は、クエリの分析結果として必要なカラムがc1であり、分析対象とするストリームデータの条件がc2=「‘AAA’」であり、分析範囲がストリームデータ「3つ」分であることを表している。
次に、S103で、データ生成部100が、ストリームデータを生成するためのデータをデータベースから取得(読込む)し、時系列に時刻情報を付して区分したストリームデータを生成する(図1において、時刻情報「12:00:00」〜「12:00:02」が夫々付された3つのデータ。)。
次に、S104で、データ生成部100が、取得したストリームデータを間引く処理を行う。間引く方法は、クエリ情報とストリームデータとを照らし合わせて2通りの方法が有る。
第1の方法は、ストリームデータがクエリ情報の条件に合っているかを判定し、合っている場合にクエリ情報に記載された必要なカラムのみを残し、その他のカラムを間引く方法である。
第2の方法は、ストリームデータがクエリ情報の条件に合っているかを判定し、合っていない場合にストリームデータそのものを間引く方法である。
次に、S105で、データ生成部100が、ストリームデータをストリームデータ処理部200に送信する。
最後に、S106で、ストリームデータ処理部200が、ストリームデータの分析を行う。図1の例では、クエリ定義である「入力データ3つの範囲で、c1の合計を出力する」に基づいて分析を行う。その後、演算を行い、演算結果を出力する(図1の例では、演算結果として「6」を出力する。)
なお、クエリ情報に記載された分析範囲が3つ分などの個数の範囲であり、ストリームデータすべてを間引く場合には、ストリームデータそのものを間引いたことを通知するためのデータ(以下、「nop(no−operation)データ」という。)を作成し、ストリームデータ処理部200に送信する。これは、nopデータをストリームデータ処理部200に通知することで、正しい分析結果を得るためである。即ちストリームデータ処理部200での分析において、例えば、直近3つ分のストリームデータを分析するといったデータの個数を分析範囲とした分析を行うものである場合、その直近3つ分のストリームデータの全てを分析することで正しい分析結果を出力することができるようになっている。従って、ストリームデータそのものを間引いた場合、ストリームデータ処理部200では、分析対象である間引かれたストリームデータを検出することが出来ず、正しい分析結果を出力することが出来ないこととなる。そこで、間引かれたデータに代えて、間引いたことを示すnopデータを通知することで、分析対象の条件に合わないデータも含めた正しい分析結果を出力することができる。
より詳細に説明すると、例えば、直近3つのストリームデータの平均値を分析する場合に、3つのうち1つ目のストリームデータが分析対象であり、残り2つが分析対象ではなく、これら3つのストリームデータの夫々の値が「n」とき、正しい分析結果は、「3分のn」となる。しかし、データ送信部で分析対象とならないストリームデータを送信しないとすると(即ち2つ目及び3つ目のストリームデータを送信しないとすると)、ストリームデータ処理部は、これら2つのストリームデータが送信されていないことを検知することができず、後続するストリームデータが分析対象となってしまい(4つ目及び5つ目のストリームデータと、1つ目のストリームデータとから分析を行ってしまい)、正しい分析結果を得ることができない。
そこで、分析を個数の範囲で行う場合には、S104で、データ生成部100がストリームデータそのものを間引いた際、nopデータを生成し、S105の送信処理でnopデータを送信し(2つ目及び3つ目のストリームデータに代えて送信し)、S106で、ストリームデータ処理部が、nopデータを分析範囲に含めるが分析対象としないように分析を行い、演算をすることで正しい結果を得られるようにするようにした。
従来であれば、ストリームデータ処理部200において、全てのストリームデータについて分析を行っていた為、要求にないデータを分析するという処理負荷が発生するという課題があった。これに対し本実施の形態では、ストリームデータ中の各種データのうち、分析の要求があるデータを管理し、要求のないデータを間引くことで、ストリームデータ処理部200で分析するストリームデータを削減するようになっている。更に、間引き処理を行うことで、ストリームデータ処理部で正しい分析結果を出力することができるように、間引いたデータの代わりにnopデータを送信するようになっている。以上が、本発明を適用した計算機システムの原理である。
なお、上述の計算機システムでは、S103において、データ生成部100が、ストリームデータを生成する方法として、データ生成部100が、夫々のストリームデータに対して時刻情報を付する例について述べたが、時刻情報の付与については、データ生成部100ではなく、ストリームデータ処理部200が、データ生成部100からストリームデータを受信した順に、夫々のストリームデータに付与する方式であってもよい。
[第1の実施形態]
次いで、本発明を適用した計算機システムの第1の実施形態について、図を用いて詳細に説明する。図2は、本発明を適用した第1の実施形態である計算機システム1の全体構成を示す。
本実施形態の計算機システム1は、データ送信計算機1100、ストリームデータ処理計算機1200及び結果受信計算機1300を含む。データ送信計算機1100とストリームデータ処理計算機1200はネットワーク1400を介して接続されており、ストリームデータ処理計算機1200と結果受信計算機1300とはネットワーク1500を介して接続されている。
本実施の形態では、データ送信計算機1100内のCPU1110との協働により起動するプログラムが、図1の原理図に示すデータ生成部100の機能に相当し、ストリームデータ処理計算機1200内のCPU1210との協働により起動するプログラムが、図1の原理図に示すストリームデータ処理部200の機能に相当する。また、本実施形態では、データ送信計算機1100、ストリームデータ処理計算機1200及び結果受信計算機をネットワーク1400若しくは1500を解して通信接続する構成としているが、本発明は、これら計算機を一体として構成することも、組合せにより一体として構成することも当然に可能である。また、本実施形態では、データ送信計算機1100に、間引部1131を設ける構成としているが、ストリームデータ処理計算機1200内の外部インタフェース内にアダプタとして設ける構成とすることもできる。
なお、本実施形態では、説明を簡単にするために、データ送信計算機1100では、ストリームデータの生成及び間引処理等を行うアプリケーションプログラムが1つ起動しているものとするが、上述した図1の原理図に示すように、アプリケーションプログラムは、複数起動する構成とすることもできる。
また、ストリームデータの例としては、ファイナンシャルアプリケーションにおける株価配信情報、小売業におけるPOSデータ、交通情報システムにおけるプローブカー情報及び計算機システム管理におけるエラーログなどが挙げられる。
データ送信計算機1100は、CPU1110,DISK1120及びメモリ1130を備える。ストリームデータ計算機1100は、ストリームデータを生成し、ストリームデータ処理計算機1200にストリームデータを送信するようになっている。ストリームデータの生成及び送信は、データ送信計算機1100上のプログラムとして実装されてもよいし、データ送信計算機1100上に搭載される専用ハードウェアとして搭載してもよい。
CPU1110は、メモリ1130上のプログラムを実行する。DISK1120は、メモリ1130上のプログラムが利用するデータを格納する。メモリ1130は、CPU1110によって実行されるプログラム及び当該プログラムの実行に必要なデータを記憶する。
メモリ1130は、プログラムとCPU1110との協働により、間引部1131(図1の「間引部」の機能に相当。)、データ送信部1132、接続部1133、クエリ情報テーブル1134(図1の「クエリ情報」に相当。)及びテーブル受信部1135といった機能部を構成する。接続部1133は、ストリームデータ処理計算機1200と接続し、テーブル受信部1135は、ストリームデータ処理計算機1200からクエリ情報テーブル1134を受信して、ストリームデータを生成する。間引部1131は、受信したクエリ情報テーブル1134に基づいて、ストリームデータを所定の条件により間引く処理を行う。データ送信部1132は、ネットワーク1400を介し、間引部1131が間引いたストリームデータをストリームデータ処理計算機1200に送信する。ストリームデータとして生成されるデータは、例えば、DISK1120から読み出してもよいし、プログラム内で生成してもよい。
ストリームデータ処理計算機1200は、CPU1210、DISK1220及びメモリ1230を備える。ストリームデータ処理計算機1200は、例えば、ブレード型計算機システム、PCサーバなどの計算機システムであってもよい。
ストリームデータ処理計算機1200は、データ送信部1132から送信されたストリームデータを受信し、分析し、その分析結果を、ネットワーク1500を介して、結果受信計算機1300に送信する。
メモリ1230には、オペレーティングシステム1240やオペレーティングシステム1240上で動作するプログラムと、CPU1210との協働により、データ送信部管理部1250、クエリ管理部1260及びストリームデータ処理部1270が構成される。
データ送信部管理部1250は、データ送信計算機1100を管理する。データ送信部管理部1250は、更に、送信部管理部1251、テーブル転送部1252及び送信部管理テーブル1253を含む。送信部管理部1251は、データ送信計算機1100と接続すると、データ送信計算機1100の情報を送信部管理テーブル1253に記録する。送信部管理テーブル1253は、ストリームデータ処理計算機1200と接続したデータ送信計算機1100の情報を記録したものであり、その内容は図6で後述する。
テーブル転送部1252は、ストリームデータ処理計算機1200が保持するクエリ情報テーブル1265を送信部管理テーブル1253に記録されたデータ送信計算機1100に対して転送する。クエリ情報テーブル1265の転送の契機は、例えば、データ送信計算機1100がストリームデータ処理計算機1200に接続したときでもよいし、データ送信計算機1100からクエリ情報テーブル1265の転送要求を受けたときでも良い。
クエリ管理部1260は、ストリームデータ処理計算機1200がストリームデータを分析する内容であるクエリを管理する機能部である。クエリ管理部1260は、更に、クエリ登録部1261、クエリ解析部1262、ストリーム定義1263(図1の「ストリーム定義」に相当。)、クエリ定義1264(図1の「クエリ定義」に相当。)及びクエリ情報テーブル1265を含む。
クエリ登録部1261は、クエリの登録を受け付け、ストリーム定義1263及びクエリ定義1264を記録する。クエリの登録は、ストリームデータ処理計算機1200自身が登録要求を行っても良いし、他の計算機から登録要求を受け付けても良い。
クエリ解析部1262は、クエリ登録部1261が記録したストリーム定義1263及びクエリ定義1264からクエリ情報テーブル1265を作成する。クエリ解析部1262がクエリ情報テーブル1265を作成する契機は、例えば、クエリ登録部1261がクエリ定義1264及びストリーム定義1263を登録したときでもよいし、クエリ情報テーブル1265の作成要求を受けたときでもよい。
ストリーム定義1263は、入力されるストリームデータのカラムの種類を表すものである(その内容は、図3を用いて後述する。)。クエリ定義1264は、ストリームデータ処理計算機1200がストリームデータの分析方法を表すものである(その内容は図4を用いて後述する。)。クエリ情報テーブル1265は、ストリーム定義1263及びクエリ定義1264に登録されたクエリの特徴を表すものである(その内容は、図5を用いて後述する。)。
ストリームデータ処理部1270は、ストリームデータの処理を行う機能部である。ストリームデータ処理部1270は、更に、ストリームデータ受信部1271、クエリ処理部1272及びストリームデータ送信部1273を含む。
ストリームデータ受信部1271は、データ送信計算機1100のデータ送信部1132から、ネットワーク1400を介して、ストリームデータを受信する。
クエリ処理部1272は、ストリームデータ受信部1271が受信したストリームデータを、クエリ定義1264に基づいて分析・演算する。
ストリームデータ送信部1273は、クエリ処理部1272が分析・演算した結果を、ネットワーク1500を介して、結果受信計算機1300に送信する。
結果受信計算機1300は、CPU1310、DISK1320及びメモリ1330を備える。結果受信計算機1300は、ストリームデータ処理計算機1200が分析・演算した結果のストリームデータを受信し、利用する。ストリームデータの受信及び利用の処理は、結果受信計算機1300上のプログラムとして実装されてもよいし、結果受信計算機1300上に搭載される専用ハードウェアとして搭載してもよい。
DISK1320は、メモリ1330上のプログラムが利用するデータを格納する。メモリ1330は、CPU1310によって実行されるプログラム及び当該プログラムの実行に必要なデータを記憶し、CPU1310との協働により、ストリームデータ受信部及びアプリケーション実行部を構成する。
ストリームデータ受信部1331は、ストリームデータ処理計算機1200のストリームデータ送信部1273から、ネットワーク1500を介して、ストリームデータを受信する。アプリケーション実行部1332は、ストリームデータ受信部1331から受信したストリームデータを利用する。ストリームデータの利用は、例えば、外部記憶装置への保存や、ディスプレイ装置への表示等、種々の態様がある。
ネットワーク1400及びネットワーク1500は、イーサネット(登録商標)、光ファイバなどで接続されるローカルエリアネットワーク(LAN)又はLANよりも低速なインターネットを含むワイドエリアネットワーク(WAN)であってもよい。
データ送信計算機1100、ストリームデータ処理計算機1200及び結果受信計算機1300は、パーソナルコンピュータ、ブレード型計算機システム等の任意のコンピュータシステムでもよい。メモリ1130、メモリ1230及びメモリ1330は、例えば、高速にアクセス可能な揮発性記憶媒体である。
以上が、第1の実施形態における計算機システム1の構成であるが、計算機システム1は、直接ストリームデータを受信する或いは他の計算機を介してストリームデータを受信する等の種々の構成にすることもできる。
次いで、本実施形態における定義、テーブル及びデータの内容を、図3〜図11を用いて説明する。
図3はストリーム定義1263の例を示す。ストリーム定義1263はストリームデータ処理計算機1200が受信するストリームデータのカラムの種類と、参照名とを定義するものである。ストリーム定義1263ではストリームデータs1及びs2の定義をしている。s1は、1カラム目がINTEGER型の参照名c1、2カラム目がVARCHAR(20)型の参照名c2である。また、s2は、1カラム目がINTEGER型の参照名c1、2カラム目がVARCHAR(20)型の参照名c2、3カラム目がTIMESTAMP型の参照名c3である。
図4は、クエリ定義1264の例を示す。クエリ定義1264はストリームデータ処理計算機1200が分析するクエリの内容を定義するものである。クエリ定義1264では、クエリ名を「q1」、選択するカラムを「s1のc1」並びに「s2のc2」、分析するストリームの範囲を「s1の1分間」並びに「s2の3個分」及び選択するストリームデータの条件を「s1のc1が10より大きくかつs2のc2が‘AAA’」とクエリを定義する例を示している。
図5は、クエリ情報テーブル1265の例を示す。クエリ情報テーブル1265は、クエリ定義1264の特徴を示し、データ送信計算機1100の間引部1131がストリームデータを間引く際に利用するテーブルである。クエリ情報テーブル1265は、ストリーム名501、SELECT502、FROM503及びWHERE504の保持し、それぞれクエリ定義1264の内容を格納する。例えば、1行目510では、ストリーム名S1について、クエリで選択されるカラムとしてc1がSELECT502に登録され、時間の範囲で分析を行うことを示す「RANGE」が、FROM503に登録され、選択対象となるストリームデータの条件として「c1が10より大きい」ことがWHERE504に登録されている例を表している。
ストリームデータ処理計算機1200は、クエリ情報テーブル1265を参照することで、ストリーム名s1については、10より大きいc1のみを必要としていることを判断することができる。また、間引部1131は、クエリ情報テーブル1265を参照することで、ストリーム名s1については、10より大きいc1のみを送信すれば十分であることを判断でき、その他のデータは間引いてよいと判断することができる。また、クエリ情報テーブル1265の2行目520のFROM503は、個数の範囲で分析することを示す「ROWS」になっている。個数の範囲で分析する場合に、ストリームデータそのものを間引くと、ストリームデータ処理計算機1200で分析する対象のストリームデータにずれが生じる。そのため、間引部1131は、クエリ情報テーブル1265を参照することで、s2についてはストリームデータそのものを間引く場合に、間引いたことを通知する必要があると判断することができる。
図6は、送信部管理テーブル1253の例を示す。送信部管理テーブル1253は、ストリームデータ処理計算機1200に接続したデータ送信計算機1100を管理するためのテーブルである。ここで、接続とはデータ送信計算機1100とストリームデータ処理計算機1200とが、通信経路を確保する処理のことであり、本実施形態では、送信部管理テーブル1253で、識別子601及びアドレス602を保持する例を適用している。ストリームデータ処理計算機1200は、データ送信計算機1100が接続するたびに、データ送信計算機1100の識別子とアドレスとを送信部管理テーブル1253に格納する。
図7は、s1用送信データの例を示す。ストリームデータ710は、1カラム目701がINTEGER型で値は「5」、2カラム目702がVARCHAR型で値は「‘AAA’」であることを示す。
図8は、s2用送信データの例を示す。ストリームデータ810は、1カラム目801がINTEGER型で値は「10」、2カラム目802がVARCHAR型で値は「‘AAA’」、3カラム目803がTIMESTAMP型で値は「12:00:00」であることを示す。
図9は、s1用の間引き済み送信データの例を示す。ストリームデータ910は、1カラム目にINTEGER型の値「15」を保持し、2カラム目902にはデータを保持していない。間引部1131は、クエリ情報テーブル1265を参照することで、s1はc1が10より大きいストリームデータであるc1のみを送信すればよいと判断することができる。ストリームデータ710のc1は10より小さいため(即ち「5」。)、ストリームデータ710は、データそのものが間引かれ、送信されない。ストリームデータ720は、c1が10より大きいため(即ち「15」。)送信対象となり、c1以外のデータは間引くことにより、ストリームデータ910を作成する。
図10は、s2用の間引き済み送信データの例を示す。ストリームデータ1010は、2カラム目1002にVARCHAR型の値「‘AAA’」を保持し、1カラム目1001及び3カラム目1003にはデータを保持しない。間引部1131はクエリ情報テーブル1265を参照することで、「s2はc2が‘AAA’のストリームデータの、c2のみを送信すればよい。」と判断することができる。ストリームデータ810は、c2が「‘AAA’」であることから送信対象であり、c2以外のデータは間引くことにで、ストリームデータ1010を作成する。
図11は、ストリームデータそのものを間引いたことを通知するためのnopデータ1100の例を示す。nopデータは、ストリームデータ処理計算機1200において、分析範囲には含まれるが、分析対象とはならないデータである。ストリームデータそのものを間引くことで、本来同じ分析範囲に含まれないストリームデータが分析されることを防ぐために、nopデータが利用される。ストリームデータ820は、c2が‘BBB’であるため、間引部1131によってストリームデータそのものが間引かれる。このとき、クエリ情報テーブル1265によれば、s2はFROMが「ROWS」となっており、個数の範囲で分析されるようになっている。このことから、間引部1131は、ストリームデータ820の代わりに、間引いたことを通知するnopデータ1100を作成する。
次に、本実施形態の処理の流れを、図12〜図17を用いて説明する。
図12は、ストリームデータ処理計算機1200が、クエリ登録を契機にクエリ情報テーブル1265を作成し、データ送信計算機1100に転送するフローを示す。まず、S1201で、クエリ登録部1261がクエリ定義1264及びストリーム定義1263を受け付ける。
次に、S1202で、クエリ解析部1262が、クエリ情報テーブル1265を作成する。
次に、S1203で、テーブル転送部1252が、クエリ情報テーブル1265をデータ送信計算機1100のテーブル受信部1135に転送する。
S1202及びS1203の処理により、ストリームデータ処理計算機1100のクエリ情報テーブル1265と、データ送信計算機1100のクエリ情報テーブル1134とは同じ内容となる。
なお、データ送信計算機1100がクエリ情報テーブル1134を取得する方法としては、データ送信計算機1100からクエリ情報テーブル1134の転送要求を送信し、テーブル転送部1252がその転送要求を受信することで転送してもよいし、逆に、テーブル転送部1252から、データ送信計算機1100にクエリ情報テーブル1134の転送要求を送信し、データ送信計算機1100がその転送要求を受信することで転送してもよい。また、テーブル転送部1252がクエリ定義1264をデータ処理計算機1100に転送し、データ処理計算機1100でクエリ情報テーブル1134を作成してもよい。また、クエリ定義の登録を、ストリームデータ処理計算機1200とデータ送信計算機1100の両方が行い、クエリ情報テーブル1134を作成してもよい。また、データ送信計算機1100が、クエリ情報テーブル1134の登録を外部の他の端末装置(例えば、計算機システムとネットワーク等で接続された管理端末等)から受け付けてもよい。
図13は、データ送信計算機1100で、クエリ情報テーブル1134が作成される処理フローを示す。クエリ情報テーブル1265作成は、クエリ解析部1261がクエリ定義1264を解析することで行われる。クエリ情報テーブル1134の作成の具体例を、図4に示すクエリ定義1264の例と、図5に示す、クエリ情報テーブル1265の例とを用いて説明する。
クエリ情報テーブル1134の作成が開始されると、まずS1310で、クエリ定義1264のFROM区に指定されているストリーム名を、クエリ情報テーブル1265のストリーム名501に記録する。具体的には、クエリ定義1264ではFROM区にs1及びs2が指定されているので、クエリ情報テーブル1265のストリーム名501にs1と、s2とを記録する。
次に、S1320で、SELECT502の記録を行う。まず、S1321で、クエリ定義1264のSELECT区にカラムの指定があるか判定する。カラムの指定がなければ、S1330に移る。カラムの指定がある場合は、S1322で、指定されたカラムを、クエリ情報テーブル1265のSELECT502の対応するストリームの行に記録する。具合的には、クエリ定義1264ではSELECT区に「s1.c1」及び「s2.c2」が指定されているので、クエリ情報テーブル1265のSELECT502に「c1」と、「c2」とを、それぞれ対応するストリーム名が記録された行510及び行520に記録する。
次に、s1330で、FROM503の記録を行う。まず、S1331で、クエリ定義1264のFROM区に指定されたストリームに「ROWS」指定があるかどうかを判定する。「ROWS」指定がない場合は、S1332で、クエリ情報テーブル1265のFROM503に「ROWS」でないことを記録する。「ROWS」指定がある場合は、S1333でクエリ情報テーブル1265のFROM503に「ROWS」であることを記録する。具体的には、クエリ定義1264のFROM区では、s1は「ROWS」指定でなく、s2が「ROWS」指定となっているため、クエリ情報テーブル1265のFROM503にRNAGEとROWSを、それぞれ対応するストリーム名が記録された行510及び行520に記録する。なお、FROM503はストリームが個数の範囲で分析されるかどうかを示せれば記録する内容は任意とする。例えば、「ROWS」の場合には○とし、そうでなければ×あるいは何も記録しないなどである。
次に、S1340で、WHERE504の記録を行う。まず、S1341でクエリ定義1264のWHERE区にカラム指定があるかどうかを判定する。カラム指定がない場合は、クエリ情報テーブル1134作成の処理を終了する。カラム指定がある場合は、S1342で、指定されたカラムの条件を、クエリ情報テーブル1265のWHERE504に記録する。具体的には、クエリ定義1264のWHERE区では、「s1.c1>10」及び「s2.c2=‘AAA’」となっているため、クエリ情報テーブル1265のWHERE504に、「c1>10」及び「c2=‘AAA’」を、それぞれ対応するストリーム名が記録された行510及び行520に記録する。なお、WHERE504はストリームデータそのものを間引くかどうかを判断できれば記録する条件は任意である。例えば、記載される条件は、間引く条件、あるいは間引かない条件などである。
SELECT502、FROM503及びWHERE504の記録は、任意の順番で行うことが考えられる。
図14は、送信部管理テーブル1253作成のフローを示す。まず、S1401で、データ送信計算機1100の接続部1133が、ストリームデータ処理計算機1200に接続する。この時、送信部管理部1251は、送信部管理テーブル1253作成を開始する。
S1402では、送信部管理部1251が、接続されたデータ送信計算機1100の識別子と、アドレスとを送信部管理テーブル1253に格納する。
図15は、ストリームデータ処理計算機1200から、クエリ情報テーブル1265をデータ送信計算機1100に転送するフローを示す。S1501及びS1502までは、データ送信計算機1100が接続してから送信部管理テーブル1253が作成されるまでの処理を示し、既に図14を用いて説明したものである。
S1502で、ストリームデータ処理計算機1200のテーブル転送部1253が、新たに接続したデータ送信計算機1100の情報を送信部管理テーブル1253から取得し、クエリ情報テーブル1265を、送信部管理テーブル1253から取得したデータ送信計算機1100宛に転送する。
次に、S1503で、転送されたクエリ情報テーブル1265の内容を、データ送信計算機1100のテーブル受信部1135が受信し、クエリ情報テーブル1134を更新する。
図16は、データ送信計算機1100の間引部1131が行うストリームデータ作成からストリームデータ送信までの間引き処理を示す。まず、S1601で送信するストリームデータの元となるデータをDISK1120から読込む。具体的には、例えば、s1用送信データ例700や、s2用送信データ例800を読込む。S1601では、送信元となるデータを作成できればよく、DISK1120から読込む他に、例えば、ストリームデータ送信計算機1100内で生成してもよいし、他の計算機からデータを受け付けても良いし、外部の端末から直接入力するとしてもよい。
S1610で、間引部1131は、ストリームデータそのものを間引く処理を行う。まず、S1611で、間引部1131は、クエリ情報テーブル1134のWHERE504に記載があるか判定する。記載がなければS1620に移る。記載がある場合は、S1612に移る。
S1612で、間引部1131は、読込んだデータがWHERE504の条件にあうかどうかを判断する。条件にあえば送信対象としてS1621に移り、条件にあわなければデータそのものを間引く対象としてS1641に移る。具体的には、クエリ情報テーブル1265には、ストリームs1のWHERE504に記載があるため、S1612の処理に移る。s1用送信データ例710はc=5であり、クエリ情報テーブル1265のWHERE504の条件「c1>10」に合わないため、データそのものを間引く対象となり、S11633に移る。s1用送信データ例720は「c=15」であり、クエリ情報テーブル1265のWHERE504の条件「c1>10」に合うため、送信する対象となり、S11621に移る。読込んだデータがs2用の場合も同様である。
次に、S1620で、カラムを間引く処理を行う。まず、S1621で、読込んだデータのカラムがクエリ情報テーブル1265のSELECT502に記載されているか判定する。記載されている場合にはS1622に移り、記載されてなければS1631に移る。
S1622で、SELECT502に記載されていたカラムについて、読込んだデータから送信用ストリームデータに格納する。具体的には、クエリ情報テーブル1265の行510では、SELECT502にs1の選択対象として「c1」が記載されている。そのため、S1610で送信対象となったs1用送信データ720の1カラム目を、s1用間引き済み送信データの1カラム目901に格納する。2カラム目はSELECT502に記載がないため、902は空とする。読込んだデータがs2用の場合も同様にカラムを間引く。S1620の処理により、間引き済みの送信データが作成される。
次に、S1630で、ストリームデータを送信する必要があるか判定したうえで送信処理を行う。S1631で、送信用のデータに値が格納されているかを判定する。格納されている場合にはS1632に移り、格納されていない場合にはS1641に移る。
S1632で、ストリームデータをストリームデータ処理計算機1200のストリームデータ受信部1271に送信する。具体的には、S1610及びS1620の処理で作成されたs1用の間引き済み送信データ910の、1列目に値が格納されているため、s1用の間引き済み送信データ910をストリームデータ処理計算機1200に送信する。
S1640で、送信対象のデータがない場合の処理を行う。まず、S1641で、送信先のストリームが個数の範囲で分析を行っているかを判定する。個数の範囲で分析を行っている場合にはS1642に移り、そうでなければ何も送信せずに次のデータを読込むS1601に移る。
S1642で、送信用データとしてnopデータ1100を作成し、S1632でnopデータを送信する。具体的には、s1用送信データ710そのものをS1612で間引いたときに、S1641に移る。クエリ情報テーブル500のFROM503の行510を見ると、s1は「RANGE」で分析しており、個数の範囲で分析していないことがわかる。そのため、s1用送信データ710をストリームデータ処理計算機1200に送信しない。また、s2用送信データ820はS1612でWHEREの条件に合わないため、S1641に移る。クエリ情報テーブル1265のFROM503の行520を見ると、s2は「ROWS」で分析しており、個数の範囲で分析していることがわかる。そのためnopデータ1100を作成し、送信することで、s2用の送信データを間引いたことを通知する。
図16に示す処理の流れで、データ作成、間引き及び送信処理が行われる。なお、データを間引くタイミングは、データ送信前であればいつでもよい。例えば、図16を用いて説明したとおり、S1611でデータを読込んだのちにデータ又はカラムを間引く方法でもよいし、あるいはデータまたはカラムを間引く必要があるか判定してから、必要なデータまたはカラムのみを送信用データとして読込んでも良い。
図17は、ストリームデータ処理計算機1200のストリームデータ受信部1271が、ストリームデータを受信したときのフローを示す。
まず、S1701でストリームデータ受信部1271がストリームデータを受信する。
次に、S1702で、クエリ処理部1272が受信したストリームデータがnopデータかどうかを判定する。nopデータでなければ、S1703に進み、通常通りに処理する。即ち受信したストリームデータをクエリ分析の範囲に含め、クエリ分析対象として処理する。
受信したストリームデータがnopであれば、S1704で、nopデータに対する処理を行う。nopを受信した場合は、クエリ分析の範囲に含めるが、分析の対象とはせずにクエリ処理を行う。例えば、3つ分のストリームデータの合計値を求めるクエリでは、1つ目のストリームデータが1、2つ目のストリームデータが2、3つ目のストリームデータがnopデータであった場合に、合計値として1+2を計算し3を導き出す。このとき、nopデータは、3つ分の範囲には含まれているが、合計値を算出する際には関与していない。
以上が、本発明を適用した計算機システム1の第1の実施形態の説明である。
[第1の実施形態の変形例]
次いで、第1の実施形態の変形例について説明する。本変形例では、第1の実施形態において、クエリの分析範囲として、更に時間の範囲を含んで分析を行う場合にもnopデータを作成するかどうかの判断を行うことを特徴とする。
時間の範囲で分析を行う場合であっても、分析対象となるストリームデータの個数を考慮するクエリであるときには、ストリームデータそのものを間引いたときにクエリ処理の結果が正しくならない。個数を考慮するクエリは、具体的には、分析対象となるストリームデータの個数を求めるクエリや、分析対象のストリームデータの平均値を求めるクエリの場合である。そこで、個数を考慮するクエリの場合にもnopを生成・送信を行うこととする。
まず、図13のクエリ情報テーブル1134を作成するフローの中で、クエリが時間の範囲で分析し個数を考慮しているかどうか判定し、クエリ情報テーブル1134に記録する。具体的には、例えば、クエリが時間の範囲で分析し個数を考慮している場合は、クエリ情報テーブル1134のFROM503にRANGE_COUNTと記録する或いはクエリ情報テーブル1134の新たな列に記録をするなどである。
次に、図16の間引き処理のフローで、S1640で送信データが何もない場合に、S1641で送信先ストリームがROWSかどうかを判定することと同様に、送信ストリームが時間の範囲で分析し個数を考慮しているどうかを判定する。個数を考慮していればnopデータを作成・送信し、個数を考慮していなければS1601に移り次のデータを読込む。具体的には、例えば、クエリ情報テーブル1134のFROM503にRANGE_COUNTと記載されていれば、nopデータを作成・送信し、そうでなければ次のデータを読込むなどである。
[第2の実施の形態]
次に、本発明を適用した計算機システム2000の第2の実施形態について説明する。第2の実施形態では、ストリームデータを間引くか否かの判断において、ストリームデータの滞留数に応じて判断を行う実施形態である。
図18に、第2の実施形態における計算機システム2000のシステム構成を示す。なお、以下の説明では、計算機システム2000の構成の内、第1の実施形態における計算機システム1と同様(若しくは同類)の機能構成を有するものは同一符号をもって詳細な説明を省略するものとし、相違点についてのみ詳細に説明するものとする。
図18に示す計算機システム2000と、第1の実施形態の計算機システム1とで特に異なる構成は、データ送信計算機2100がバッファ状態情報テーブル2150を有し、ストリームデータ処理計算機2200がバッファ状態情報テーブル1280を有し、間引部2110が、バッファ状態情報テーブル2150を参照しながら、ストリームデータの滞留数に応じて間引く処理を行うことである。
図19は、ストリームデータ処理計算機2200内のバッファ状態情報テーブル1280を示す。バッファ状態情報テーブル1280は、ストリームデータ処理計算機2200が受信したストリームデータ量を、ストリームごとに記録するものである。バッファ状態情報テーブル1280は、ストリームデータ名1281及び滞留数1282を記録し、保持する。
次に、バッファ状態情報テーブル1280を考慮した処理の流れを説明する。
図20は、バッファ状態情報テーブル1280を更新するフローを示す。
まず、S1901で、ストリームデータ計算機2200のストリームデータ受信部1271が、ストリームデータを受信する。
次に、S1902で、ストリームデータ受信部1271が、ストリームデータ受信部1271が受信しているものの未だクエリ処理部1272で処理されていないストリームデータの量を、受け付けるストリーム毎にバッファ状態情報テーブル1280に記録する。具体的には、ストリームデータ受信部1271が受け付けるストリームをバッファ状態情報テーブル1280のストリーム名1281に記載し、ストリームデータの量を滞留数1282に記録する。なお、バッファ状態情報テーブル1280はストリームデータ処理計算機2200の処理状態を示せればよい。滞留数1282は、クエリ処理部1272で処理されていないストリームデータの量でもよいし、クエリ処理部1272で分析の対象となりうるストリームデータ全体の量でもよいし或いは受信したストリームデータに基づき
分析・出力されるストリームデータの量でもよい。また、バッファ状態情報テーブル1280を更新するタイミングは、ストリームデータを受信したときでもよいし或いは定期的に更新してもよい。
図21は、バッファ状態情報テーブル1280をデータ送信計算機2100に転送するフローを示す。まず、S2001で、ストリームデータ処理計算機2200のバッファ状態情報テーブル1280が更新される。
次に、テーブル転送部1252が、ストリームデータ処理計算機2200のバッファ状態情報テーブル1280を、データ送信計算機2100に転送する。
次に、S2003で、データ送信計算機2100のテーブル受信部1135が転送されたバッファ状態情報テーブル1280を受信し、データ送信計算機2100のバッファ状態情報テーブル2150を更新する。なお、バッファ状態情報テーブルの転送のタイミングは、ストリームデータ処理計算機2200のストリームデータの状態を、データ送信計算機2100に通知できればいつでもよい。例えば、S2001に示したようにバッファ状態情報テーブル1280を更新したときでもよいし、定期的に転送するとしてもよい。
図22は、データ送信計算機2100で、バッファ状態情報テーブル2150を考慮した間引き部2110による間引き処理のフローである。
まず、S2101で、データ送信計算機2100においてストリームデータ送信処理が開始される。
次に、S2102で、間引部2110が、バッファ状態情報テーブル2150を参照し、送信先のストリームデータと、他のストリームの滞留数との滞留数1282について比較を行う。送信先のストリームの滞留数が他のストリームの滞留数よりも少なければS2104の処理に移り、多ければS2103の処理に移る。
S2103は、ストリームデータを間引いて送信する処理であり、図16の間引き処理と同様である。
S2104は、ストリームデータを間引かずに送信する処理であり、図16のS1601及びS1632と同様に、データを読込んだらそのままストリームデータとして送信を行うものである。
なお、S2102で間引き処理を行うかどうかの判断は、いつ行っても良い。例えば、S1601でデータを読込む前或いは後で毎回行ってもよいし、定期的に行っても良い。
この図22の処理により、ストリームデータ処理計算機2200における、各ストリームに対する処理状況を平準化し、処理の遅いストリームからの影響を排除することができる。
1、2000 計算機システム
100 データ生成部
200 ストリームデータ処理部
1100、2100 データ送信計算機
1110 CPU
1120 DISK
1130 メモリ
1131、2110 間引部
1132 データ送信部
1133 接続部
1134 クエリ情報テーブル
1135 テーブル受信部
1200、2200 ストリームデータ処理計算機
1210 CPU
1220 DISK
1230 メモリ
1240 オペレーティングシステム
1250 データ送信部管理部
1251 送信部管理部
1252 テーブル転送部
1253 送信部管理テーブル
1260 クエリ管理部
1261 クエリ登録部
1262 クエリ解析部
1263 ストリームデータ定義
1264 クエリ定義
1265 クエリ情報テーブル
1270 ストリームデータ処理部
1271 ストリームデータ受信部
1272 クエリ処理部
1273 ストリームデータ送信部
1280 バッファ状態情報テーブル
1300 結果受信計算機
1310 CPU
1320 DISK
1330 メモリ
1331 ストリームデータ受信部
1332 アプリケーション実行部
1400 ネットワーク
1500 ネットワーク
2150 バッファ状態情報テーブル

Claims (8)

  1. 時系列に時刻情報が付与されたストリームデータに対して、登録されたクエリに基づいてストリームデータ処理を行う計算機システムであって、
    前記計算機システムは、
    前記クエリと、前記ストリームデータを構成する複数種類の構成要素を表すストリーム定義とから前記クエリが示す条件に対応する構成要素を示すクエリ情報を保持する記憶部と、
    処理対象とするストリームデータから前記クエリ情報が示す構成要素以外の構成要素を削除し前記クエリ情報が示す構成要素を有する新たなストリームデータを生成し、これを送信するデータ生成部と、
    該送信された新たなストリームデータを受信し、前記クエリに応じてストリームデータ演算を行うストリームデータ処理部と、
    を有することを特徴とする計算機システム。
  2. 請求項1に記載の計算機システムであって、
    前記ストリームデータ演算には、前記データ生成部から送信されたストリームデータの数に依存する演算を含むことを特徴とする計算機システム。
  3. 請求項2に記載の計算機システムであって、
    前記ストリームデータの数に依存する演算は、前記データ生成部から送信されたストリームデータの所定単位数における平均値又は合計値の演算を含むことを特徴とする計算機システム。
  4. 請求項3に記載の計算機システムであって、
    前記データ生成部は、前記クエリ情報が示す構成要素以外の構成要素を削除したストリームデータを生成する際、当該ストリームデータの全ての構成要素を削除する場合には、nopデータとしてのストリームデータを送信し、
    前記ストリームデータ処理部は、前記nopデータを、前記平均値又は合計値の演算を行う際の所定単位数にのみ利用することを特徴とする計算機システム。
  5. 請求項1〜4の何れか一項に記載の計算機システムであって、
    前記計算機システムは、前記クエリ情報を、前記計算機システムの外部から受信し、前記記憶部に保持することを特徴とする。
  6. 請求項1〜4の何れか一項に記載の計算機システムであって、
    前記データ生成部は、前記クエリを、前記データ処理部に送信することを特徴とする計算機システム。
  7. 時系列に時刻情報が付与されたストリームデータに対して、登録されたクエリに基づいてストリームデータ処理を行う計算機システムのストリームデータ管理方法であって、
    前記計算機システムは、
    前記クエリと、前記ストリームデータを構成する複数種類の構成要素を表すストリーム定義とから前記クエリが示す条件に対応する構成要素を示すクエリ情報を保持する記憶部と、
    ストリームデータを生成するデータ生成部と、
    ストリームデータ演算を行うストリームデータ処理部と、を有し、
    前記データ生成部が、処理対象とするストリームデータから前記クエリ情報が示す構成要素以外の構成要素を削除することで前記クエリ情報が示す構成要素を有する新たなストリームデータを生成し、これを送信する手順と、
    前記ストリームデータデータ処理部が、
    該送信された新たなストリームデータを受信し、前記クエリに応じてストリームデータ演算を行う手順と、
    を含むことを特徴とするストリームデータ管理方法。
  8. 時系列に時刻情報が付与されたストリームデータに対して、登録されたクエリに基づいてストリームデータ処理を行う計算機システムに、
    前記クエリと、前記ストリームデータを構成する複数種類の構成要素を表すストリーム定義とから前記クエリが示す条件に対応する構成要素を示すクエリ情報を保持させる手順と、
    処理対象とするストリームデータから前記クエリ情報が示す構成要素以外の構成要素を削除し前記クエリ情報が示す構成要素を有する新たなストリームデータを生成させ、これを送信させる手順と、
    該送信された新たなストリームデータを受信させ、前記クエリに応じてストリームデータ演算を実行させる手順と、
    を実行させることを特徴とするプログラム。
JP2012040886A 2012-02-28 2012-02-28 計算機システム、ストリームデータ管理方法及びプログラム Active JP5352691B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012040886A JP5352691B2 (ja) 2012-02-28 2012-02-28 計算機システム、ストリームデータ管理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012040886A JP5352691B2 (ja) 2012-02-28 2012-02-28 計算機システム、ストリームデータ管理方法及びプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009208820A Division JP4992945B2 (ja) 2009-09-10 2009-09-10 ストリームデータ生成方法、ストリームデータ生成装置及びストリームデータ生成プログラム

Publications (2)

Publication Number Publication Date
JP2012142004A JP2012142004A (ja) 2012-07-26
JP5352691B2 true JP5352691B2 (ja) 2013-11-27

Family

ID=46678150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012040886A Active JP5352691B2 (ja) 2012-02-28 2012-02-28 計算機システム、ストリームデータ管理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5352691B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6041431B2 (ja) * 2012-10-16 2016-12-07 株式会社日立製作所 ストリームデータ処理方法、ストリームデータ処理装置及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002199015A (ja) * 2000-12-27 2002-07-12 Matsushita Electric Ind Co Ltd ネットワークデータサーバ
JP4687253B2 (ja) * 2005-06-03 2011-05-25 株式会社日立製作所 ストリームデータ処理システムのクエリ処理方法

Also Published As

Publication number Publication date
JP2012142004A (ja) 2012-07-26

Similar Documents

Publication Publication Date Title
JP4992945B2 (ja) ストリームデータ生成方法、ストリームデータ生成装置及びストリームデータ生成プログラム
US10021202B1 (en) Pushed based real-time analytics system
US8335782B2 (en) Ranking query processing method for stream data and stream data processing system having ranking query processing mechanism
US8032554B2 (en) Stream data processing method and system
JP6266630B2 (ja) アーカイブされたリレーションを有する連続クエリの管理
US8775556B1 (en) Automated segmentation and processing of web site traffic data over a rolling window of time
US8495082B2 (en) Stream data processing method cooperable with reference external data
JP5377897B2 (ja) ストリームデータのランキングクエリ処理方法およびランキングクエリ処理機構を有するストリームデータ処理システム
US7010538B1 (en) Method for distributed RDSMS
US8880996B1 (en) System for reconfiguring a web site or web page based on real-time analytics data
RU2691595C2 (ru) Конструируемый поток данных для улучшенной обработки событий
US11036713B2 (en) Sending notifications in a multi-client database environment
US8775941B1 (en) System for monitoring and reporting deviations of real-time analytics data from expected analytics data
US9628355B1 (en) System for validating site configuration based on real-time analytics data
US8869036B1 (en) System for troubleshooting site configuration based on real-time analytics data
US20090228431A1 (en) Scaled Management System
WO2008150675A1 (en) Event processing language
US10567557B2 (en) Automatically adjusting timestamps from remote systems based on time zone differences
US8782166B1 (en) System for generating a site pathing report based on real-time analytics data
AU2014216441B2 (en) Queue monitoring and visualization
Carbone et al. Large-scale data stream processing systems
US8782162B1 (en) System for merging and comparing real-time analytics data with conventional analytics data
US8775611B1 (en) System for displaying a web page with real time analytics data overlay
US8606907B1 (en) Multi-tiered system for receiving and reporting web site traffic data
US11366801B1 (en) Highly available storage using independent data stores

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130409

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130607

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130826

R151 Written notification of patent or utility model registration

Ref document number: 5352691

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151