JP5314570B2 - 蓄積データの再構成システム、再構成方法およびプログラム - Google Patents

蓄積データの再構成システム、再構成方法およびプログラム Download PDF

Info

Publication number
JP5314570B2
JP5314570B2 JP2009255432A JP2009255432A JP5314570B2 JP 5314570 B2 JP5314570 B2 JP 5314570B2 JP 2009255432 A JP2009255432 A JP 2009255432A JP 2009255432 A JP2009255432 A JP 2009255432A JP 5314570 B2 JP5314570 B2 JP 5314570B2
Authority
JP
Japan
Prior art keywords
data
stream
storage device
data storage
stream data
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.)
Expired - Fee Related
Application number
JP2009255432A
Other languages
English (en)
Other versions
JP2011100359A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2009255432A priority Critical patent/JP5314570B2/ja
Publication of JP2011100359A publication Critical patent/JP2011100359A/ja
Application granted granted Critical
Publication of JP5314570B2 publication Critical patent/JP5314570B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、分散ストリーム処理における蓄積データの再構成システム、再構成方法およびプログラムに関する。
ユビキタス社会の進展に伴って、情報を収集し蓄積するコストが低下してきている。例えば、VoIP(Voice over Internet Protocol)技術により携帯電話の通話記録を容易に収集したり、センシング機器(センサ)やIC(Integrated Circuits)タグの発達・普及により、様々な場所や状況で情報を自動的に収集したりできるようになった。さらに、ネットワークコストの低下により、これらの情報を広域から大量に収集することが可能となった。
このように、各種センサやICタグ、携帯電話等により様々なデータを収集し、その収集したデータを処理して、所定の利用先へ流通させるストリームデータ処理技術がある。このストリームデータ処理において、単位時間あたりにデータサイズが変化するストリームデータを複数受けた場合でも、効率的に処理できるように、ストリームデータを受け付けるデータ蓄積装置を複数設け、さらに、複数のデータ処理装置を設けて、効率的に処理を分散させることができる分散ストリーム処理システムが開示されている(例えば、特許文献1参照)。
また、大量のデータを扱う分散ストリーム処理システムにおいて、一度処理を終えた過去のデータの洗い直しやマイニング等のため、データ蓄積装置に記憶されたストリームデータを再度呼び出し、再処理する技術が開示されている(例えば、特許文献2参照)。
図13は、従来技術における分散ストリーム処理システム5を示す図である。
この分散ストリーム処理システム5は、計測データやログデータ等の時系列で作成されるデータをストリームデータとして送信する追記クライアント(情報源)50(50A,50B,…,50N)と、追記クライアント50から送信されたストリームデータを蓄積するデータ蓄積装置20(20A,20B,…,20N)と、このデータ蓄積装置20からストリームデータを取得し、所定のデータ処理を実行するデータ処理装置10(10A,10B,…,10N)と、このデータ処理後のストリームデータを蓄積するデータベース装置60(60A,60B,…,60N)と、このデータベース装置60のデータの検索を行ったり、データベース装置60からデータの配信を受けたりする参照クライアント(外部装置)70(70A,70B,…,70N)と、このデータ蓄積装置20やデータ処理装置10を動作させるための情報を管理する情報管理装置30とを含んで構成される。
この分散ストリーム処理システム5によれば、情報管理装置30の接続先割当部31が、追記クライアント50からのストリームデータを、どのデータ蓄積装置20に割り当てるか決定する。そして、ストリームデータを受け付けたデータ蓄積装置20の追記部21は、蓄積データ記憶部22に、ストリームデータを記憶する。そして、追記部21内のデータ位置情報送信部214が、その記憶した位置情報を情報管理装置30に送信する。続いて、位置情報を受信した情報管理装置30のデータ位置管理部34は、そのストリームデータの位置情報をデータ位置管理DB(DataBese)322に記憶する。一方、データ処理装置10は、ストリームデータの取得元となるデータ蓄積装置20のキー状態情報(入力スループット、出力スループット、CPUコスト等)をもとに、キュー選択部11がデータ蓄積装置20を選択して、データ受付部12がストリームデータを取得し、データ処理部13においてデータ処理を行う。そして、データ処理後のストリームデータを、データベース装置60に出力することで、参照クライアント70がデータの検索を行ったり、データの配信を受けたりする。
また、この分散ストリーム処理システム5においては、参照クライアント70から情報管理装置30に対し、ストリームデータの再処理指示を受け付ける。再処理指示を受け付けた情報管理装置30のデータ再処理制御部33は、指示されたストリームデータがどのデータ蓄積装置20のどの記憶位置に記憶されているかを、データ位置管理部34を介してデータ位置管理DB322を検索し、該当するデータ蓄積装置20のプロセス管理部23に指示を出す。そして、プロセス管理部23は、再処理の対象となるストリームデータを抽出して追記部21へ送り、データ処理装置10での再処理を実行させる。
このような分散ストリーム処理システム5では、多数の追記クライアント(情報源)50から入力される大量のストリームデータを処理する必要がある。しかし、限られたセッション数しか対応できないため、セッションを切断することがある。また、センサ等の情報源側の何らかの理由で、セッションが切断されることもある。これらの場合、セッションをつなぎ直す時点で、それ以前と同じ追記部21にセッションを張るためには、追記クライアント50を認証し、切断時と同じ追記部21をすべてのデータ蓄積装置20の中から検索する処理が必要となる。また、切断前に接続していた追記部21が他の追記クライアント50から大量のストリームデータを受け付けた場合や、データ蓄積装置20の故障等で、接続できない可能性もある。
そこで、情報管理装置30の接続先割当部31は、追記クライアント50への追記レスポンスを高速にし、可用性を高めるために、負荷の少ない追記部21の中からデータを受け付ける追記部21を決定する方針をとっている。これにより、どのデータ蓄積装置20が壊れても、他の負荷が少ないデータ蓄積装置20の追記部21を使用し、ストリームデータを受け付けることが可能となる。
特開2008−83808号公報 特開2008−294774号公報
しかしながら、従来の分散ストリーム処理システム5においては、ストリームデータを送信する追記クライアント50と情報管理装置30の追記部21との対応関係が決定されていないため、一つの追記クライアント50から送信されるデータが、複数の追記部21に、送信されることになる。また、その際、追記クライアント(情報源)50の種類によって、データサイズに大きなバラつきが発生する。
さらに、追記クライアント(情報源)50の種類によっては、セッションの扱いが異なり、一度セッションを確立した後は、何らかの問題が発生するまでは同一のセッションの中で追記を行い続ける方法(以下、「セッション維持型」という)と、情報源が数秒から数分毎にセッションの確立を行いながらデータの追記を行う(以下、「都度セッション確立型」という)がある。
図14は、分散ストリーム処理システムのデータ蓄積方法を説明するための図である。
図14は、情報源「1」,「2」,「3」が存在し、情報源「1」,「2」が都度セッション確立型の追記、情報源「3」がセッション維持型の追記である例を示している。
この例では、追記部「A」に、情報源「1」系列「1」のデータと情報源「2」系列「1」のデータが送られ、蓄積データとして記憶される。追記部「B」に、情報源「1」系列「2」のデータと情報源「2」系列「2」のデータが送られ、蓄積データとして記憶される。追記部「C」に、情報源「3」系列「1」のデータが送られ、蓄積データとして記憶される。また、追記部「D」に、情報源「1」系列「3」のデータと情報源「2」系列「3」のデータが送られ、蓄積データとして記憶される。
このように、情報管理装置30の接続先割当部31は、処理負荷の少ない追記部21へストリームデータをランダムに割り当てると、細かなデータファイルがシステム全体に多数存在する状態となり、蓄積データを再処理する場合に、細かなファイルのOpen/Closeが多数発生し、再処理の効率が低下するという問題が生じる。また、情報管理装置30内のデータ位置管理DB322においても、管理対象レコード数が増大することになる。
また、このような細かなデータファイルが多数存在する状態で、セッション維持型の情報源「3」からのデータの追記が発生すると、そのセッションに対応する追記部21(図14の追記部「C」)だけの蓄積データが増加し、各追記部21による蓄積データ量のバランスが崩れた状態になる。
このような蓄積データ量の偏りを解決する方法として、各データ蓄積装置20に蓄積されたデータ量の平均値による再構成を行う方法が考えられる。図15は、蓄積データ量を平均化して再構成した例を示す図である。
まず、接続先割当部31によりストリームデータの振り分けが決定され、追記部「A」に情報源「1」系列「1」のデータ「100MB」、追記部「B」に情報源「1」系列「2」のデータ「100MB」、追記部「C」に情報源「1」系列「3」のデータ「1000MB」、追記部「D」に情報源「1」系列「4」のデータ「400MB」が蓄積されたとする。ここで、平均値によるデータの再構成を行うと、追記部「C」のデータを追記部「A」,「B」に移動させることにより、蓄積データ量が平均化される。そして、その結果、蓄積データの再処理に対して、大きなデータの偏りがなくなり、再処理時間を短縮することができる。
しかし、蓄積データ量を平均化するために、情報源から連続して受け取ったストリームデータを分断してしまうと、再処理を行う際において、データの連続性を必要とする場合に対応できないという問題がある。例えば、フィルタリングで検出されたデータの前後のデータを利用する場合や、ストリームデータ管理システムの機能の一つであるWindow処理のように、特定のデータについて、その前後の区間のデータをまとめて参照する処理等に対応できない。例えば、追記部「C」に存在したデータが、平均値による再構成後に、追記部「A」,「B」,「C」に分割されてしまうと、再構成以前では可能であったWindow処理が、データが分割されたことによりできなくなってしまう。
このように、分散ストリーム処理システム5において、都度セッション型の追記が行われると、情報源からの蓄積データが細かい単位で多数の追記部21に割り当てられ分散されることで、再処理を行う際に処理時間の無駄が発生する。また、データ位置管理DB322の管理対象レコードが大幅に増大し、性能が劣化する。そして、セッション維持型と都度セッション型が混在するシステムにおいては、単純に蓄積データ量を平均化するような再構成を行うと、再構成後の再処理時に、再構成前には行えたWindow処理等が行えなくなるという課題がある。
このような背景に鑑みて本発明がなされたのであり、本発明は、各データ蓄積装置に分散された蓄積データの再処理の効率化を図ることができる、分散ストリーム処理における蓄積データの再構成システム、再構成方法およびプログラムを提供することを目的とする。
前記課題を解決するため、請求項1に記載の発明は、(1)複数の情報源端末から送信されたストリームデータを蓄積する複数のデータ蓄積装置と、(2)前記データ蓄積装置から取得した前記ストリームデータに対しデータ処理を実行する複数のデータ処置装置と、(3)前記データ蓄積装置に蓄積されたストリームデータの記憶位置およびデータサイズに関する蓄積データ位置情報を記憶し、前記蓄積データ位置情報を用いて前記データ蓄積装置に蓄積された前記ストリームデータを特定し、前記データ蓄積装置および前記データ処理装置に前記ストリームデータの処理に関する指示を行う情報管理装置と、を備える分散ストリーム処理における蓄積データの再構成システムであって、前記情報管理装置が、前記蓄積データ位置情報を記憶するデータ位置管理DB(DataBase)が格納される記憶部と、前記データ蓄積装置から送信された前記蓄積データ位置情報を、前記データ位置管理DBに記憶するデータ位置管理部と、前記データ位置管理DBに記憶された前記蓄積データ位置情報に基づき、前記データ蓄積装置に蓄積されたストリームデータのデータサイズの平均値を理想データサイズとして算出し、前記理想データサイズ以下の前記ストリームデータを抽出し、前記抽出したストリームデータの中から移動対象となるストリームデータと、当該ストリームデータを他のデータ蓄積装置から取得するコレクタノードとを示す再構成プランを作成し、前記作成した再構成プランを前記複数のデータ蓄積装置に配信する再構成プラン作成部と、を備え、前記データ蓄積装置が、前記情報源端末から送信された前記ストリームデータを記憶する蓄積データ記憶部と、前記蓄積データ記憶部に前記ストリームデータが記憶される度に、当該ストリームデータの前記蓄積データ位置情報を、前記情報管理装置に送信するデータ位置情報送信部と、自己のデータ蓄積装置以外の他のデータ蓄積装置から前記ストリームデータを取得するデータ取得部と、自己の蓄積データ記憶部に記憶された前記ストリームデータを、他のデータ蓄積装置に送信するデータ送信部と、前記再構成プラン作成部から前記再構成プランを受信し、前記再構成プランを用いて、前記自己のデータ蓄積装置が、前記他のデータ蓄積装置から前記移動対象となるストリームデータを収集する前記コレクタノードか否かを判定し、前記自己のデータ蓄積装置が、前記コレクタノードであれば、前記移動対象となるストリームデータを記憶する前記他のデータ蓄積装置にデータ移動要求メッセージを前記データ取得部を介して送信し、前記移動対象となるストリームデータを取得して、前記取得したストリームデータを統合し、前記自己のデータ蓄積装置が、前記コレクタノードでなければ、前記コレクタノードである他のデータ蓄積装置からの前記データ移動要求メッセージに応じて、前記移動対象となるストリームデータを、前記送信部を介して、前記コレクタノードである他のデータ蓄積装置に送信する再構成処理部と、を備えることを特徴とする蓄積データの再構成システムとした。
また、請求項3に記載の発明は、(1)複数の情報源端末から送信されたストリームデータを蓄積する複数のデータ蓄積装置と、(2)前記データ蓄積装置から取得した前記ストリームデータに対しデータ処理を実行する複数のデータ処置装置と、(3)前記データ蓄積装置に蓄積されたストリームデータの記憶位置およびデータサイズに関する蓄積データ位置情報を記憶し、前記蓄積データ位置情報を用いて前記データ蓄積装置に蓄積された前記ストリームデータを特定し、前記データ蓄積装置および前記データ処理装置に前記ストリームデータの処理に関する指示を行う情報管理装置と、を備える分散ストリーム処理システムにおける蓄積データの再構成方法であって、前記データ蓄積装置が、前記情報源端末から送信された前記ストリームデータを記憶する蓄積データ記憶部を備え、前記蓄積データ記憶部に前記ストリームデータが記憶される度に、当該ストリームデータの前記蓄積データ位置情報を、前記情報管理装置に送信し、前記情報管理装置は、前記蓄積データ位置情報を記憶するデータ位置管理DBが格納される記憶部を備え、前記データ蓄積装置から送信された前記蓄積データ位置情報を、前記データ位置管理DBに記憶し、前記データ位置管理DBに記憶された前記蓄積データ位置情報に基づき、前記データ蓄積装置に蓄積されたストリームデータのデータサイズの平均値を理想データサイズとして算出し、前記理想データサイズ以下の前記ストリームデータを抽出し、前記抽出したストリームデータの中から移動対象となるストリームデータと、当該ストリームデータを他のデータ蓄積装置から取得するコレクタノードとを示す再構成プランを作成し、前記作成した再構成プランを前記複数のデータ蓄積装置に配信し、前記データ蓄積装置が、前記情報管理装置から前記再構成プランを受信し、前記再構成プランを用いて、前記自己のデータ蓄積装置が、前記他のデータ蓄積装置から前記移動対象となるストリームデータを収集する前記コレクタノードか否かを判定し、前記自己のデータ蓄積装置が、前記コレクタノードであれば、前記移動対象となる前記ストリームデータを記憶する前記他のデータ蓄積装置にデータ移動要求メッセージを送信し、前記移動対象となるストリームデータを取得して、前記取得したストリームデータを統合し、前記自己のデータ蓄積装置が、前記コレクタノードでなければ、前記コレクタノードである他のデータ蓄積装置からの前記データ移動要求メッセージに応じて、前記移動対象となるストリームデータを、前記コレクタノードである他のデータ蓄積装置に送信すること、を特徴とする蓄積データの再構成方法とした。
このようにすることで、複数のデータ蓄積装置に、各情報端末から取得したストリームデータが分散して記憶されており、各データ蓄積装置のデータ蓄積量に偏りがある場合であっても、情報管理装置が蓄積データ位置情報に基づき、ストリームデータの理想データサイズを計算し、理想データサイズ以下のストリームデータを統合する再構成プランを作成する。そして、情報管理装置は、作成した再構成プランを各データ蓄積装置に送信する。再構成プランを受信したデータ蓄積装置は、自己が他のストリームデータを収集するコレクタノードであるか否かを判定し、コレクタノードである場合は、他のデータ蓄積装置から再構成プランで移動対象となるストリームデータを取得して、コレクタノードのストリームデータと取得したストリームデータとを統合する再構成を行う。
よって、本発明によれば、複数のストリームデータを統合し再構成することにより、ストリームデータの再処理を行う際の処理時間を短縮することができる。また、情報管理装置のデータ位置管理DBにおける管理対象レコードの増大を抑えることができる。
請求項2に記載の発明は、前記再構成プラン作成部が、前記データ蓄積装置を前記コレクタノードに選択するか否かの指標としてのスコアを、前記理想データサイズ以下の前記ストリームデータを記憶する各データ蓄積装置に対して、前記ストリームデータのデータサイズが大きいほど当該スコアが高くなるように設定し、かつ単位時間あたりに処理する前記ストリームデータのデータ量が大きいほど当該スコアが低くなるように設定して、前記各データ蓄積装置毎に前記スコアを計算し、前記計算したスコアが高い前記データ蓄積装置から順に前記コレクタノードとして選択し、前記コレクタノードに選択された前記データ蓄積装置のストリームデータのデータサイズに、前記計算したスコアが低い順に前記他のデータ蓄積装置のストリームデータのデータサイズを前記理想データサイズを超えるまで加え、前記理想データサイズを超えるまで加えた前記他のデータ蓄積装置のストリームデータを前記移動対象となるストリームデータとし、前記選択したコレクタノードと前記理想データサイズを超えるまで加えた前記移動対象となるストリームデータとを対応付けて、前記再構成プランを作成することを特徴とする請求項1に記載の蓄積データの再構成システムとした。
また、請求項4に記載の発明は、前記再構成プラン作成部が、前記データ蓄積装置を前記コレクタノードに選択するか否かの指標としてのスコアを、前記理想データサイズ以下の前記ストリームデータを記憶する各データ蓄積装置に対して、前記ストリームデータのデータサイズが大きいほど当該スコアが高くなるように設定し、かつ単位時間あたりに処理する前記ストリームデータのデータ量が大きいほど当該スコアが低くなるように設定して、前記各データ蓄積装置毎に前記スコアを計算し、前記計算したスコアが高い前記データ蓄積装置から順に前記コレクタノードとして選択し、前記コレクタノードに選択された前記データ蓄積装置のストリームデータのデータサイズに、前記計算したスコアが低い順に前記他のデータ蓄積装置のストリームデータのデータサイズを前記理想データサイズを超えるまで加え、前記理想データサイズを超えるまで加えたストリームデータを前記移動対象となるストリームデータとし、前記選択したコレクタノードと前記理想データサイズを超えるまで加えた前記移動対象となるストリームデータとを対応付けて、前記再構成プランを作成することを特徴とする請求項3に記載の蓄積データの再構成方法とした。
このようにすることで、個々のストリームデータはデータ蓄積装置間で分割されることがないため、ストリームデータ管理システムのWindow処理機能に対応して、ストリームデータの再処理が可能となる。また、理想データサイズを超えるまで移動対象となるストリームデータを加えることで、各データ蓄積装置間でのデータ量の偏りをなくすことができる。また、スコアが低い順にストリームデータのデータサイズを加えることで、より多くのストリームデータを統合し、再構成することが可能となる。
請求項5に記載の発明は、請求項3または請求項4に記載の蓄積データの再構成方法をコンピュータに実行させるためのプログラムとした。
このようなプログラムによれば、請求項3または請求項4に記載の蓄積データの再構成方法を一般的なコンピュータで実現させることができる。
本発明によれば、各データ蓄積装置に分散された蓄積データの再処理の効率化を図る、分散ストリーム処理における蓄積データの再構成システム、再構成方法およびプログラムを提供することができる。
本実施形態に係る分散ストリーム処理システムの構成例を示す機能ブロック図である。 本実施形態に係るデータ位置管理DBに記憶される蓄積データ位置情報のデータ構成の一例を示す図である。 本実施形態に係る再構成プラン作成部が行う再構成プラン作成処理の流れを示すフローチャートである。 本実施形態に係る再構成プラン作成処理を説明するための図である。 本実施形態に係るスコア計算処理の流れを示すフローチャートである。 単位時間あたりのデータサイズを計算した一例を示す図である。 本実施形態に係るスコアの算出方法を説明するための図である。 本実施形態に係るマージ対象リストの作成方法を説明するための図である。 本実施形態に係るマージ対象リストの一例を示す図である。 本実施形態に係る再構成プランの一例を示す図である。 本実施形態に係る再構成処理の流れを示すフローチャートである。 本実施形態に係る蓄積データの再構成処理を終えた後の蓄積データ位置情報の一例を示す図である。 従来技術における分散ストリーム処理システムを示す図である。 分散ストリーム処理システムのデータ蓄積方法を説明するための図である。 蓄積データ量を平均化して再構成した例を示す図である。
次に、本発明を実施するための形態(「実施形態」という)について、適宜図面を参照しながら詳細に説明する。
図1は、本発明の実施形態に係る分散ストリーム処理システム1の構成例を示す機能ブロック図である。
分散ストリーム処理システム1は、計測データやログデータ等の時系列で作成されるデータを、ストリームデータとして送信する追記クライアント(情報源)50(50A,50B,…,50N)と、追記クライアント50から送信されたストリームデータを蓄積するデータ蓄積装置20(20A,20B,…,20N)と、このデータ蓄積装置20からストリームデータを取得し、データ処理を行うデータ処理装置10(10A,10B,…,10N)と、データ処理後のストリームデータを蓄積するデータベース装置60(60(60A,…,60N)と、このデータベース装置60からデータの検索を行う参照クライアント(外部装置)70(70A,…,70N)と、このデータ蓄積装置20やデータ処理装置10を動作させるための情報を管理する情報管理装置30とを含んで構成される。
なお、(1)追記クライアント50と、情報管理装置30およびデータ蓄積装置20(20A,20B,…,20N)との間、(2)情報管理装置30と、データ蓄積装置20(20A,20B,…、20N)との間、(3)データ蓄積装置20(20A,20B,…,20N)同士、(4)データ蓄積装置20(20A,20B,…20N)と、データ処理装置10(10A,10B,…,10N)との間、(5)データ処理装置10(10A,10B,…,10N)とデータベース装置60(60A,…,60N)との間、(6)データベース装置60(60A,…,60N)と、参照クライアント70(70A,…,70N)との間はそれぞれ、図示しない通信ネットワークにより接続される。さらに、追記クライアント50、データ蓄積装置20、データ処理装置10、データベース装置60、参照クライアント70は、それぞれN個としたが、これに限定されない。
<追記クライアント>
追記クライアント(情報源)50は、通信インタフェース等を備えるコンピュータである。この追記クライアント50は、センサ等からの計測データやログデータ等の時系列で作成されるデータを、ストリームデータとしてデータ蓄積装置20へ送信する。
このストリームデータの送信先であるデータ蓄積装置20の追記部21は、情報管理装置30の後記する接続先割当部31から指示(割り当て)されたものとする。
<情報管理装置>
情報管理装置30は、分散ストリーム処理システム1の全体を制御するのに用いる情報を格納するとともに、追記クライアント50の接続先の割り当てや、データ蓄積装置20におけるストリームデータの蓄積情報(位置情報)の記録、参照クライアント70から蓄積データの再構成プラン作成処理およびデータ再処理に関する指示の受付等を行う。
この情報管理装置30は、記憶部32と、接続先割当部31と、データ再処理制御部33と、データ位置管理部34と、再構成プラン作成部35とを含んで構成される。なお、ここでは、図示を省略しているが、情報管理装置30は、各種データの入力を司る入力部と、出力を司る出力部と、CPU(Central Processing Unit)、メモリ、通信インタフェース等を備えるコンピュータにより実現される。
記憶部32は、制御情報DB(DataBase)321およびデータ位置管理DB322を備える。ここで、制御情報DB321は、追記クライアント50の識別情報や、ストリームデータのスキーマ情報の識別情報、ストリームデータの送信先を示すデータ蓄積装置20の識別情報、データ処理装置10が適用すべき処理手順に関する情報等が記憶される。
データ位置管理DB322は、分散ストリーム処理システム1内のデータ蓄積装置20(20A,20B,…,20N)に蓄積されるストリームデータの記憶位置を示した蓄積データ位置情報が記憶される。
図2は、本実施形態に係るデータ位置管理DB322に記憶される蓄積データ位置情報100のデータ構成の一例を示す図である。蓄積データ位置情報100は、情報源ID101と、開始時刻102と、終了時刻103と、ノード(データ蓄積装置)104と、データパス105と、データサイズ106とを含んで構成される。
情報源ID101は、追記クライアント50において、計測データやログデータ等の時系列で作成されるデータのサービス毎に付される識別子である。開始時刻102は、データ蓄積装置20が、そのストリームデータの記憶を開始した時刻を示し、終了時刻103は、ストリームデータの記憶を終了した時刻を示す。ノード104は、データ蓄積装置20(20A,20B,…,20N)を一意に識別するためのノード番号である。データパス105は、追記クライアント50から送信された各データの記憶位置を示す位置情報である。データサイズ106は、データ蓄積装置20が受信し蓄積データ記憶部22に記憶された各ストリームデータのデータサイズを示す。
なお、図2において、終了時刻103、データパス105およびデータサイズ106の各情報が格納されていない位置情報レコードは、現在追記クライアント50からデータ蓄積装置20が、ストリームデータを受付中であることを示している。
図1に戻り、接続先割当部31は、追記クライアント50から接続先割当要求を受信すると、各データ蓄積装置20の負荷状態を考慮して、より処理負荷の少ない接続先を選択し、追記クライアント50へ返信する。
データ再処理制御部33は、参照クライアント70からストリームデータの再処理要求を受け付けると、指示されたストリームデータがどのデータ蓄積装置20のどの記憶位置に記憶されているかを、データ位置管理部34を介してデータ位置管理DB322を検索し、該当するデータ蓄積装置20に、その記憶位置に関する情報を含めた再データ処理の指示を出す。このストリームデータの再処理は、例えば、データ処理に用いる閾値や、パラメータ、データ処理の手順等が変更された上で、データ蓄積装置20から再度ストリームデータを受け取ったデータ処理装置10が実行する。
データ位置管理部34は、各データ蓄積装置20から受信した蓄積データ位置情報100を、データ位置管理DB322に記憶する。
データ位置管理部34は、データ蓄積装置20の追記部21から蓄積データ位置情報100を受信すると、その蓄積データ位置情報100を順次、データ位置管理DB322に追加登録していく。また、このデータ位置管理部34は、データ再処理制御部33および後記する再構成プラン作成部35からの指示に基づき、蓄積データ位置情報100を検索する。つまり、対象となるストリームデータが、どのデータ蓄積装置20のどの記憶位置に記憶されているかを検索する。
再構成プラン作成部35は、各データ蓄積装置20の蓄積データ記憶部22に記憶された蓄積データについて、その各蓄積データ記憶部22毎の蓄積データのデータ量をできるだけ平均化し、かつ、データをマージ(統合)してデータファイル数を減らすような、蓄積データの再構成プランを作成する。
具体的には、再構成プラン作成部35は、データ位置管理DB322に記憶された蓄積データ位置情報100に基づき、再構成の対象となる情報源ID101に対応する位置情報レコード群を、データ位置管理部34を介して取得する。そして、各位置情報レコードに記憶されたデータサイズ106の平均値を理想データサイズとして計算する。次に、再構成プラン作成部35は、理想データサイズより小さいデータサイズ106の位置情報レコードを抽出し、各ノード(データ蓄積装置)毎のスコアを計算する。続いて、再構成プラン作成部35は、最上位のスコアのノードをコレクタノードに設定し、そのコレクタノードのデータサイズ106に、最下位のスコアのノードのデータサイズ106から順に加える処理を、その合計値が理想データサイズを上回るまで繰り返す。そして、まだデータサイズ106を加算していないノードのうち、次にスコアの高いノードの順にコレクタノードを設定し、同様の処理を行う。このようにして、再構成プラン作成部35は、統合するデータの集合であるマージ対象リストを生成し、他のデータ蓄積装置20からストリームデータを収集するコレクタノードと、移動対象となるストリームデータとを示す再構成プランを作成する。
ここで、再構成プラン作成部35により計算されるスコアは、現在そのノードがストリームデータを受け付けていない場合には、その位置情報レコードのデータサイズ106の値が設定される。また、現在そのノードがストリームデータを受け付けている場合には、以下の(式1)に基づき、スコアが計算される。
Figure 0005314570
このスコアの計算方法のポリシーは、ノード毎のデータサイズ106が大きいほどスコアが高くなるように計算させ、かつ、単位時間あたりに処理するデータ量が大きいほど、つまり処理に忙しいノードほどスコアが低くなるように計算させるものである。よって、そのノードがストリームデータを現在受付中ではなく、データサイズ106が大きい場合は、スコアの値が高くなる。一方、ストリームデータを現在受付中のノードであり、データサイズ106が小さく、単位時間あたりに受け付けるデータサイズの合計が大きいほど、スコアが小さくなるものである。このスコア計算処理の詳細は、後記する図5において説明する。
なお、前記した記憶部32は、RAM(Random Access Memory)やハードディスク等により実現される。また、接続先割当部31、データ再処理制御部33、データ位置管理部34、および再構成プラン作成部35は、CPUによるプログラム実行処理または専用のハードウェアにより実現される。CPUによるプログラム実行処理により実現する場合、記憶部32は、これらのプログラムを記憶する。
<データ蓄積装置>
データ蓄積装置20(20A,20B,…,20N)は、それぞれ追記クライアント50から送信されたストリームデータを一時的に蓄積する。このデータ蓄積装置20は、追記部21と、蓄積データ記憶部22と、プロセス管理部23と、再構成処理部24と、データ取得部25と、データ送信部26とを含んで構成される。なお、追記部21の数は、1つに限定されず1つのデータ蓄積装置20内に複数の追記部21があってもよい。
追記部21は、追記クライアント50からストリームデータを受信し、受信したストリームデータを、蓄積データ記憶部22に記憶する。また、追記部21は、蓄積したストリームデータを、データ処理装置10へ出力する。この追記部21は、ストリーム受付部211、追記データ蓄積部212、キュー管理部213およびデータ位置情報送信部214を含んで構成される。
ストリーム受付部211は、追記クライアント50から、不図示の入力部経由でストリームデータを受信する。そして、受信したストリームデータを追記データ蓄積部212およびキュー管理部213へ出力する。
追記データ蓄積部212は、ストリームデータを蓄積データ記憶部22に記憶する。
キュー管理部213は、ストリーム受付部211から出力されたデータを取得し、データ処理装置10からストリームデータの取得要求があったとき、取得したストリームデータをデータ処理装置10へ送信する。
データ位置情報送信部214は、追記データ蓄積部212によりストリームデータが蓄積データ記憶部22に記憶されると、そのストリームデータの蓄積データ位置情報100を作成し、情報管理装置30へ送信する。
次に、蓄積データ記憶部22は、追記部21から出力されたストリームデータを記憶する。
プロセス管理部23は、情報管理装置30から再データ処理の指示を受信すると、その指示に基づき、追記部21に、蓄積データ記憶部22内の再処理の対象となるストリームデータの取得を指示する。
再構成処理部24は、情報管理装置30の再構成プラン作成部35から、各データの移動先を示す再構成プランを受信する。そして、取得した再構成プランに基づき、自ノードがコレクタノードである否かを判定する。自ノードがコレクタノードである場合には、再構成処理部24は、データ取得部25を介して、マージ対象となるデータ(移動対象となるストリームデータ)を記憶するデータ蓄積装置20にデータ移動要求メッセージを送信して、そのマージ対象となったデータを取得する。続いて、再構成処理部24は、収集したデータを1つに統合するマージ処理を行い、マージ処理したデータを蓄積データ記憶部22に記憶させる。
一方、自ノードがコレクタノードではなく、他のデータ蓄積装置20からデータ移動要求メッセージを受信した場合は、そのデータ蓄積装置20の再構成処理部24は、マージ対象となるデータ(移動対象となるストリームデータ)を蓄積データ記憶部22から取得し、そのデータを、データ送信部26を介して、コレクタノードとなるデータ蓄積装置20へ送信する。
データ取得部25は、再構成処理部24の指示を受け、データ移動要求メッセージを送信し、マージ対象となるデータを記憶するデータ蓄積装置20から、そのストリームデータを受信する。また、データ送信部26は、再構成処理部24の指示を受け、マージ対象となるストリームデータを、コレクタノードとなるデータ蓄積装置20へ送信する。
このデータ蓄積装置20は、コンピュータにより実現され、蓄積データ記憶部22は、例えば、RAM、ハードディスク等により実現される。また、追記部21、プロセス管理部23、再構成処理部24、データ取得部25、およびデータ送信部26は、CPUによるプログラムの実行処理または専用ハードウェア等により実現される。
<データ処理装置>
データ処理装置10は、データ蓄積装置20(20A,20B,…,20N)から、ストリームデータを取得し、取得したストリームデータに対して、データ処理を実行する。このデータ処理は、例えば、所定の閾値を越えるストリームデータを抽出することや、ある所定の期間内のストリームデータの平均を算出する等の様々な処理内容が設定され実行される。また、情報管理装置30のデータ再処理制御部33によるデータ再処理の指示を受けた場合、データ処理をする際の閾値を変更したり、処理手順を変更したりして、データ蓄積装置20から取得したストリームデータの再処理を行う。なお、このデータ処理装置10も、CPU、RAM、ハードディスク、通信インタフェース等を備えるコンピュータにより実現される。
<データベース装置>
データベース装置60は、データ処理装置10においてデータ処理されたストリームデータを受け付けて記憶する。そして、参照クライアント70からの検索要求に応じて、データを検索し、検索結果を参照クライアント70に出力する。また、データベース装置60は、記憶したデータを所定の参照クライアント70に対して配信する。このデータベース装置60も、CPU、RAM、ハードディスク、通信インタフェース等を備えるコンピュータにより実現される。
<参照クライアント>
参照クライアント70は、データベース装置60に記憶されたストリームデータの検索を行ったり、データベース装置60からのデータの配信を受け付けたりする。また、情報管理装置30に対し、ストリームデータの再処理要求を送信する。さらに、参照クライアント70は、各データ蓄積装置20内のストリームデータの再構成プラン作成のため、その再構成の対象とするデータの情報源ID101を情報管理装置30に対して送信する。なお、この参照クライアント70も、CPU、RAM、ハードディスク、通信インタフェース等を備えるコンピュータにより実現される。
なお、データ蓄積装置20(20A,20B,…,20N)およびデータ処理装置10(10A,10B,…,10N)は、それぞれ別個のコンピュータ(装置)により実現してもよいし、これらをまとめて1つのコンピュータにより実現してもよい。
<蓄積データの再構成方法>
次に、本実施形態に係る分散ストリーム処理システム1における蓄積データの再構成方法について、図1、図2を参照しつつ、図3〜図12を用いて詳細に説明する。
まず、本実施形態に係る分散ストリーム処理システム1における蓄積データの再構成処理の全体の流れを図1を参照して説明する。最初に、情報管理装置30の再構成プラン作成部35が、参照クライアント70から、再構成するデータの情報源ID101を取得する。そして、再構成プラン作成部35は、データ位置管理DB322に記憶された蓄積データ位置情報100を用いて、各データ蓄積装置20(20A,20B,…,20N)に記憶されたストリームデータの再構成プランを作成する。次に、再構成プラン作成部35は、作成した再構成プランを各データ蓄積装置20(20A,20B,…,20N)の再構成処理部24に送信する。再構成プランを受信した各再構成処理部24は、再構成プランに基づき、自身が他のストリームデータを収集するコレクタノードであるか否かを判定する。そして自身がコレクタノードである場合に、移動対象となるストリームデータを記憶する他のデータ蓄積装置20に対し、データ移動要求メッセージを送信しストリームデータを収集し、ストリームデータのマージ処理を行う。
このような蓄積データの再構成処理は、追記クライアント50から、ストリームデータを各データ蓄積装置20が受け取り、さらにデータ処理装置10により、データが処理された後、参照クライアント70による、データ再処理の指示が情報管理装置30に出される前に行われる。その結果として、ストリームデータの再処理を行うのに先立ち、事前に、細かい単位で多数のデータ蓄積装置20に分散されていた蓄積データを統合し、データを再処理する際の効率化を図るものである。
<再構成プラン作成処理>
図3は、本実施形態に係る再構成プラン作成部35が行う再構成プラン作成処理の流れを示すフローチャートである。
まず、再構成プラン作成部35は、参照クライアント70から、再構成するデータに関する情報源ID101を取得する(ステップS101)。
次に、再構成プラン作成部35は、取得した情報源ID101を用いて、データ位置管理部34を介して、データ位置管理DB322から位置情報レコード(図2参照)を、抽出する(ステップS102)。
続いて、再構成プラン作成部35は、抽出した各位置情報レコードのデータサイズの平均値を、1ノードあたりの理想格納サイズ(D)として計算する(ステップS103)。
そして、再構成プラン作成部35は、理想格納サイズ(D)以下のデータサイズの位置情報レコードを選択する(ステップS104)。
図4は、本実施形態に係る再構成プラン作成処理のステップS102〜S104を説明するための図である。
再構成プラン作成部35は、参照クライアント70から取得した情報源ID101(例えば、「dblog」)を用いて、図4に示す位置情報レコード群を抽出し、抽出した位置情報レコード群のデータサイズ106を平均し、理想データサイズ(D)として「19300000」を計算する。そして、再構成プラン作成部35は、理想データサイズ(D)以下のデータサイズ106の位置情報レコードを選択する。図4に示す、「192.168.02」「192.168.03」「192.168.04」のノード104は、データサイズが、それぞれ「70000000」「50000000」「30000000」であり、理想データサイズ(D)を超えているので、選択されないことを示す。
図3に戻り、ステップS105において、再構成プラン作成部35は、選択した位置情報レコードのノード104毎に、スコアを計算する(スコア計算処理)。なお、この再構成プラン作成部35によるスコア計算処理は、後記する図5において詳細に説明する。
続いて、再構成プラン作成部35は、ステップS106において、マージ対象リストの生成処理を行う(マージ対象リスト生成処理)。具体的には、再構成プラン作成部35は、ステップS105で計算したスコアの値が大きい順に位置情報レコードをソートする。そして、スコアが最上位のノードからコレクタノードに設定し、スコアが下位のノードからマージ対象として設定する。そして、コレクタノードのデータサイズに、設定したマージ対象となるノードのデータサイズを、計算した理想格納サイズ(D)を超えるまで加えていく。次に、スコアが2番目に高いノードをコレクタノードとして設定し、まだマージ対象になっていないノードのうち、スコアが下位のノードからデータサイズを、理想格納サイズ(D)を超えるまで加えていく。このようにして、コレクタノードとマージ対象となるノードとの組み合わせであるマージ対象リストを生成する。なお、後記する図8、図9において、具体例を用いてマージ対象リストの作成方法を詳細に説明する。
次に、再構成プラン作成部35は、生成したマージ対象リストに基づき、各データの移動先を示す再構成プランを作成する(ステップS107)。
<スコア計算処理>
次に、図3のステップS105における、スコア計算処理について説明する。
図5は、本実施形態に係るスコア計算処理の流れを示すフローチャートである。
まず、再構成プラン作成部35は、図3のステップS104で選択した位置情報レコード(図4参照)に含まれるノード104の1つを選択する(S201)。
次に、再構成プラン作成部35は、選択したノード104が現在、ストリームデータを受付中か否かを判定する(ステップS202)。ここで、ストリームデータを受付中であれば(ステップS202→Yes)、ステップS203へ進む。一方、ストリームデータを受付中でなければ(ステップS202→No)、ステップS207へ進む。ここで、選択したノード104が、ストリームデータを受付中であることは、図2に示したデータ位置管理DB322内の蓄積データ位置情報100において、終了時刻103、データパス105、およびデータサイズ106の情報が格納されていないことから判定される。
続いて、再構成プラン作成部35は、現在に最も近い時刻にストリームデータの取得を完了した情報源ID101毎に、単位時間あたりのデータサイズを計算する(ステップS203)。
図6は、情報源ID101毎に、単位時間あたりのデータサイズを計算した結果の一例を示す図である。図6に示すように、データの取得が完了した情報源ID101毎に、現在に最も近い位置情報レコードについて、データサイズ106を、開始時刻102と終了時刻103の差分である経過時間107で割ることによって、再構成プラン作成部35は、単位時間あたりのデータサイズ108を算出する。なお、現在に最も近い位置情報レコードを用いて算出するのは、現在受付中のストリームデータの送信状況に最も近いと予測されるからである。
図5に戻り、再構成プラン作成部35は、選択したノードが現在受け付けているストリームデータの情報源毎の数を示す、受付中ストリームデータを抽出する(ステップS204)。そして、受付中ストリームデータのデータサイズの合計を計算し(ステップS205)、前記した(式1)に基づき、スコアを算出する(ステップS206)。
図7は、本実施形態に係るスコアの算出方法を説明するための図である。ステップS204において、再構成プラン作成部35は、図6に示したデータ受付中の位置情報レコード群を参照し、選択したノードがどの情報源のデータをいくつ受付中かを算出する。そして、図7に示すように、受付中ストリームデータ109が算出される。例えば、図7の上から3番目のレコードであるノード「192.168.0.5」は、図6の受付中の位置情報レコードから、情報源ID101が「dblog」のストリームデータを2つ受付中であることを示している。
そして、再構成プラン作成部35は、ステップS204で算出した受付中ストリームデータ109と、ステップS203で計算した単位時間あたりのデータサイズ108(図6参照)を用いて、図7に示す、受付中ストリームデータのデータサイズの合計(符号110)を算出する。なお、この受付中ストリームデータのデータサイズの合計(符号110)は、(式1)の分母である「現在受け付けているストリームの単位時間あたりのデータサイズの合計」に相当する。
図5に戻り、次に、ステップS206において、再構成プラン作成部35は、(式1)を用いて、スコア111を計算する。ここでは、(式1)は、
スコア(符号111)=データサイズ(符号106)/受付中ストリームデータのデータサイズの合計(符号110)
として計算される。
一方、ステップS202において、選択したノードが、現在ストリームデータを受付中でなければ(ステップS202→No)、データサイズ106をスコア111に設定する。例えば、ノード104が「192.168.0.7」のストリームデータは、図6の現在受付中の位置情報レコードにはないため、図7の1番目のレコードに示すように、データサイズ106がそのままスコアに設定される。
このようにすることで、再構成プラン作成部35は、現在ストリームデータを受け付けてなく、データサイズ106が大きいほどスコアが高くなるように計算させ、かつ、単位時間あたりに処理するデータ量が大きいほど、つまり処理に忙しいノードほどスコアが低くなるように計算することができる。
このようにして、ステップS206、または、ステップS207の処理を終えると、再構成プラン作成部35は、対象となるすべてのノードの処理を終えたか否かを判定する(ステップS208)。ここで、まだ処理していないノード104があれば(ステップS208→No)、ステップS201へ戻り、処理を続ける。一方、対象となるすべてのノード104の処理を終えていれば(ステップS208→Yes)、スコア計算処理を終える。
<マージ対象リスト作成処理>
次に、図3のステップS106におけるマージ対象リスト生成処理について説明する。図8は、本実施形態に係るマージ対象リストの作成方法を説明するための図である。
ここで図8は、ステップS104で選択された位置情報レコード(図4参照)が、ステップS105で計算されたスコア111(図7参照)の大きい順にソートされた状態を示している。
再構成プラン作成部35は、まず、スコア111の値が最上位のノード「192.168.0.7」をコレクタノードに設定する。そして、スコアが最下位のノード「192.168.0.10」をマージ対象として設定する。次に、再構成プラン作成部35は、この2つのノードのデータサイズを合計し「10700000」を得る。この値は、理想格納サイズ(D)「19300000」を超えていないので、次にスコアの小さいノード「192.168.0.8」をマージ対象として設定する。再構成プラン作成部35は、この処理をデータサイズが理想格納サイズ(D)を超えるまで繰り返す。
そして、再構成プラン作成部35は、コレクタノードのデータサイズと、マージ対象として設定したデータのデータサイズとの合計値が理想格納サイズ(D)を超えると、次にスコアが大きいノード「192.168.0.1」をコレクタノードとして設定し、処理を続ける。
図9は、本実施形態に係るマージ対象リスト200の一例を示す図である。再構成プラン作成部35は、図8で説明した処理を行うことにより、図3のステップS106において、図9に示すようなマージ対象リスト200を生成する。符号201に示すレコードは、コレクタノードとしてノード「192.168.07」を設定した場合のマージ対象となるノードとその蓄積データを示している。符号202に示すレコードは、コレクタノードとして「192.168.01」を設定した場合のマージ対象となるノードとその蓄積データを示している。
図10は、本実施形態に係る再構成プラン300の一例を示す図である。再構成プラン作成部35は、図9のように生成されたマージ対象リスト200を用いて、図3のステップS107において再構成プラン300を作成する。図10に示すように、再構成プラン300は、コレクタノードと、そのコレクタノードにデータを統合するデータのURI(ノード104+データパス105)からなるデータである。このURIで示されるノード104の各蓄積データが、コレクタノードに統合され、再構成されることを示している。このようにして、再構成プラン作成部35は、再構成プラン300を作成する。
<蓄積データの再構成処理>
次に、本分散ストリーム処理システム1における蓄積データの再構成処理について説明する。図11は、本実施形態に係る再構成処理の流れを示すフローチャートである。
まず、情報管理装置30の再構成プラン作成部35により、データ蓄積装置20の蓄積データ記憶部22に記憶された蓄積データの移動先を示す再構成プラン作成処理(図3〜図10参照)が実行される(ステップS301)。
次に、再構成プラン作成部35は、各データ蓄積装置20の再構成処理部24に、再構成プラン(図10参照)を配布する(ステップS302)。
続いて、再構成プランを受け取った各データ蓄積装置20の再構成処理部24は、取得した再構成プランを用いて、自ノードがコレクタノードであるか否かを判定する(ステップS303)。ここで、自ノードが、コレクタノードでなければ(ステップS303→No)、ステップS309へ進む。一方、自ノードがコレクタノードであれば(ステップS303→Yes)、次のステップS304へ進む。
そして、再構成処理部24は、データ取得部25を介して、再構成プランで示されたマージ対象データを記憶するデータ蓄積装置20にデータ移動要求メッセージを送信し、そのデータ移動要求メッセージを受信した各データ蓄積装置20のデータ送信部26を介して、マージ対象データを収集する(ステップS304)。
続いて、再構成処理部24は、収集したデータを1つにまとめるマージ処理を行う(ステップS305)。なお、このとき自ノードにおいて、マージ対象となる2以上の蓄積データがある場合も、収集した他のマージ対象データとともに、1つのデータに統合する。
次に、再構成処理部24は、情報管理装置30の再構成プラン作成部35に、データ収集完了メッセージを送信する(ステップS306)。
そして、再構成プラン作成部35は、コレクタノードとなったすべてのデータ蓄積装置20からデータ収集完了メッセージを受信したことを契機に、データ位置管理DB322の蓄積データ位置情報100を更新する(ステップS307)。
続いて、再構成プラン作成部35は、各データ蓄積装置20の再構成処理部24に、移動元となったデータの削除指示メッセージを送信する(ステップS308)。
次に、削除指示メッセージを受信した各データ蓄積装置20の再構成処理部24は、自ノードに削除対象となるデータが存在するか否かを判定する(ステップS309)。
そして、再構成処理部24は、削除対象となるデータが存在しなければ(ステップS309→No)、処理を終える。
一方、削除対象となるデータが存在する場合は(ステップS309→Yes)、その削除対象となるマージ対象データの削除を行う(ステップS310)。そして、再構成処理部24は、データ削除完了メッセージを、情報管理装置30の再構成プラン作成部35へ送信し(ステップS311)、処理を終える。このようにして、蓄積データの再構成処理を行うことができる。
図12は、本実施形態に係る蓄積データの再構成処理を終えた後の蓄積データ位置情報100の一例を示す図である。図12に示す例では、図4で示した蓄積データ位置情報100と比べて、ストリームデータを蓄積するノード数が10から5に減少し、また、個々のデータサイズ106についても、理想データサイズ(D)以下のノードはなくなり、蓄積データが統合され再構成される。
以上説明したように、本実施形態に係る蓄積データの再構成システム、再構成方法およびプログラムによれば、細かい単位で多数のデータ蓄積装置20に分散されていた蓄積データを統合することにより、ストリームデータの再処理において効率化を図ることができる。そして、追記部21が受け付けたストリームデータを分割することもないため、ストリームデータ管理システムにおけるWindow処理にも対応することが可能となる。
なお、本実施形態に係る分散ストリーム処理における蓄積データの再構成システム、再構成方法およびプログラムは、例えば、以下のようなストリームデータの分散処理に利用することができる。
個人の行動記録を蓄積し、この行動記録に基づき広告を配信するシステムにおいては、例えば、情報源である追記クライアント50が、個人のWeb閲覧記録、ファイル操作記録等を取得し、データ蓄積装置20の追記部21へ送信する。Web閲覧記録は、対象となる個人の嗜好により、多くのWebページを見るときもあれば、閲覧の少ないときもある。また、コンピュータの電源が切られるとセッションも切断される。このようなストリームデータを追記部21が受け付けると、結果的に各追記部21により蓄積されるデータには、データサイズのバラつきが発生し、かつデータサイズの小さなデータも増加する。
参照クライアント70が、大量のユーザの全体傾向の調査のため、この蓄積データの再処理を実行する前に、本実施形態に係る蓄積データの再構成処理を行っておけば、複数のデータ蓄積装置20に分散して蓄積されたストリームデータを統合することができ、再処理を実行する際に、開く必要のあるファイルを大幅に減少させ、処理時間を短縮することが可能となる。
1,5 分散ストリーム処理システム
10 データ処理装置
11 キュー選択部
12 データ受付部
13 データ処理部
20 データ蓄積装置
21 追記部
22 蓄積データ記憶部
23 プロセス管理部
24 再構成処理部
25 データ取得部
26 データ送信部
30 情報管理装置
31 接続先割当部
32 記憶部
33 データ再処理制御部
34 データ位置管理部
35 再構成プラン作成部
50 追記クライアント
60 データベース装置
70 参照クライアント
100 蓄積データ位置情報
200 マージ対象リスト
211 ストリーム受付部
212 追記データ蓄積部
213 キュー管理部
214 データ位置情報送信部
300 再構成プラン
321 制御情報DB
322 データ位置管理DB

Claims (5)

  1. (1)複数の情報源端末から送信されたストリームデータを蓄積する複数のデータ蓄積装置と、(2)前記データ蓄積装置から取得した前記ストリームデータに対しデータ処理を実行する複数のデータ処置装置と、(3)前記データ蓄積装置に蓄積されたストリームデータの記憶位置およびデータサイズに関する蓄積データ位置情報を記憶し、前記蓄積データ位置情報を用いて前記データ蓄積装置に蓄積された前記ストリームデータを特定し、前記データ蓄積装置および前記データ処理装置に前記ストリームデータの処理に関する指示を行う情報管理装置と、を備える分散ストリーム処理における蓄積データの再構成システムであって、
    前記情報管理装置は、
    前記蓄積データ位置情報を記憶するデータ位置管理DB(DataBase)が格納される記憶部と、
    前記データ蓄積装置から送信された前記蓄積データ位置情報を、前記データ位置管理DBに記憶するデータ位置管理部と、
    前記データ位置管理DBに記憶された前記蓄積データ位置情報に基づき、前記データ蓄積装置に蓄積されたストリームデータのデータサイズの平均値を理想データサイズとして算出し、前記理想データサイズ以下の前記ストリームデータを抽出し、前記抽出したストリームデータの中から移動対象となるストリームデータと、当該ストリームデータを他のデータ蓄積装置から取得するコレクタノードとを示す再構成プランを作成し、前記作成した再構成プランを前記複数のデータ蓄積装置に配信する再構成プラン作成部と、を備え、
    前記データ蓄積装置は、
    前記情報源端末から送信された前記ストリームデータを記憶する蓄積データ記憶部と、
    前記蓄積データ記憶部に前記ストリームデータが記憶される度に、当該ストリームデータの前記蓄積データ位置情報を、前記情報管理装置に送信するデータ位置情報送信部と、
    自己のデータ蓄積装置以外の他のデータ蓄積装置から前記ストリームデータを取得するデータ取得部と、
    自己の蓄積データ記憶部に記憶された前記ストリームデータを、他のデータ蓄積装置に送信するデータ送信部と、
    前記再構成プラン作成部から前記再構成プランを受信し、前記再構成プランを用いて、前記自己のデータ蓄積装置が、前記他のデータ蓄積装置から前記移動対象となるストリームデータを収集する前記コレクタノードか否かを判定し、前記自己のデータ蓄積装置が、前記コレクタノードであれば、前記移動対象となるストリームデータを記憶する前記他のデータ蓄積装置にデータ移動要求メッセージを前記データ取得部を介して送信し、前記移動対象となるストリームデータを取得して、前記取得したストリームデータを統合し、
    前記自己のデータ蓄積装置が、前記コレクタノードでなければ、前記コレクタノードである他のデータ蓄積装置からの前記データ移動要求メッセージに応じて、前記移動対象となるストリームデータを、前記送信部を介して、前記コレクタノードである他のデータ蓄積装置に送信する再構成処理部と、
    を備えることを特徴とする蓄積データの再構成システム。
  2. 前記再構成プラン作成部は、
    前記データ蓄積装置を前記コレクタノードに選択するか否かの指標としてのスコアを、前記理想データサイズ以下の前記ストリームデータを記憶する各データ蓄積装置に対して、前記ストリームデータのデータサイズが大きいほど当該スコアが高くなるように設定し、かつ単位時間あたりに処理する前記ストリームデータのデータ量が大きいほど当該スコアが低くなるように設定して、前記各データ蓄積装置毎に前記スコアを計算し、前記計算したスコアが高い前記データ蓄積装置から順に前記コレクタノードとして選択し、
    前記コレクタノードに選択された前記データ蓄積装置のストリームデータのデータサイズに、前記計算したスコアが低い順に前記他のデータ蓄積装置のストリームデータのデータサイズを前記理想データサイズを超えるまで加え、前記理想データサイズを超えるまで加えた前記他のデータ蓄積装置のストリームデータを前記移動対象となるストリームデータとし、
    前記選択したコレクタノードと前記理想データサイズを超えるまで加えた前記移動対象となるストリームデータとを対応付けて、前記再構成プランを作成すること
    を特徴とする請求項1に記載の蓄積データの再構成システム。
  3. (1)複数の情報源端末から送信されたストリームデータを蓄積する複数のデータ蓄積装置と、(2)前記データ蓄積装置から取得した前記ストリームデータに対しデータ処理を実行する複数のデータ処置装置と、(3)前記データ蓄積装置に蓄積されたストリームデータの記憶位置およびデータサイズに関する蓄積データ位置情報を記憶し、前記蓄積データ位置情報を用いて前記データ蓄積装置に蓄積された前記ストリームデータを特定し、前記データ蓄積装置および前記データ処理装置に前記ストリームデータの処理に関する指示を行う情報管理装置と、を備える分散ストリーム処理システムにおける蓄積データの再構成方法であって、
    前記データ蓄積装置は、
    前記情報源端末から送信された前記ストリームデータを記憶する蓄積データ記憶部を備え、
    前記蓄積データ記憶部に前記ストリームデータが記憶される度に、当該ストリームデータの前記蓄積データ位置情報を、前記情報管理装置に送信し、
    前記情報管理装置は、
    前記蓄積データ位置情報を記憶するデータ位置管理DBが格納される記憶部を備え、
    前記データ蓄積装置から送信された前記蓄積データ位置情報を、前記データ位置管理DBに記憶し、
    前記データ位置管理DBに記憶された前記蓄積データ位置情報に基づき、前記データ蓄積装置に蓄積されたストリームデータのデータサイズの平均値を理想データサイズとして算出し、前記理想データサイズ以下の前記ストリームデータを抽出し、前記抽出したストリームデータの中から移動対象となるストリームデータと、当該ストリームデータを他のデータ蓄積装置から取得するコレクタノードとを示す再構成プランを作成し、前記作成した再構成プランを前記複数のデータ蓄積装置に配信し、
    前記データ蓄積装置は、
    前記情報管理装置から前記再構成プランを受信し、前記再構成プランを用いて、前記自己のデータ蓄積装置が、前記他のデータ蓄積装置から前記移動対象となるストリームデータを収集する前記コレクタノードか否かを判定し、前記自己のデータ蓄積装置が、前記コレクタノードであれば、前記移動対象となる前記ストリームデータを記憶する前記他のデータ蓄積装置にデータ移動要求メッセージを送信し、前記移動対象となるストリームデータを取得して、前記取得したストリームデータを統合し、
    前記自己のデータ蓄積装置が、前記コレクタノードでなければ、前記コレクタノードである他のデータ蓄積装置からの前記データ移動要求メッセージに応じて、前記移動対象となるストリームデータを、前記コレクタノードである他のデータ蓄積装置に送信すること、
    を特徴とする蓄積データの再構成方法。
  4. 前記再構成プラン作成部は、
    前記データ蓄積装置を前記コレクタノードに選択するか否かの指標としてのスコアを、前記理想データサイズ以下の前記ストリームデータを記憶する各データ蓄積装置に対して、前記ストリームデータのデータサイズが大きいほど当該スコアが高くなるように設定し、かつ単位時間あたりに処理する前記ストリームデータのデータ量が大きいほど当該スコアが低くなるように設定して、前記各データ蓄積装置毎に前記スコアを計算し、前記計算したスコアが高い前記データ蓄積装置から順に前記コレクタノードとして選択し、
    前記コレクタノードに選択された前記データ蓄積装置のストリームデータのデータサイズに、前記計算したスコアが低い順に前記他のデータ蓄積装置のストリームデータのデータサイズを前記理想データサイズを超えるまで加え、前記理想データサイズを超えるまで加えたストリームデータを前記移動対象となるストリームデータとし、
    前記選択したコレクタノードと前記理想データサイズを超えるまで加えた前記移動対象となるストリームデータとを対応付けて、前記再構成プランを作成すること
    を特徴とする請求項3に記載の蓄積データの再構成方法。
  5. 請求項3または請求項4に記載の蓄積データの再構成方法をコンピュータに実行させるためのプログラム。
JP2009255432A 2009-11-06 2009-11-06 蓄積データの再構成システム、再構成方法およびプログラム Expired - Fee Related JP5314570B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009255432A JP5314570B2 (ja) 2009-11-06 2009-11-06 蓄積データの再構成システム、再構成方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009255432A JP5314570B2 (ja) 2009-11-06 2009-11-06 蓄積データの再構成システム、再構成方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2011100359A JP2011100359A (ja) 2011-05-19
JP5314570B2 true JP5314570B2 (ja) 2013-10-16

Family

ID=44191473

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009255432A Expired - Fee Related JP5314570B2 (ja) 2009-11-06 2009-11-06 蓄積データの再構成システム、再構成方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5314570B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5712851B2 (ja) * 2011-07-29 2015-05-07 富士通株式会社 データ分割装置、データ分割方法およびデータ分割プログラム
WO2013137067A1 (ja) * 2012-03-15 2013-09-19 日本電気株式会社 演算装置、演算方法及び演算プログラム
CN104737136B (zh) 2012-09-28 2018-03-02 日本电气株式会社 分布式存储设备、存储节点、数据提供方法
US20160147838A1 (en) * 2013-06-14 2016-05-26 Nec Corporation Receiving node, data management system, data management method and strage medium
JP6280062B2 (ja) * 2015-02-17 2018-02-14 日本電信電話株式会社 加入者情報収容装置と加入者情報収容方法
WO2019092990A1 (ja) * 2017-11-09 2019-05-16 日本電信電話株式会社 情報蓄積装置、データ処理システム、およびプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001265628A (ja) * 2000-03-21 2001-09-28 Sanyo Electric Co Ltd ファイル記録管理システム
JP2005078394A (ja) * 2003-09-01 2005-03-24 Nec Corp 非共有型データベースクラスタシステム,データベースノードおよび動的データ再配置方法ならびにプログラム
JP2006048871A (ja) * 2004-08-06 2006-02-16 Canon Inc 情報記録装置、情報記録方法、プログラム及び記憶媒体
JP4871213B2 (ja) * 2007-05-24 2012-02-08 日本電信電話株式会社 ストリームデータ処理方法、ストリームデータ処理プログラムおよびストリームデータ処理システム
WO2009088007A1 (ja) * 2008-01-11 2009-07-16 Nec Corporation コンテンツ管理装置、コンテンツ管理システム、コンテンツ管理方法およびプログラム

Also Published As

Publication number Publication date
JP2011100359A (ja) 2011-05-19

Similar Documents

Publication Publication Date Title
JP5314570B2 (ja) 蓄積データの再構成システム、再構成方法およびプログラム
WO2007142053A1 (ja) 監視装置、監視システム、監視方法およびプログラム
CN102904797B (zh) 即时通信中交互信息记录的实现方法及系统
JP6100900B2 (ja) データのオンライン処理のための方法、デバイスおよびシステム
CN102970358A (zh) 网盘中移动客户端的本地缓存的控制方法和装置
JP4867799B2 (ja) クローリング方法、そのプログラムおよび装置、エージェント装置、ネットワークシステム
CN112764920A (zh) 一种边缘应用部署方法、装置、设备和存储介质
JP5880315B2 (ja) システム管理装置、システムの管理方法、及びシステムの管理プログラム
JP6200376B2 (ja) 車載情報システム及びその情報処理方法
JP5419135B2 (ja) 接続先ノード選択方法、ノード、およびプログラム
CN108763281A (zh) 一种基于etl的业务智能分析平台及系统
JP4600324B2 (ja) ポリシー管理システム、ポリシーマネージャ、ポリシーエージェント、ルール生成方法及びプログラム
JP3929981B2 (ja) グリッドシステムにおける決済情報算出方法、グリッド仲介装置、グリッド仲介プログラム
JP3916219B2 (ja) リンク先圧縮システム
CN108696855A (zh) 一种信息管理方法、会话管理功能和移动性管理功能
CN107545004A (zh) 一种搜索的方法、装置和搜索引擎系统
JP5806630B2 (ja) アプリケーション検査システム
US20140365681A1 (en) Data management method, data management system, and data management apparatus
CN106600250B (zh) 区块链去中心化到中心化的用户标识方法和装置
JP2006202143A (ja) 端末情報収集システム、端末情報収集方法、中央装置及びコンピュータプログラム
US8015207B2 (en) Method and apparatus for unstructured data mining and distributed processing
CN116055496B (zh) 一种监控数据采集方法、装置、电子设备及存储介质
JP2005208919A (ja) グリッドシステムにおけるデータ配布方法、グリッドシステム、グリッド仲介装置、グリッド仲介プログラム
CN111193634B (zh) 一种压力测试方法、装置和计算机可读存储介质
JP2017215901A (ja) 情報処理装置、情報処理システム及びプログラム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110822

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120125

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130624

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130705

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5314570

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees