Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6021741B2 - 時空間データベースの処理方法、プログラム及びシステム - Google Patents
[go: Go Back, main page]

JP6021741B2 - 時空間データベースの処理方法、プログラム及びシステム - Google Patents

時空間データベースの処理方法、プログラム及びシステム Download PDF

Info

Publication number
JP6021741B2
JP6021741B2 JP2013118759A JP2013118759A JP6021741B2 JP 6021741 B2 JP6021741 B2 JP 6021741B2 JP 2013118759 A JP2013118759 A JP 2013118759A JP 2013118759 A JP2013118759 A JP 2013118759A JP 6021741 B2 JP6021741 B2 JP 6021741B2
Authority
JP
Japan
Prior art keywords
stream
data
time
database
processing
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
JP2013118759A
Other languages
English (en)
Other versions
JP2014235690A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2013118759A priority Critical patent/JP6021741B2/ja
Priority to US14/291,714 priority patent/US9529844B2/en
Publication of JP2014235690A publication Critical patent/JP2014235690A/ja
Application granted granted Critical
Publication of JP6021741B2 publication Critical patent/JP6021741B2/ja
Priority to US15/385,391 priority patent/US10614072B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

この発明は、ストリーム処理から時空間データベースを照会する技法に関するものである。
近年、ストリーム処理が普及するにつれて、ストリーム処理から時空間データベースを照会する機会が増えている。そのような例として、図1に示す、視聴数集計システムがある。
図1において、複数の家庭内のテレビに配置されたセットトップ・ボックス(STB)から刻々と入力される視聴情報は、{ユーザID(UserID),CH(チャンネル),Time(現在時刻)}というタプルを含む。
入力された視聴情報ストリームは、チャンネル毎視聴数集計102と示されているストリーム処理オペレータで、{CH,Time(現在時刻),num(集計数)}というタプルに集計される。追加情報取得104と示されているストリーム処理オペレータは、{CH,Time(現在時刻),num(集計数)}というタプルを受け取り、この中のチャンネル(CH)をキーとして、コンピュータ・システムのハードディスクに保存されている、Programテーブルとして図示されている番組データベース106にDB問い合わせし、その問い合わせ結果と{CH,Time(現在時刻),num(集計数)}というタプルをjoinして、{CH,Time(現在時刻),num(集計数),Title(番組名),・・・}というタプルを生成し、出力する。なお、番組データベース106は、時間のフィールドも含むので、時空間データベースとも呼ばれる。
しかし、このようなシステムにおいて、ストリーム処理オペレータから時空間データベースへ照会するには、スキーマ・マッピング、SQLなどの複雑な記述が必要である。SQLの記述例は以下のとおりである。
SELECT Title, ・・・ FROM Program
WHERE CH = ? and Start <= CT and End > CT
// ここで、CTは現在時刻のタイムスタンプを示す
さらに、もしストリーム処理にリアルタイム性が要求されるなら、さらなる最適化が必要である。すなわち、ハードディスク・アクセスを伴うデータベース照会処理では、アクセスのボトルネックが生じる。しかし、データベースのデータを主記憶にロードするのはメモリを消費しすぎるので困難がある。さらには、問い合わせパラメータが現在時刻を含むので、データベースのキャッシュを利用するのもまた難しい。
このような処理に関して、以下のような従来技術が知られている。
先ず、特開2006−338432号公報は、ストリームデータの一部、もしくは全部複製し、不揮発性の記憶媒体にアーカイブし、リアルタイムデータとアーカイブデータをシーム レスに利用できる機構を提供し、複数のストリームデータ処理システムを連携させ、クエリ処理の性能を向上させる機構を提供する、ストリームデータ処理システムを開示する。
特開2007−328716号公報は、ストリームデータとの 突き合わせ対象と予測できるリレーションデータの階層的なキャッシュであるストリームプレディクトキャッシュをおくことで、データベースへのアクセス回数を削減し、性能を向上させることを開示する。
特開2011−28658公報は、データベース装置が、キャッシュ装置のキャッシュトラック部により、キャッシュ上の最新のキャッシュエントリを把握し、これをキャッシュ管理テーブルに記録し、ベーステーブルの更新処理が発生したとき、キャッシュ管理テーブルを参照して、ベーステーブルの更新処理により影響を受け、かつ、キャッシュ上に存在するベーステーブル上のデータを特定し、この特定したデータ のキャッシュエントリの破棄メッセージをキャッシュ装置へ送信し、キャッシュ装置が、破棄メッセージにより指示された、キャッシュ上のキャッシュエントリを破棄するデータベース装置を開示する。
Mohamed F. Mokbel, Xiaopeng Xiong, Walid G. Aref, Susanne E. Hambrusch, Sunil Prabhakar, Moustafa A. Hammad, "PLACE: a query processor for handling real-time spatio-temporal data streams", VLDB '04 Proceedings of the Thirtieth international conference on Very large data bases - Volume 30 Pages 1377-1380は、ある領域内に含まれるオブジェクトを検索するための時空間データの実現手法について記述する。
T. Y. Cliff Leung, Richard R. Muntz, "Generalized data stream indexing and temporal query processing", Research Issues on Data Engineering, 1992: Transaction and Query Processing, Second International Workshop on 2-3/02/1992, Pages 124 - 131には、時区間データの様々なjoinを実現させるためのindexの張り方の提案が記述されている。
しかし、これらの従来技術は、ストリーム処理オペレータから時空間データベースへ照会する際のパフォーマンスの問題を解決することを示唆するものではない。
特開2006−338432号公報 特開2007−328716号公報 特開2011−28658号公報
Mohamed F. Mokbel, Xiaopeng Xiong, Walid G. Aref, Susanne E. Hambrusch, Sunil Prabhakar, Moustafa A. Hammad, "PLACE: a query processor for handling real-time spatio-temporal data streams", VLDB '04 Proceedings of the Thirtieth international conference on Very large data bases - Volume 30 Pages 1377-1380 T. Y. Cliff Leung, Richard R. Muntz, "Generalized data stream indexing and temporal query processing", Research Issues on Data Engineering, 1992: Transaction and Query Processing, Second International Workshop on 2-3/02/1992, Pages 124 - 131
従って、この発明の目的は、時空間データベースのデータを利用可能なストリーム処理を実現するための技法を提供することにある。
この発明は、時空間データベースのレコード内の時刻データを基にデータストリームを生成し、時空間を考慮したデータストリームのオペレーションを実現することによって、上記課題を解決する。
ここで、この発明の記述で使用される用語を改めて定義すると先ず、時空間データストリームとは、ストリーム内のタプルに有効期間(開始時刻、終了時刻)を含むものである。このようなタプルを時空間タプルとも呼ぶ。また、時空間データストリーム処理とは、タプルの有効期間に応じて処理を選択的に行うストリーム処理である。
さらに、Temporal Join(時間的JOIN)とは、有効期間が重複するタプルに対してJoinすることをいう。
さて、本発明に係る処理は、時空間データベースから時空間データストリームを生成する処理と、Temporal Joinを行う時空間データストリーム処理からなる。
本発明に係るシステムは、時空間データベースから時空間データストリームを生成する処理において、以下を実行する。
− 時空間データベースのレコードをレコード内の有効開始時刻順にソートし、現在時刻から一定時間分のレコードを、定期的に主記憶などにバッファする。
− バッファ内のレコードを、そのレコードの有効開始時刻以降になった時点で、時空間タプルとして出力する。
また好適には、本発明に係るシステムは、時空間データベースから時空間データストリームを生成する処理において、バッファ内のレコードの有効終了通知を、そのレコードの有効終了時刻以降になった時点で、時空間ストリームの受信側に送信する処理を実行する。
本発明に係るシステムはさらに、時空間データストリーム処理において、以下を実行する。
− 入力となる時空間タプルの有効期限を利用して、処理対象となる時空間タプルを選択し、ストリーム処理を行う。その結果、出力結果も時空間タプルとなる。
− 有効期限が切れた時点で、オペレータ内でバッファされた時空間タプルを削除する。
また好適には、本発明に係るシステムはさらに、時空間データストリーム処理において、有効終了時刻を受信した時刻で、オペレータ内でバッファされた時空間タプルをフラッシュする処理を実行する。
この発明によれば、時空間データベースのレコードをレコード内の有効開始時刻順にソートし、現在時刻から一定時間分のレコードを、定期的に主記憶などにバッファし、これに基づきストリームデータを生成するようにしたことにより、入来したストリームデータとのJoin処理が高速で行われるという効果が得られる。
従来技術の視聴数集計システムの概要を示す図である。 本発明の実施例を実装するためのハードウェアの構成を示す図である。 本発明の実施例の機能ブロック図である。 バッファ・テーブル生成ルーチンの処理のフローチャートを示す図である。 Programテーブルからバッファ・テーブルにデータを抽出する様子を示す図である。 データストリーム生成ルーチンの処理のフローチャートを示す図である。 Temporal Join処理のフローチャートを示す図である。 Temporal Join処理のフローチャートを示す図である。 複数のデータベースに対してJoin処理を行う、従来技術の構成の例の図である。 複数のデータベースに対してJoin処理を行う、本発明の構成の例の図である。 料金変動制有料道路の課金処理システムの例を示す図である。 時間制約のある株の注文処理の例を示す図である。
以下、図面に従って、本発明の実施例を説明する。これらの実施例は、本発明の好適な態様を説明するためのものであり、発明の範囲をここで示すものに限定する意図はないことを理解されたい。また、以下の図を通して、特に断わらない限り、同一符号は、同一の対象を指すものとする。
図2は、本発明を実施するためのシステムの一例の概要構成を示す図である。本発明は、これには限定されるわけではないが、ここでは視聴情報集計システムを例にとって説明する。
図2において、インターネット202には、各家庭のテレビに設置されたセットトップボツクス(STB)204a、204b、・・・、204zが接続され、セットトップボツクス(STB)204a、204b、・・・、204zは、時々刻々と、各STBのユーザーIDと、チャンネル(CH)と、時刻の情報をインターネット202を介して送信する。
セットトップボツクス(STB)204a、204b、・・・、204zからインターネット202を介して送られたユーザーIDと、チャンネル(CH)と、時刻の情報を含むタプルは、サーバ206aによって受け取られる。
サーバ206aは、LAN、WAN、FHHTなどのどれかの接続構成であるネットワーク208に接続され、ネットワーク208にはさらに、サーバ206b、206c、・・・、206n、サーバ210及びサーバ214が接続されている。これらのサーバとして、これには限定されないが、インターナョナル・ビジネス・マシーンズ・コーポレーションから購入可能な、IBM(R) System X、System i、System pなどの機種のサーバを使うことができる。これらのサーバで使用可能なオペレーティング・システムとして、AIX(商標)、UNIX(商標)、Linux(商標)、Windows(商標)2008 Serverなどがあるが、この実施例では、Linux(商標)を導入するものとする。
サーバ206a、206b、206c、・・・、206nには、IBM(R) InfoSphere Streamsが導入され、これにより、サーバ206a、206b、206c、・・・、206nは、ストリーム・サーバを構成する。なお、ストリーム・サーバを構成するサーバの台数は一台でもよく、台数はストリーム・データの処理量に応じて決められる。
サーバ210は、データベース・サーバであり、データベース212が接続されている。データベース212は、サーバ210のローカル・ディスクに格納してもよいし、SAN(Storage Area Network)、NAS(Network Attached Storage)などで構成され、ネットワークを介してデータベース・サーバ210に接続されていてもよい。サーバ210には、DB2などの、データベース管理プログラムが導入されている。データベース212には、Program(番組)データベースが含まれている。Programデータベースは、チャンネル(CH)、開始時間(START)、終了時間(END)、タイトル(TITLE)などのフィールドを含む。
サーバ214は、アプリケーション・サーバであり、オペレーティング・システムとしてのLinux(商標)と、Java(R)上に、IBM(R) WebSphere(商標) Application Server(WAS)が導入されている。サーバ214には、クライアント・コンピュータ216が接続されており、管理者あるいはオペレータは、クライアント・コンピュータ216を操作して、WASの管理ツールなどを通じてストリーム・サーバであるサーバ206a、206b、206c、・・・、206nや、データベース・サーバであるサーバ210の構成を適宜変更したりする。
次に図3を参照して、当該実施例に係る処理の機能構成について説明する。図3において、Programテーブル302は、図2のデータベース212に含まれ、チャンネル(CH)、開始時間(START)、終了時間(END)、タイトル(TITLE)などのフィールドを含む。
バッファ・テーブル生成ルーチン304は、好適にはサーバ210のハードディスク(図示しない)に格納され、動作により、Programテーブル302から所定の条件でレコードを抽出し、バッファ・テーブル306を生成する機能をもつ。バッファ・テーブル306は、好適にはストリーム・サーバ206a、206b、206c、・・・、206nうちのどれかの主記憶(図示しない)に、現在時刻以降の一定期間(例えば30分)のデータをSTART順にソートし、ロードする。バッファ・テーブル生成ルーチン304は、Java(R)、C、C++、C#などの既存の適当なコンピュータ・プログラミング言語で作成することができる。バッファ・テーブル生成ルーチン304の処理については、図4のフローチャートを参照して後で説明する。
チャネル毎視聴数集計オペレータ308は、ストリーム・サーバにおいて動作するように、例えばIBM(R) InfoSphere Streamsで使用されるSPL(Streams Processing Language)で作成されたものであり、セットトップボックス204a、204b・・・204zから受け取った、[UserID,CH(チャンネル),Time(現在時刻)]のタプルを一定時間ごとに集計して、[CH(チャンネル),Time(現在時刻),num(集計数)]を出力する。
データストリーム生成ルーチン310は、現在時刻がSTARTに達した時点で、[CH, START, END, TITLE,..]の時空間タプルを出力する。データストリーム生成ルーチン310は同様に、SPL(Streams Processing Language)などの適当なストリーム言語で作成することができる。そのコードの一例は、以下のようになる。
stream<Temporal_tuple> T_stream = GenTemporal() {
param
table : Program
timeS : Program.Start
timeE : Program.End
}
データストリーム生成ルーチン310の処理については、図6のフローチャートを参照して後で説明する。
Temporal Join(時間的Join)オペレータ312もまた、好適にはストリーム・サーバにおいて動作するように、IBM InfoSphere Streamsで使用されるSPL(Streams Processing Language)で書かれたものであり、チャネル毎視聴数集計オペレータ308からの出力ストリームと、データストリーム生成ルーチン310からの出力ストリームを受け取って、時間に関してJoinし、[CH, Time(現在時刻),num(集計数),Title(番組名),...]というストリームを出力する。
コードの例は、以下のようになる。
stream<Combined_tuple> Join =
TemporalJoin(Input_stream: T_stream) {
param
match: Input_stream.CH = T_stream.CH
}
Temporal Joinオペレータ312の処理については、図7及び図8のフローチャートを参照して後で説明する。
次に、図4のフローチャートを参照して、バッファ・テーブル生成ルーチン304の処理について、説明する。
図4において、バッファ・テーブル生成ルーチン304は、ステップ402で、Time0 = 現在時刻にセットし、ステップ404からステップ416までは、時間n毎に実行するループである。但し、nは以下で述べるxより小さい値である。
ステップ406では、Querytime = Time0 + xとセットする。これは、開始時間が時間x後のデータを取得するという意味である。
バッファ・テーブル生成ルーチン304は、ステップ408で、Time0 <= [START] and [START] < Querytimeという条件でデータベース、すなわちProgramテーブル302に問い合わせする。ここでSTARTは、Programテーブル302の開始時刻のフィールドを指す。
バッファ・テーブル生成ルーチン304は、ステップ410で、取得したデータをSTARTが早い順にソートし、ステップ412でソートしたデータをバッファ・テーブル306に格納する。そしてステップ414でTime0 = Querytimeとセットして、ステップ404に戻り、時間nを待って次のループに入る。
図5は、バッファ・テーブル生成ルーチン304によって、Programテーブル302からバッファ・テーブル306にデータが格納される様子が示されている。ここでは、開始時刻12:00以降のデータがバッファ・テーブル306に格納されることが見て取れる。
次に図6のフローチャートを参照して、データストリーム生成ルーチン310の処理について説明する。
図6のステップ602で、データストリーム生成ルーチン310は、バッファ・テーブル306の1レコード目にポインタをさす。
ステップ604からステップ620までは外側のループである。ステップ606で、データストリーム生成ルーチン310は、現在時刻をCurrenttimeにセットする。
ステップ608からステップ618までは内側のループである。ステップ610で、データストリーム生成ルーチン310は、ポインタのさすレコードの開始時間がCurrenttime以下かどうか判断し、そうでないなら、ステップ604に戻る。
ポインタのさすレコードの開始時間がCurrenttime以下なら、データストリーム生成ルーチン310は、ステップ612で、そのレコードを時空間タプルとしてストリームに出力し、ステップ614で、ポインタを次のレコードに移動し、ステップ616で、出力したそのレコードをバッファ・テーブル306からフラッシュして、内側のループの開始点であるステップ608に戻る。
次に、図7及び図8のフローチャートを参照して、Temporal Joinオペレータ312の処理について説明する。
図7のフローチャートは、Temporal Joinオペレータ312への、データストリーム生成ルーチン310からの入力の処理を示す。具体的には、図6のステップ612からの出力が、時空間タプルとして入力となり、ステップ702で結合オペレータ内に格納される。
図8のフローチャートは、Temporal Joinオペレータ312への、チャンネル毎視聴数集計オペレータ308からの入力の処理を示す。図8のステップ802で、Temporal Joinオペレータ312は、結合オペレータ内の、Match条件を満たす時空間タプルを取得する。ここで、Match条件とは、下記のコードの例で、match:以下に書かれる条件である。
stream<Combined_tuple> Join =
TemporalJoin(Input_stream: T_stream) {
param
match: Input_stream.CH = T_stream.CH
}
ステップ804で、Temporal Joinオペレータ312は、合致した時空間タプルの有効期間が現在有効であるかどうか判断し、もしそうなら、ステップ806で、データを結合する。
もし、合致した時空間タプルの有効期間が現在有効でないなら、Temporal Joinオペレータ312は、ステップ808で例外処理する。ここでの例外処理とは、結合処理を実施せず入力ストリームを破棄したり、あるいは、指定時間待ち、再び最初から図8のフローチャートの処理を繰り返し、ある回数繰り返して結合されなかった場合、エラーログを出力する、などである。
図9及び図10は、本発明による効果をよりよく説明するための図である。すなわち、図9に模式的に示す従来技術において、入力ストリームに対して、Join処理を行うべきデータベースが3個ある場合、ストリーム902を入力した後、データベース904とJoin処理906を行い、その後、データベース908とJoin処理910を行い、その後、データベース912とJoin処理914を行うことでようやく出力が得られる。このような直列的なJoin処理は明らかに時間がかかる。
一方、図10に模式的に示す本発明の処理において、入力ストリーム1002とは別に、データベース1004からバッファ・テーブルを生成してTemporal Stream生成処理1006を行うことと、データベース1008からバッファ・テーブルを生成してTemporal Stream生成処理1010を行うことと、データベース1012からバッファ・テーブルを生成してTemporal Stream生成処理1014を行うことが各々並列に実行でき、これらを一括でJoin処理1016を行うことで、高速に出力が得られる。
図11は、この発明の別の実施例として、渋滞度合いによる料金変動制有料道路の課金処理システムに適用した例を示す。
図11において、交通ストリーム1102は、有料道路を通過する車の情報をストリームとして流すものであり、車両ID(CarID)、道路ID(RoadID)、時刻(Timestamp)を含む。一方、道路料金データベース1104は、通過する区間の道路ID(RoadID)と、適用する時区間である開始時間(Start)及び終了時間(End)と、その区間の料金(Fee)を含む。
本発明によれば、道路料金データベース1104から、バッファ・テーブルを生成して時空間の料金ストリームが生成される。料金ストリームは、有効開始時間になったデータを含む。道路料金は、通過する区間のRoadIDとその区間の直前X分の渋滞度合いに応じて、シミュレーションなどでその後の料金を決定し、その料金を適用する時区間を決定する。
料金判定オペレータ1108は、交通ストリーム1102と、道路料金データベース1104からの料金ストリームを用いて、車が到着した時刻とその有料道路のIDに基づき、道路の料金を問い合わせる。課金オペレータ1110は、料金判定オペレータ1108で取得した道路料金で車毎に課金処理を行う。履歴は課金履歴データベース1112に随時格納される。
次に、図12は、この発明のさらに別の実施例として、時間制約のある株の注文処理に適用した例を示す。
図12において、株価ストリーム1202は、株ID(StockID)、株価(Price)、時刻(Timestamp)のタプルを含む。一方、買い注文データベース1204は、注文ID(OrderID)、株ID(StockID)、ユーザID(UserID)、株価(Price)、期間(Duration)のフィールドをもつ。
買い注文ストリーム1206は、バッファ・テーブルを使用して買い注文データベース1204のデータをストリーム化する。
注文判定オペレータ1208は、株価ストリーム1202と買い注文ストリーム1206を株価でシーケンスマッチングして(Stock.Price <= Order.Price)、マッチングしたOrderIDを出力する。
注文オペレータ1210は、注文判定オペレータ1208から出力されたOrderIDで注文し、その結果を注文済データベース1212に記録する。
以上、視聴数集計処理と、料金変動制有料道路の課金処理と、時間制約のある株の注文処理の実施例について説明したが、この発明はこれには限定されず、予めハードディスクなどに保存された時空間データベースと、ストリームデータのJoinを行う任意の例に適用可能である。
また、本発明は、実施例で使用されているJava(R)などに限定されず、任意のコンピュータ・システムあるいはプラットフォームで実装可能である。
206a、206b、・・・、206n ストリーム・サーバ
210 データベース・サーバ
302 Programテーブル
304 バッファ・テーブル作成ルーチン
306 バッファ・テーブル
310 データストリーム生成ルーチン
312

Claims (10)

  1. コンピュータの処理により、データベースに問い合わせを行うシステムであって、
    記憶手段と、
    前記記憶手段に保存された、時間フィールドを含むデータベースと、
    現在時間から所定の期間の間のデータを、前記データベースから抽出して、前記時間フィールドでソートして主記憶にバッファする手段と、
    時間情報を含むタプルの第1のストリームを受け付ける手段と、
    前記時間フィールドに基づき現在時刻に対して有効である前記バッファしたデータを第2のストリームとして出力する手段と、
    前記第1のストリームに対し、前記第2のストリームを用いてストリーム処理を行う手段を有する、
    システム。
  2. 前記ストリーム処理は、前記2つのストリームに含まれるデータのうち、所定の一致条件を満たすデータ同士をジョインして出力する処理である、請求項1に記載のシステム。
  3. 前記主記憶にバッファする手段は、前記主記憶にバッファする処理を所定期間毎に実行する、請求項1に記載のシステム。
  4. 前記ストリーム処理は時間情報が重複することを更なる条件として前記第1のストリームのタプルと前記第2のストリームのタプルをジョインしてストリームとして出力する、請求項に記載のシステム。
  5. コンピュータの処理により、データベースに問い合わせを行う方法であって、
    現在時間から所定の期間の間のデータを、記憶手段に保存された、時間フィールドを含むデータベースから抽出して、前記時間フィールドでソートして主記憶にバッファするステップと、
    時間情報を含むタプルの第1のストリームを受領するステップと、
    前記時間フィールドに基づき現在時刻に対して有効である前記バッファしたデータを第2のストリームとして出力するステップと、
    前記第1のストリームに対し、前記第2のストリームを用いてストリーム処理を行うステップを有する、
    方法。
  6. 前記主記憶にバッファするステップは、定期間毎に実行する、請求項に記載の方法。
  7. 前記出力されたデータを前記バッファから削除するステップをさらに有する、請求項に記載の方法。
  8. コンピュータの処理により、データベースに問い合わせを行うプログラムであって、
    前記コンピュータに、
    現在時間から所定の期間の間のデータを、記憶手段に保存された、時間フィールドを含むデータベースから抽出して、前記時間フィールドでソートして主記憶にバッファするステップと、
    時間情報を含むタプルの第1のストリームを受領するステップと、
    前記時間フィールドに基づき現在時刻に対して有効である前記バッファしたデータを第2のストリームとして出力するステップと、
    前記第1のストリームに対し、前記第2のストリームを用いてストリーム処理を行うステップを実行させる、
    プログラム。
  9. 前記主記憶にバッファするステップは、定期間毎に実行する、請求項に記載のプログラム。
  10. 前記出力されたデータを前記バッファから削除するステップをさらに前記コンピュータに実行させる、請求項に記載のプログラム。
JP2013118759A 2013-06-05 2013-06-05 時空間データベースの処理方法、プログラム及びシステム Active JP6021741B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013118759A JP6021741B2 (ja) 2013-06-05 2013-06-05 時空間データベースの処理方法、プログラム及びシステム
US14/291,714 US9529844B2 (en) 2013-06-05 2014-05-30 Method, program, and system for processing space-time database
US15/385,391 US10614072B2 (en) 2013-06-05 2016-12-20 Method, program, and system for processing space-time database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013118759A JP6021741B2 (ja) 2013-06-05 2013-06-05 時空間データベースの処理方法、プログラム及びシステム

Publications (2)

Publication Number Publication Date
JP2014235690A JP2014235690A (ja) 2014-12-15
JP6021741B2 true JP6021741B2 (ja) 2016-11-09

Family

ID=52006361

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013118759A Active JP6021741B2 (ja) 2013-06-05 2013-06-05 時空間データベースの処理方法、プログラム及びシステム

Country Status (2)

Country Link
US (2) US9529844B2 (ja)
JP (1) JP6021741B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10088324B2 (en) 2016-05-02 2018-10-02 International Business Machines Corporation Trajectory data compression
CN106446278B (zh) * 2016-10-24 2018-07-20 北京亚控科技发展有限公司 一种基于时空数据库的对数据对象的检索方法
US11341006B1 (en) * 2020-10-30 2022-05-24 International Business Machines Corporation Dynamic replacement of degrading processing elements in streaming applications
CN112800056B (zh) * 2021-01-21 2024-03-08 北京博阳世通信息技术有限公司 基于多粒度时空数据的多层索引构建方法
CN114860724B (zh) * 2022-04-26 2025-06-03 中电科金仓(北京)科技股份有限公司 数据库共享内存缓冲池的处理方法、存储介质与设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6353820B1 (en) * 1999-09-29 2002-03-05 Bull Hn Information Systems Inc. Method and system for using dynamically generated code to perform index record retrieval in certain circumstances in a relational database manager
JP4687253B2 (ja) 2005-06-03 2011-05-25 株式会社日立製作所 ストリームデータ処理システムのクエリ処理方法
US7904444B1 (en) 2006-04-26 2011-03-08 At&T Intellectual Property Ii, L.P. Method and system for performing queries on data streams
JP4804233B2 (ja) 2006-06-09 2011-11-02 株式会社日立製作所 ストリームデータ処理方法
JP4891320B2 (ja) * 2006-07-11 2012-03-07 Kddi株式会社 番組表配信装置および番組表配信方法
JP4990696B2 (ja) 2007-06-27 2012-08-01 株式会社日立製作所 ストリームデータの処理方法およびストリームデータ処理システム
JP5377897B2 (ja) * 2007-10-29 2013-12-25 株式会社日立製作所 ストリームデータのランキングクエリ処理方法およびランキングクエリ処理機構を有するストリームデータ処理システム
JP5465413B2 (ja) 2008-10-29 2014-04-09 株式会社日立製作所 ストリームデータ処理方法、及びそのシステム
JP4659877B2 (ja) 2008-12-03 2011-03-30 株式会社日立製作所 ストリームデータ処理制御方法、ストリームデータ処理装置及びストリームデータ処理制御プログラム
IL197961A0 (en) * 2009-04-05 2009-12-24 Guy Shaked Methods for effective processing of time series
JP5071990B2 (ja) 2009-07-28 2012-11-14 日本電信電話株式会社 データベース装置、データベースシステム、キャッシュメンテナンス方法およびそのプログラム
JP5462200B2 (ja) * 2010-02-19 2014-04-02 パナソニック株式会社 番組表配信装置、番組配信装置、番組表受信端末、番組表送受信システム、番組表配信方法、番組表受信方法、プログラム、及び記録媒体
JP5423553B2 (ja) * 2010-04-09 2014-02-19 株式会社日立製作所 データベース管理方法、計算機、センサネットワークシステム及びデータベース検索プログラム
US8478743B2 (en) * 2010-12-23 2013-07-02 Microsoft Corporation Asynchronous transfer of state information between continuous query plans
SG10201600432YA (en) * 2011-02-21 2016-02-26 Univ Singapore Apparatus, system, and method for annotation of media files with sensor data
US9251155B1 (en) * 2012-05-04 2016-02-02 Paraccel Llc Maintaining sort order of data in databases

Also Published As

Publication number Publication date
JP2014235690A (ja) 2014-12-15
US20140365478A1 (en) 2014-12-11
US10614072B2 (en) 2020-04-07
US9529844B2 (en) 2016-12-27
US20170103109A1 (en) 2017-04-13

Similar Documents

Publication Publication Date Title
US12248484B2 (en) Reassigning processing tasks to an external storage system
JP6021741B2 (ja) 時空間データベースの処理方法、プログラム及びシステム
US11669528B2 (en) Joining multiple events in data streaming analytics systems
US20200050586A1 (en) Query execution at a remote heterogeneous data store of a data fabric service
US8386515B2 (en) Persistent querying in a federated database system
WO2020220216A1 (en) Search time estimate in data intake and query system
US7403959B2 (en) Query processing method for stream data processing systems
US20190147084A1 (en) Distributing partial results from an external data system between worker nodes
US8290939B2 (en) Visualizing query results in stream processing systems
JP2020515818A (ja) 地理的位置における資産を管理するシステム及び方法
JP6929388B2 (ja) クエリリソースキャッシングのためのシステムおよび方法
US20120078868A1 (en) Stream Processing by a Query Engine
US11567930B2 (en) Adaptive data retrieval with runtime authorization
CN104933136B (zh) 基于海量车牌自动识别数据的动态拼车方法和系统
US20180357486A1 (en) System and method for analyzing video frames in a messaging system
JP2014157510A (ja) ストリーム・データ処理システム、方法及びプログラム
Sunderrajan et al. Real time load prediction and outliers detection using storm
Chen et al. Experience in extending query engine for continuous analytics
Chen et al. Cut-and-rewind: Extending query engine for continuous stream analytics
Hanning et al. Efficient processing of continuous skyline query over smarter traffic data stream for cloud computing
Zhao et al. A real-time processing system for massive traffic sensor data
US20110119384A1 (en) Information processing apparatus, information processing program, and information processing method
CN117390106B (zh) 数据处理方法、装置、存储介质和计算设备
Alam et al. Survey on Data Warehouse from Traditional to Realtime and Society Impact of Real Time Data
CN103560921A (zh) 一种网络流数据的归并方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151127

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160104

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160615

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161004

R150 Certificate of patent or registration of utility model

Ref document number: 6021741

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150