(57)【要約】【課題】多段階のキーにより構造化された大量データを、事前に加工することなく、効率よく複数の処理装置でリアルタイムで分散処理する。【課題手段】データ集計サーバ群は、階層付けられており、データ集計システムは、前段の階層のデータ集計サーバ群のデータ集計サーバから、データを受信し、データ集計サーバごとに集計するキーを保持する階層化情報に基づき、受信したデータを集計した階層化データを作成する。そして、階層化情報の次集計キーのフィールドの値を入力するハッシュ関数の値に基づいて、階層化データを送信する後段の階層のデータ集計サーバ群のデータ集計サーバを決定し、そのデータ集計サーバに階層化データを送信する。【選択図】  図２
2017156996.tif 000002
【特許請求の範囲】
【請求項１】
階層構造を定義する階層構造情報を保持する階層構造データベースと、一つ以上のデータ集計サーバからなるデータ集計サーバ群を備えるデータ集計システムであって、
前記データ集計サーバ群は、階層付けられて、前段の階層のデータ集計サーバ群のデータ集計サーバと、後段の階層のデータ集計サーバ群のデータ集計サーバは、ネットワークにより接続され、
前記データ集計サーバは、そのデータ集計サーバの前段の階層のデータ集計サーバ群のデータ集計サーバから、データを受信し、前記データ集計サーバごとに集計するキーを保持する階層化情報に基づき、受信したデータを集計した階層化データを作成し、前記階層化データを、そのデータ集計サーバの後段の階層のデータ集計サーバ群のデータ集計サーバのいずれかに送信することを特徴とするデータ集計システム。
【請求項２】
前記階層化情報は、集計した階層データを後段の階層のデータ集計サーバ群のデータ集計サーバに送信するときに参照される次集計キーを含み、
前記データ集計サーバは、前記次集計キーのフィールドの値に基づいて、前記階層化データを送信する後段の階層のデータ集計サーバ群のデータ集計サーバを決定することを特徴とする請求項１記載のデータ集計システム。
【請求項３】
前記データ集計サーバは、前記次集計キーのフィールドの値を入力するハッシュ関数の値に基づいて、前記階層化データを送信する後段の階層のデータ集計サーバ群のデータ集計サーバを決定することを特徴とする請求項２記載のデータ集計システム。
【請求項４】
さらに、通信網を流れるデータを収集するデータ収集装置を備え、
前記データ収集装置は、階層化構造情報にもとづき、前記データ集計サーバに入力するための階層化データを作成することを特徴とする請求項１記載のデータ集計システム。
【請求項５】
さらに、最後段のデータ集計サーバ群のデータ集計サーバから、階層化データを受信し、データを結合するデータ結合サーバを備えることを特徴とする請求項１記載のデータ集計システム。
【請求項６】
前記データ集計サーバは、そのデータ集計サーバの前段の階層のデータ集計サーバ群の全てのデータ集計サーバからデータを受信したときに、集計処理を実施することを特徴とする請求項１記載のデータ集計システム。
【請求項７】
前記データ集計サーバは、そのデータ集計サーバと同じ階層のデータ集計サーバと同期して、前記階層化データの送信タイミングを決定することを特徴とする請求項１記載のデータ集計システム。
【請求項８】
前記データ集計サーバは、集計した階層化データにより中間集計結果を出力することを特徴とする請求項１記載のデータ集計システム。
【請求項９】
さらに、前記データ集計サーバが出力する集計結果を表示する表示装置を備え、地図、グラフのいずれか一方、あるいは双方に表示することを特徴とする請求項１記載のデータ集計システム。
【請求項１０】
前記表示装置は、前記データ集計サーバが出力する集計結果の集計データに関して定義された閾値を超過した際に、前記地図に閾値を超過したことを表すオブジェクトを表示することを特徴とする請求項１記載のデータ集計システム。
【請求項１１】
階層構造を定義する階層構造情報を保持する階層構造データベースと、一つ以上のデータ集計サーバからなるデータ集計サーバ群と、データ結合サーバとを備えるデータ集計システムのデータ集計方法であって、
前記データ集計サーバ群は、階層付けられて、前段の階層のデータ集計サーバ群のデータ集計サーバと、後段の階層のデータ集計サーバ群のデータ集計サーバは、ネットワークにより接続され、
前記階層化情報は、前記データ集計サーバごとに集計するキーと、集計した階層データを後段の階層のデータ集計サーバ群のデータ集計サーバに送信するときに参照される次集計キーとを含み、
前記データ集計サーバは、そのデータ集計サーバの前段の階層のデータ集計サーバ群のデータ集計サーバから、データを受信し、前記階層化情報に基づき、受信したデータを集計した階層化データを作成するステップと、
前記データ集計サーバは、前記次集計キーのフィールドの値に基づいて、前記階層化データを送信する後段の階層のデータ集計サーバ群のデータ集計サーバを決定し、前記階層化データを、そのデータ集計サーバの後段の階層のデータ集計サーバ群のデータ集計サーバのいずれかに送信するステップと、
前記データ結合サーバは、最後段のデータ集計サーバ群のデータ集計サーバから、階層化データを受信し、データを結合するステップとを有することを特徴とするデータ集計方法。
【請求項１２】
前記データ集計サーバは、前記次集計キーのフィールドの値を入力するハッシュ関数の値に基づいて、前記階層化データを送信する後段の階層のデータ集計サーバ群のデータ集計サーバを決定することを特徴とする請求項１１記載のデータ集計方法。
【請求項１３】
他のデータ集計装置とネットワークにより接続され、他のデータ集計装置からデータを受信し、階層構造を定義する階層構造情報に基づいて集計処理をした階層化データを、後段の複数のいずれかのデータ集計装置に送信するデータ集計装置であって、
前記階層化情報は、集計するキーと、集計した階層データを後段のデータ集計サーバに送信するときに参照される次集計キーとを含み、
前記データ集計装置は、前記データ集計サーバごとに集計するキーに基づき、受信したデータを集計した階層化データを作成し、前記次集計キーのフィールドの値に基づいて、前記階層化データを送信する後段の階層のデータ集計装置を決定して、決定されたデータ集計装置に送信することを特徴とするデータ集計装置。
【請求項１４】
前記データ集計装置は、そのデータ集計装置の前段にあたる全てのデータ集計装置からデータを受信したときに、集計処理を実施することを特徴とする請求項１３記載のデータ集計装置。
【請求項１５】
前記データ集計装置は、そのデータ集計装置と同じ階層のデータ集計装置と同期して、前記階層化データの送信タイミングを決定することを特徴とする請求項１３記載のデータ集計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ集計システムに係り、特に、複数のキーにより構造化された大量データを、効率よくリアルタイムで分散処理するのに好適なデータ集計システムに関する。
【背景技術】
【０００２】
近年、様々な分野の通信データをリアルタイムに集計処理し、多角的に分析するソリューションに関心が集まっている。これらを実現する技術として、ＯＬＡＰ(OnLineAnalytical Processing)等があり、これらの技術においては、大容量の通信データを多次元データベースに格納し、階層化された複数のカテゴリについて、様々な角度から効率的かつ高速に統計処理を行う機能が要求されている。そのため、このような技術分野に分野では、処理の並列化等で多次元データの集計処理を効率的に行う方法が開発されている。例えば、多次元データの集計処理において、一定の基準に基づいて集計（１次集計）を実施した後、求められた集計値を別の基準に基づいて集計（２次集計）し、さらに３次集計、Ｍ次集計するというものである。この集計を多次元で階層化する方法では、次元を切り替えての集計処理が頻繁に発生するが、Ｍ＋１次の集計処理はＭ次の集計値に依存している関係性から、全体処理の効率化が難しいという課題が存在する。この課題を解決する手法として、特許文献１がある。特許文献１記載の技術は、多次元データ集計処理において、各次元の集計処理間の依存性を排除して、並列処理を実現する多次元データ集計装置であり、「レコードの明細データを複数の次元キーについて重畳的に集計する多次元データ集計装置であって、前記１次集計値を、前記第１のカテゴリとは異なるレコードの分類である第２のカテゴリについて集計し、その結果を２次集計値として出力する２次集計手段とを備えた多次元データ集計装置であって、前記明細データを前記第１の次元キーについて集計し、その結果を１次集計値として出力する１次集計手段と、前記１次集計値の出力を待たずに、前記明細データを前記第２の次元キーについて集計し、その結果を中間集計値として出力する中間集計手段と、前記中間集計値を前記第１の次元キーについて集計し、その結果を前記２次集計値として出力する２次集計手段とを備え」たものである（段落０００６）。
【０００３】
また、特許文献１記載の多次元データ集計装置は、「レコードの明細データを複数の次元キーについて重畳的に集計する多次元データ集計装置であって、前記Ｍ個（Ｍは２以上の自然数）の次元キーからなる順列を算出する次元キー順列算出手段と、Ｎ個（Ｎは２以上の自然数）の集計手段と、前記次元キー順列算出手段が算出した前記順列の次元キーに従って、前記レコードの明細データを重畳的に集計する順列別多次元集計処理を前記Ｎ個の集計手段に分配して並列に処理させて、そのうち最初に終了した前記順列別多次元集計処理の結果を取得する制御手段と、前記制御手段が取得した順列別多次元集計処理を出力する集計結果出力手段とを備えるものである。」（段落０００７）
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２５５８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１記載の従来技術は、あるキーの集計を待たずに他のキーの中間集計を行うようにした多次元データの集計処理を並列化処理により、処理の効率化を可能としている。しかしながら、一方で多次元データ集計装置は、単一機器で処理するシステム構成となっているため、処理するデータが大容量になるに従い、可用性の低下や、ネットワーク負荷、ＩＯ負荷が増大するという問題点がある。
【０００６】
また、多次元データ集計装置が集計する元となるデータは、事前に（ＥＴＬ：Extract/Transform/Load）ツールにより、定期的なデータの重複排除や正規化処理が施されている。そのため、データ処理のリアルタイム性が損なわれるといった問題点も存在する。
【０００７】
本発明は、上記問題点を解決するためになされたもので、その目的は、多段階のキーにより構造化された大量データを、事前に加工することなく、効率よく複数の処理装置でリアルタイムで分散処理することのできるデータ集計システムを提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するためのデータ集計システムの構成は、階層構造を定義する階層構造情報を保持する階層構造データベースと、一つ以上のデータ集計サーバからなるデータ集計サーバ群を備えるものである。データ集計サーバ群は、階層付けられて、前段の階層のデータ集計サーバ群のデータ集計サーバと、後段の階層のデータ集計サーバ群のデータ集計サーバは、ネットワークにより接続されており、そのデータ集計サーバの前段の階層のデータ集計サーバ群のデータ集計サーバから、データを受信し、データ集計サーバごとに集計するキーを保持する階層化情報に基づき、受信したデータを集計した階層化データを作成し、階層化データを、そのデータ集計サーバの後段の階層のデータ集計サーバ群のデータ集計サーバのいずれかに送信する。
【発明の効果】
【０００９】
本発明によれば、多段階のキーにより構造化された大量データを、事前に加工することなく、効率よく複数の処理装置でリアルタイムで分散処理することのできるデータ集計システムを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】第一の実施形態に係るデータ集計システムの全体構成図である。
【図２】第一の実施形態に係るＰａｃｋｅｔ解析装置の装置構成図である。
【図３】第一の実施形態に係るデータ集計サーバ群の構成図である。
【図４】第一の実施形態に係るデータ集計サーバの機能ブロック図である。
【図５】第一の実施形態に係るデータ結合サーバの機能ブロック図である。
【図６】第一の実施形態に係るデータ集計サーバのハードウェア・ソフトウェア構成図である。
【図７】第一の実施形態に係るデータ結合サーバのハードウェア・ソフトウェア構成図である。
【図８】第一の実施形態に係る階層化テーブルを示す図である。
【図９】第一の実施形態に係る統計テーブルを示す図である。
【図１０】第一の実施形態に係る中間統計情報ファイルを示す図である。
【図１１】第一の実施形態に係る統計情報ファイルを示す図である。
【図１２】階層データを受信してから、集計結果を統計情報ファイル、及び統計ＤＢに登録するまでの処理を示すシーケンス図である。
【図１３】第一の実施形態に係るデータ集計サーバの処理を示すフローチャートである。
【図１４Ａ】第一の実施形態に係るデータ集計サーバの処理の例を示す図である（その一）。
【図１４Ｂ】第一の実施形態に係るデータ集計サーバの処理の例を示す図である（その二）。
【図１５】第一の実施形態に係るデータ結合サーバの処理を示すフローチャートである。
【図１６】第二の実施形態に係るデータ集計システムの全体構成図である。
【図１７】第二の実施形態に係るデータ集計サーバ群の構成図である。
【図１８】データ収集サーバの機能ブロック図である。
【図１９】第二の実施形態に係るデータ集計サーバの機能ブロック図である。
【図２０】第二の実施形態に係るデータ結合サーバの機能ブロック図である。
【図２１】ＧＵＩサーバの機能ブロック図である。
【図２２】データ収集エージェントの機能ブロック図である。
【図２３】第二の実施形態に係る階層構造情報の一例である。
【図２４】第二の実施形態に係る階層化テーブルを示す図である。
【図２５】第二の実施形態に係る統計テーブルを示す図である。
【図２６】ユーザ管理テーブルとログイン管理テーブルを示す図である。
【図２７】第二の実施形態に係る中間統計情報ファイルを示す図である。
【図２８】第二の実施形態に係る統計情報ファイルを示す図である。
【図２９】データを収集し、集計結果を統計情報ファイル、及び統計ＤＢへ登録するまでの処理を示すシーケンス図である。
【図３０】ユーザがＧＵＩサーバを介して、ログイン、情報表示、ログアウトを実施する際の処理を示すシーケンス図である。
【図３１】データ収集エージェントの処理を示すフローチャートである。
【図３２】データ収集サーバの処理を示すフローチャートである。
【図３３】第二の実施形態に係るデータ収集サーバの処理の例を示す図である。
【図３４】第二の実施形態に係るデータ集計サーバの処理を示すフローチャートである。
【図３５】第二の実施形態に係るデータ集計サーバの処理の例を示す図である。
【図３６】第二の実施形態に係るデータ結合サーバの処理を示すフローチャートである。
【図３７】ＧＵIサーバのログイン処理を示すフローチャートである。
【図３８】第二の実施形態に係るＧＵIサーバの情報表示処理を示すフローチャートである。
【図３９】第二の実施形態に係るＧＵIサーバのログアウト処理を示すフローチャートである。
【図４０】ＧＵＩサーバ１５の提供するユーザインタフェース画面の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明に係る各実施形態を、図１ないし図４０を用いて説明する。
【００１２】
〔実施形態１〕
以下、本発明に係る第一の実施形態を、図１ないし図１１を用いて説明する。
【００１３】
先ず、図１ないし図７を用いて第一の実施形態に係るデータ集計システムの構成について説明する。
図１は、第一の実施形態に係るデータ集計システムの全体構成図である。
図２は、第一の実施形態に係るＰａｃｋｅｔ解析装置の装置構成図である。
図３は、第一の実施形態に係るデータ集計サーバ群の構成図である。
図４は、第一の実施形態に係るデータ集計サーバの機能ブロック図である。
図５は、第一の実施形態に係るデータ結合サーバの機能ブロック図である。
図６は、第一の実施形態に係るデータ集計サーバのハードウェア・ソフトウェア構成図である。
図７は、第一の実施形態に係るデータ結合サーバのハードウェア・ソフトウェア構成図である。
【００１４】
本実施形態では、モバイルコアネットワーク１に接続されており、ネットワーク上に流れるパケットを集計し、ＥＣＧＩ(E-UTRAN Cell Global ID)とＩＭＳＩ(International Mobile Subscriber Identity)とに基づいて、ネットワークトラフィクの解析を行うデータ集計システムを例に採り説明する。ここで、ＥＣＧＩは、ＬＴＥ（Long Term Evolution）の基地局がカバーするセルに割当てられる識別番号であり、ＩＭＳＩは、ＧＳＭ（登録商標）（Global System for Mobile communications）及びＷ−ＣＤＭＡ（Wideband Code Division Multiple Accessの）の全ての携帯電話ユーザに割り当てられている一意な識別番号である。
【００１５】
階層化データ集計処理システム８は、図１に示されるように、Ｐａｃｋｅｔ解析装置２と、データ集計サーバ群３と、データ結合サーバ４から構成される。
【００１６】
Ｐａｃｋｅｔ解析装置２は、モバイルコアネットワーク１に接続されており、ネットワーク上に流れるパケットをキャプチャして、解析する装置である。Ｐａｃｋｅｔ解析装置２は、単数あるいは複数の装置で構成されており、ネットワーク運用者が、モバイルコアネットワーク１に流れるＰａｃｋｅｔのコピーをＴＡＰ装置（ネットワーク信号を分岐して取り出す装置）やミラーリング技術等を使用してＰａｃｋｅｔ解析装置２へも流れるように設定する。
【００１７】
また、Ｐａｃｋｅｔ解析装置２は、モバイルコアネットワーク１のインラインに配置され、Ｐａｃｋｅｔを直接解析する構成も可能である。Ｐａｃｋｅｔ解析装置２がＰａｃｋｅｔを解析した結果は、ファイル形式、又はバイナリ形式として、データ集計サーバ群３へ送信される。
【００１８】
データ集計サーバ群３は、単数あるいは複数のデータ集計サーバ３０で構成されており、その群が二つ以上直列に接続されている。各々のデータ集計サーバ３０は、階層化ＤＢ５から取得した階層Ｋｅｙ情報に基づいて集計処理を行ない、処理結果をデータ結合サーバ４へ送信する。
【００１９】
データ結合サーバ４は、データ集計サーバ群３から集計データを受信すると、集計データを統計ＤＢ６に登録する、また、集計データを一つのファイルに結合し、統計情報ファイル５２として出力することも可能である。
【００２０】
Ｐａｃｋｅｔ解析装置２は、図２に示されるように、Ｐａｃｋｅｔ受信部２１、Ｐａｃｋｅｔ解析部２２、データ出力部２３で構成される。Ｐａｃｋｅｔ受信部２１は、モバイルコアネットワーク１よりＰａｃｋｅｔを受信する部分である。Ｐａｃｋｅｔ解析部２２は、受信したＰａｃｋｅｔのプロトコル解析を行ない、ＥＣＧＩとＩＭＳＩとのリンクを行なって解析結果をファイル形式、もしくは、バイナリ形式としてデータ集計サーバ３０へ送信するデータ出力部２３で構成される。
【００２１】
データ集計サーバ群３は、図３に示されるように、単数あるいは複数のデータ集計サーバ３０が並列配置された構成であり、同一階層のデータ集計を分散して処理する。なお、ここでは、階層を第ｎ−１階層から第１階層まで降順に並べている。また、このデータ集計サーバ群３は、ネットワークスイッチ（以下、「ＳＷ」と表記する）７を介して、二つ以上の群が直列配置しており、階層単位に集計が可能な多段構成である。なお、各々のＳＷ７は、階層化ＤＢ５と接続しているため、全てのデータ集計サーバが階層化ＤＢ５に接続可能な構成となっている。
【００２２】
データ集計サーバ３０は、図４に示されるように、機能部として、データ入力部３１と、階層化データ識別部３２と、集計処理部３３と、データ出力部３４と、集計処理間同期部３５からなる。
【００２３】
データ入力部３１は、階層化データ受信機能部３００と、受信データ待合せ機能部３０１を具備している。階層化データを階層化データ受信機能部３００が受信すると受信データ待合せ機能部３０１からの指示を受けるまでキューに保持し、待機する。受信データ待合せ機能部３０１は、入力源からの階層化データが全て受信済か否かを判定する。
【００２４】
この場合の入力源とはｎ−１階層目のデータ集計サーバ３０であれば、Ｐａｃｋｅｔ解析装置２となり、ｎ−２階層目〜１階層目のデータ集計サーバ３０であれば、データ集計サーバ３０となる。受信データ待合せ機能部３０１は、入力源のノード数を保持しており、全ての入力源から階層化データを受信するまで処理を進めないようにする。このようにして、一部の入力源からのデータ受信が遅れた場合には、受信データ待合せ機能部３０１が、処理を進めないことにより、受信データを取りこぼしてしまうリスクを回避する。
【００２５】
ただし、一部の入力源が障害等により、階層化データ受信機能部３００が全ての入力源から階層化データを受信する事が不可能な状態が長く続く場合がある。そのため、タイムアウト時間を設けて、受信データ待合せ機能部３０１がタイムアウト時間を経過した、と判定した場合には階層化データ受信機能部３００は、階層化データ識別部３２へ階層化データを送るよう指示する。
【００２６】
階層化データ識別部３２は、階層化データ集計キー識別機能部３０２を具備する。階層化データは、主従関係にあるキー要素を保持している。このキー要素の階層構造情報とサーバがどの階層のデータを処理するかは階層化ＤＢ５で管理する。システム運用者は収集するデータの主従関係に基づいて階層構造情報を階層化ＤＢ５に登録するものである。また、システム運用者が独自に主従関係を定義して、階層構造情報を階層化ＤＢ５に登録する事も可能である。
【００２７】
階層化データ集計キー識別機能部３０２は、事前に階層化ＤＢ５から集計Ｋｅｙと、次集計Ｋｅｙと、出力Ｆｌｇを取得しており、その情報に基づいて階層化データを加工し、集計処理部３３へ送信する。ここで、集計Ｋｅｙとは、この階層のデータ集計サーバ群３に属するデータ集計サーバ３０の集計処理の単位を示すキーであり、次集計Ｋｅｙとは、次階層のデータ集計サーバ３０へデータを分散送信するために用いられるキーでり、出力Ｆｌｇとは、ファイル出力を実施するか否かを示すフラグである。
【００２８】
集計処理部３３は、キー単位集計機能部３０３を具備し、階層化データ集計キー識別機能部３０２から受けとった集計Ｋｅｙに基づいて集計処理を実施する。データ出力部３４は、送信先判別機能部３０４と、データ分散送信機能部３０５と、データ結合サーバ送信機能部３０６と、中間統計情報ファイル出力機能部３０７を具備する。送信先判別機能部３０４は、次集計Ｋｅｙと出力Ｆｌｇからどの送信先へ階層化データを渡すかを仕分ける機能部である。また、送信先判別機能部３０４は、仕分け後に集計処理間同期部３５へ集計処理完了を通知する。データ分散送信機能部３０５は、重複集計の防止、及び負荷分散を実施するために、階層化データの次集計Ｋｅｙごとに均等に分散されるようなアルゴリズムを持った関数から、送信先のデータ集計サーバ３０を決定し、送信する機能部である。データ結合サーバ送信機能部３０６は、データ次集計Ｋｅｙがなく、該当サーバが１階層目の集計を担当する場合に階層化データをデータ結合サーバ４へ送信する機能である。中間統計情報ファイル出力機能部３０７は、処理集計部３３で集計された階層化データを、いったん中間統計情報ファイル５１として出力する機能である。
【００２９】
なお、データ分散送信機能部３０５とデータ結合サーバ送信機能部３０６は、集計処理間同期部３５からの送信指示を受けるまで階層化データデータをキューに保持し、送信を待機する。これは、並列に同一階層のデータを集計している他のデータ集計サーバ３０と集計した階層化データの送信タイミングを合わせるためである。階層化データの送信タイミングの同期をとることにより、送信する階層化データの追い越しによるデータの欠落や受信遅延等を防ぐことが可能である。
【００３０】
集計処理間同期部３５は、集計処理完了通知機能部３０８と、タイマー機能部３０９と、集計処理状況管理機能部３１０を具備する。集計処理完了通知機能部３０８は、送信先判別機能部３０４からの集計処理完了通知を受けて、並列に同一階層のデータを集計している他のデータ集計サーバ３０に対して集計処理完了通知を通知する機能部である。
【００３１】
タイマー機能部３０９は、集計処理完了通知機能部３０８が同報してから経過時間を計測しており、既定のタイムアウト時間を経過した場合に集計処理状況管理機能部３１０に対してタイムアウト通知する機能である。集計処理状況管理機能部３１０は、並列に同一階層のデータを集計している他のデータ集計サーバ３０からの集計処理完了通知を受信し、同一階層の全てのデータ集計サーバ３０が集計処理を完了したか否かを監視する。集計処理状況管理機能部３１０は、全てのデータ集計サーバ３０が集計処理を完了した、あるいは、タイマー機能部３０９からタイムアウト通知を受け取った場合には、データ分散送信機能部３０５、又はデータ結合サーバ送信機能部３０６に対して階層化データを送信するよう指示する。
【００３２】
データ結合サーバ４は、図５に示されるように、機能部として、データ入力部４０と、データ結合部４１と、データ出力部４２からなる。
【００３３】
データ入力部４０は、集計データ受信機能部４００と、受信データ待合せ機能部４０１を具備する。集計データ受信機能部４００は、集計データを受信すると受信データ待合せ機能部４０１からの指示を受けるまでキューに保持し、待機する。受信データ待合せ機能部４０１は、入力源からの集計データが全て受信済か否かを判定する。この場合の入力源とは、１階層目のデータ集計サーバ３０である（図３参照）。受信データ待合せ機能部４０１は、入力源のノード数を保持しており、全ての入力源から集計データを受信するまで処理を進めないようにする。このようにして、一部の入力源からのデータ受信が遅れた場合には、受信データ待合せ機能部４０１が処理を進めないことにより、受信データを取りこぼしてしまうリスクを回避する。
【００３４】
ただし、一部の入力源が障害等により、集計データ受信機能部４００が全ての入力源から集計データを受信する事が不可能な状態が長く続く場合がある。そのため、タイムアウト時間を設け、受信データ待合せ機能部４０１がタイムアウト時間を経過と判定した場合に、集計データ受信機能部４００にデータ結合部４１へ集計データを送るよう指示する。
【００３５】
データ結合部４１は、データ結合機能部４０２を具備する。集計データ受信機能部４００から受け取った集計データの結合処理を行う。データ出力部４２は、ＤＢ登録機能部４０３と、統計情報ファイル出力機能部４０４と、統計ＤＢ６を具備する。ＤＢ登録機能部４０３は、データ結合機能部４０２により結合したデータを統計ＤＢ６へ登録する処理を行う。また、統計情報ファイル出力機能部４０４は、データ結合機能部４０２により結合したデータのファイル出力を行う。
【００３６】
データ集計サーバ３０のハードウェア構成は、図６に示されるように、ＣＰＵ３００２、主記憶装置３００８、表示Ｉ／Ｆ３００４、入出力Ｉ／Ｆ３００６、ネットワークＩ／Ｆ３０１０、補助記憶Ｉ／Ｆ３０１２がバスにより接続されたものである。
【００３７】
表示装置３０１０には、稼動状況のモニタや出力結果が表示される。入出力Ｉ／Ｆ３００６には、キーボード３０２０やマウス３０２２などの入出力装置が接続され、管理者は、これらの入出力装置からコマンドなどを入力する。ネットワークＩ／Ｆ３０１０には、ＳＷ７が接続され、このＩ／Ｆを介して外部の装置と通信を行う。補助記憶Ｉ／Ｆ３０１２には、データやプログラムを格納するハードディスク装置３０６０などの記憶装置が接続される。ハードディスク装置３０６０は、アレイ上に接続されてディスクアレイを構成する場合もある。
【００３８】
業務処理のアプリケーションプログラム、ＯＳなどは、ハードディスク装置３０６０に格納されており、実行されるときに主記憶装置３００８にロードされて、ＣＰＵ３００２により実行される。
【００３９】
特に、データ集計サーバ３０として実行されるプログラムとしては、データ入力プログラム３１ｐと、階層化データ識別プログラム３２ｐと、集計処理プログラム３３ｐと、データ出力プログラム３４ｐと、集計処理間同期プログラム３５ｐが格納されている。
【００４０】
データ入力プログラム３１ｐと、階層化データ識別プログラム３２ｐと、集計処理プログラム３３ｐと、データ出力プログラム３４ｐと、集計処理間同期プログラム３５ｐは、それぞれ、図４により説明したデータ入力部３１と、階層化データ識別部３２と、集計処理部３３と、データ出力部３４と、集計処理間同期部３５の機能を実行するプログラムである。
【００４１】
これらのプログラムは、ＣＤ（Compact Disk）やＤＶＤ（Digital Versatile Disk）のような光ディスク媒体から読み込んだり、ネットワーク上の他のサーバからダウンロードすることにより、インストールすることができる。
【００４２】
データ結合サーバ４０のハードウェア構成は、図７に示されるように、データ集計サーバ３０と同様であり、ＣＰＵ４００２、主記憶装置４００８、表示Ｉ／Ｆ４００４、入出力Ｉ／Ｆ４００６、ネットワークＩ／Ｆ４０１０、補助記憶Ｉ／Ｆ４０１２がバスにより接続されたものである。
【００４３】
特に、ハードディスク装置４０６０には、データ結合サーバ４０として実行されるプログラムとしては、データ入力プログラム４０ｐと、データ結合プログラム４１ｐと、データ出力プログラム４２ｐが格納されている。
【００４４】
データ入力プログラム４０ｐと、データ結合プログラム４１ｐと、データ出力プログラム４２ｐは、それぞれ、図５に示したデータ入力部４０と、データ結合部４１と、データ出力部４２の機能を実行するプログラムである。
【００４５】
次に、図８ないし図１１を用いて第一の実施形態のデータ集計システムに用いられるデータ構造について説明する。
図８は、第一の実施形態に係る階層化テーブルを示す図である。
図９は、第一の実施形態に係る統計テーブルを示す図である。
図１０は、第一の実施形態に係る中間統計情報ファイルを示す図である。
図１１は、第一の実施形態に係る統計情報ファイルを示す図である。
【００４６】
階層化テーブル５０は、階層化ＤＢ５に格納されていて、各データ集計サーバにおける集計のためのキーと、次の階層にデータを分配するときのキーを示すテーブルであり、図８に示されるように、Ｓｅｒｖｅｒ識別子５０ａ、集計Ｋｅｙ５０ｂ、次集計Ｋｅｙ５０の各フィールドを有する。Ｓｅｒｖｅｒ識別子５０ａには、各データ集計サーバを一意的に識別するための識別子が格納される。集計Ｋｅｙ５０ｂには、各データ集計サーバ３０での集計単位とする集計Ｋｅｙのフィールド名が格納される。次集計Ｋｅｙ５０ｃには、送信先のデータ集計サーバ３０を決定するための値の算出対象となる集計Ｋｅｙのフィールド名が格納される。出力Ｆｌｇ５０ｄには、中間統計情報ファイル５１の出力要否を設定するフラグが格納される。
【００４７】
統計テーブル６０は、統計ＤＢ６に格納されている集計結果を格納するテーブルであり、本実施形態の例では、図９に示されるように、日時６０ａ、ＥＣＧＩ６０ｂ、接続ユーザ数６０ｃ、転送Ｂｙｔｅ数６０ｃの各フィールドを有する。これは、日時６０ａに示した時刻毎にＥＣＧＩ６０ｂに格納された値のＥＣＧＩをキーにして集計した接続ユーザ数、転送Ｂｙｔｅ数が、それぞれ接続ユーザ数６０ｃ、転送Ｂｙｔｅ数６０ｃに格納された値であることを示している。
【００４８】
中間統計情報ファイル５１は、各階層のデータ集計サーバで中間結果として参照するときに出力されるファイルであり、例えば、集計対象日時の情報をファイル名に付与したＣＳＶ（Comma-Separated Values）形式のファイルとして、実現することができる。中間統計情報ファイル５１は、例えば、図１０に示されるように、該当集計時刻のＩＭＳＩと、ＩＭＳＩをキーに集計した転送Ｂｙｔｅ数（Ｂｙｔｅ）が記載される。なお、１行目には列名等のヘッダー情報が付与される。
【００４９】
統計情報ファイル５２は、統計テーブル５０をファイル形式で出力したファイルであり、例えば、集計対象日時の情報をファイル名に付与したＣＳＶ形式のファイルである。統計情報ファイル５２は、例えば、該当集計時刻のＥＣＧＩと、ＥＣＧＩをキーに集計した接続ユーザ数（ｕｓｅｒＣｎｔ）と、転送Ｂｙｔｅ数（Ｂｙｔｅ）が記載される。なお、１行目には列名等のヘッダー情報が付与される。
【００５０】
この中間統計情報ファイル５１を各データ集計サーバ３０が出力するようにしため、ユーザは、最終結果を待たずとも、各サーバの出力により中間結果を確認できるというメリットがある。
【００５１】
次に、図１２ないし図１５を用いて第一の実施形態に係るデータ集計システムの処理について説明する。
図１２は、階層データを受信してから、集計結果を統計情報ファイル、及び統計ＤＢに登録するまでの処理を示すシーケンス図である。
図１３は、第一の実施形態に係るデータ集計サーバの処理を示すフローチャートである。
図１４Ａ、図１４Ｂは、第一の実施形態に係るデータ集計サーバの処理の例を示す図である。
図１５は、第一の実施形態に係るデータ結合サーバの処理を示すフローチャートである。
【００５２】
先ず、図１２により階層データを受信してから、集計結果を統計情報ファイル、及び統計ＤＢに登録するまでの処理について説明する。
【００５３】
Ｐａｃｋｅｔ解析装置２は、ｎ−１階層のデータ集計サーバ３０にパケット解析データを送信する（Ｓ６０１）。パケット解析データを受信したｎ−１階層のデータ集計サーバ３０は、データ集計処理を行ない（Ｓ６０２）、集計したにおいて、ｎ−１階層集計データをｎ−２階層のデータ集計サーバ３０へ送信する（Ｓ６０３）。
【００５４】
このデータ集計サーバ３０からデータ集計サーバ３０への集計データの集計処理、及び送信は、最集段の１階層のデータ集計サーバ３０まで連続して行なわれる。
【００５５】
そして、１階層のデータ集計サーバ３０は、データ結合サーバ４に１階層集計データを送信する（Ｓ６１０）。データ結合サーバ４は、１階層データ集計サーバ３０から受信した１階層集計データを結合処理し（Ｓ６２０）、結合データを統計ＤＢ６へ格納し（Ｓ６２１）、統計情報ファイルを出力する（Ｓ６２２）。
【００５６】
次に、図１３、図１４Ａ、図１４Ｂによりデータ集計サーバの処理について説明する。
【００５７】
先ず、データ入力部３１の階層化データ受信機能部３００が階層化データを受信し、キューに格納する（Ｓ７００）。次に、データ入力部３１の受信データ待合せ機能部３０１が全てのＰａｃｋｅｔ解析装置２、あるいは、データ集計サーバ３０から階層化データを受信済と判定した場合（Ｓ７００：Ｙｅｓ）、Ｓ７０４へ処理を進める（Ｓ７０１）。
【００５８】
一方、受信データ待合せ機能部３０１が全てのＰａｃｋｅｔ解析装置２、あるいはデータ集計サーバ３０から階層化データを受信済ではないと判定した場合（Ｓ７００：Ｎｏ）、Ｓ７０２へ処理を進める。
【００５９】
次に、受信データ待合せ機能部３０１は、階層化データ受信機能部３００が１件目の階層化データを受信してから、既定時間を超過していると判定した場合、全てのＰａｃｋｅｔ解析装置２、あるいはデータ集計サーバ３０からの階層化データ受信を待たずにＳ７０４へ処理を進める（Ｓ７００：Ｙｅｓ）。
【００６０】
次に、受信データ待合せ機能部３０１は、階層化データ受信機能部３００が１件目の階層化データを受信してから、既定時間を超過していないと判定した場合（Ｓ７０２：Ｎｏ）、Ｓ７０３へ処理を進める。次に、受信データ待合せ機能部３０１は既定時間分のｓｌｅｅｐ処理を実施し（Ｓ７０３）、再度Ｓ７００から処理を実施する。
【００６１】
Ｓ７０１がＹｅｓ、Ｓ７０２がＹｅｓのときには、階層化データ識別部３２の階層化データ集計キー識別機能部３０２がメモリキャッシュより、自ノードの集計Ｋｅｙ、次集計Ｋｅｙ、出力フラグ等を読み出し、階層化識別処理を施し（Ｓ７０４）、キー単位集計機能部３０３へ集計用データを送る。階層化識別処理については、図１４Ａにより後述する。
【００６２】
次に、集計処理部３３のキー単位集計機能部３０３が、受信した集計用データのレコード数分、Ｓ７０６、Ｓ７０７の順に繰り返し処理を実施する（Ｓ７０５〜Ｓ７０７）。
【００６３】
集計処理ループでは、先ず、階層化データをキューより１件読出し（Ｓ７０６）、集計Ｋｅｙ単位に階層化データの集計処理を行う（Ｓ７０７）。集計処理の具体的なイメージは、図１４Ｂにより後述する。
【００６４】
集計処理ループから抜け出て、データ出力部３４の送信先判別機能部３０４が、次集計ＫｅｙがＮＵＬＬの場合（Ｓ７０８：Ｙｅｓ）、送信先サーバをデータ結合サーバ４に設定し（Ｓ７０９）、Ｓ７１１へ処理を進める。
【００６５】
送信先判定機能部３０４が、次集計ＫｅｙがＮＵＬＬではない場合（Ｓ７０８：Ｎｏ）、送信先判定機能部３０４が、次集計ＫｅｙよりＩＭＳＩ等をＭ台にできるだけ均等に分散され、かつ、同一の値の集計Ｋｅｙを持つ階層データを、できるだけ同一の集計サーバに分配するようなアルゴリズムを持った関数（次集計Ｋｅｙの値を入力とするハッシュ関数）を用いて値を算出し、その値に従い、送信先サーバのデータ集計サーバ３０を設定する（Ｓ７１０）。
【００６６】
次に、集計処理間同期部３５の集計処理完了通知機能部３０８が処理完了通知を並列に配置する他のデータ集計サーバ３０に向けて通知する（Ｓ７１１）。次に、集計処理間同期部３５の集計処理状況管理機能部３１０がメモリキャッシュ（図示せず）より、他のデータ集計サーバ３０の処理完了通知受信状況を読み出す（Ｓ７１２）。集計処理状況管理機能部３１０が処理完了通知を全てのデータ集計サーバ３０より受信済と判定した場合（Ｓ７１３：Ｙｅｓ）において、Ｓ７１６へ処理を進める。
【００６７】
Ｓ７１３において、集計処理状況管理機能部３１０が処理完了通知を全てのデータ集計サーバ３０より受信済ではないと判定した場合（Ｓ７１３：Ｎｏ）、タイマー機能部３０９にて、Ｓ７１４の処理を進める。
【００６８】
集計処理間同期部３５のタイマー機能部３０９が処理完了通知待合せタイマーの規定時間を超過していると判定した場合（Ｓ７１４：Ｙｅｓ）、集計処理状況管理機能部３１０は、全てのデータ集計サーバ３０からの処理完了通知を待たずにＳ７１６へ処理を進める。
【００６９】
一方、タイマー機能部３０９が処理完了通知待合せタイマーの既定時間を超過していないと判定した場合（Ｓ７１４：Ｎｏ）、Ｓ７１５へ処理を進める。
【００７０】
そして、集計処理状況管理機能部３１０が既定時間分のｓｌｅｅｐ処理を実施し（Ｓ７１５）、再度Ｓ７１２から処理を実施する。
【００７１】
Ｓ７１３がＹｅｓ、Ｓ７１４がＹｅｓのとき、データ分散送信機能部３０５、又はデータ結合サーバ送信機能部３０６が集計Ｋｅｙにより集計したデータをＳ７０９、あるいはＳ７１０で設定した送信先サーバへ送信する（Ｓ７１６）。
【００７２】
次に、集計処理状況管理機能部３１０が処理完了通知受信状況を初期化する（Ｓ７１７）。次に、送信先判別機能部３０４は出力Ｆｌｇが”ＯＦＦ”と判定した場合（Ｓ７１８：Ｙｅｓ）、処理を終了する。
【００７３】
一方、送信先判別機能部３０４は出力Ｆｌｇが”ＯＮ”と判定した場合（Ｓ７１８：Ｎｏ）、中間統計情報ファイル出力機能部３０７が中間統計情報ファイル５１を生成し（Ｓ７１９）、処理を終了する。
【００７４】
次に、図１４Ａを用いて図１３のＳ７０４のデータ集計サーバ３０で行なわれる階層識別処理について説明する。
【００７５】
階層化データ集計キー識別機能部３０２は、データ集計サーバ３０起動時に階層化ＤＢ５の階層化テーブル５０のＳｅｒｖｅｒ識別子５０ａをキーに、自ノードの該当レコードを取得し、階層情報３０２１としてメモリバッファで保持する。階層化データ集計キー識別機能部３０２が階層化データ３０２２を受信すると、階層化データ３０２２と階層情報３０２１と照合し、階層化データ３０２２上で集計Ｋｅｙとなるデータと次集計キーとなるデータを識別する。
図１４Ａの例では、集計ＫｅｙがＩＭＳＩ、次集計ＫｅｙがＥＣＧＩとなり、集計単位のＫｅｙとなるデータを２列目、次集計Ｋｅｙとなるデータを３列目に配置し、出力Ｆｌｇをレコードの最終列に付与し、集計用データ３０２３として、キー単位集計機能部３０３に送られ、集計処理が行なわれる。
【００７６】
次に、図１４Ｂを用いて図１３のＳ７０７のデータ集計サーバ３０で行なわれる集計処理について説明する。
図１４Ｂに示した例では、集計Ｋｅｙは、ＩＭＳＩなので、階層化データ３０２２の２列目のデータに基づいた集計処理が行なわれる。例えば、ＩＭＳＩが「Ａ」のレコードの転送バイト数が、（ＩＭＳＩ，転送バイト数）＝「Ａ，４０」、「Ａ，１０」が「Ａ，５０」のように集計される。ただし、次の階層で集計したいデータが異なるときには、この階層の集計サーバで集計しないことも考えられる。例えば、階層化データ３０２３の４，５レコード目の例では、ＩＭＳＩがともに「Ｂ」であるが、ＥＣＧＩが「３」、「４」と異なっているため、この階層のデータ集計サーバ３０では、集計されず、次の階層のデータ集計サーバ３０で集計されることを示唆している（階層化データ３０２４）。
【００７７】
次に、図１５によりデータ結合サーバの処理について説明する。  
先ず、データ入力部４０の集計データ受信機能部４００が集計データを受信し（Ｓ８００）、キューに格納する。
【００７８】
次に、データ入力部４０の受信データ待合せ機能部４０１が全てのデータ集計サーバ３０から集計データを受信済と判定した場合（Ｓ８０１：Ｙｅｓ）、Ｓ８０４へ処理を進める。受信データ待合せ機能部４０１が全てのデータ集計サーバ３０から集計データを受信済ではないと判定した場合（Ｓ８０１：Ｎｏ）、Ｓ８０２へ処理を進める。
【００７９】
次に、受信データ待合せ機能部４０１は集計データ受信機能部４００が１件目の集計データを受信してから、既定時間を超過していると判定した場合（Ｓ８０２：Ｙｅｓ）、全てのデータ集計サーバ３０からの集計データ受信を待たずに、Ｓ８０４へ処理を進める。
【００８０】
一方、受信データ待合せ機能部４０１は集計データ受信機能部４００が１件目の集計データを受信してから、既定時間を超過していないと判定した場合（Ｓ８０２：Ｎｏ）、Ｓ８０３へ処理を進める。
【００８１】
次に、受信データ待合せ機能部４０１が既定時間分のｓｌｅｅｐ処理を実施し（Ｓ８０３）、再度Ｓ８００から処理を実施する。
【００８２】
Ｓ８０１がＹｅｓ、Ｓ８０２がＹｅｓの場合、データ結合部４１のデータ結合機能部４０２は、受信した集計データのレコード数分、Ｓ８０５、Ｓ８０６の順に繰り返し処理を実施する。
【００８３】
結合処理ループにおいて、データ結合機能部４０２が集計データを１件読出し（Ｓ８０５）、データ結合機能部４０２が読み出した集計データをバッファ（図示せず）に追記する（Ｓ８０６）。
【００８４】
結合処理ループから抜けると、データ出力部４２のＤＢ登録機能部４０３がバッファを統計ＤＢ６へ登録し（Ｓ８０７）、Ｓ８０８において、データ出力部４２の統計情報ファイル出力機能部４０４がバッファを統計情報ファイル５２としてファイル出力し（Ｓ８０８）、処理を終了する。
【００８５】
本実施形態のデータ集計システムは、階層データ構造情報に基づき、各階層ごとに、集計Ｋｅｙを指定して、同一の階層のデータ集計サーバ群に属する複数のデータ集計サーバに対して、並行に集計データを処理させることにより負荷を分散する。そして、次階層の集計データの分配は、階層データ構造情報の次集計Ｋｅｙに基づき、かつ、同一の値の集計Ｋｅｙを持つ階層データを、できるだけ同一の集計サーバに分配するようなアルゴリズムを持った関数（次集計Ｋｅｙの値を入力とするハッシュ関数）により行うために、複数のデータ集計サーバに均等に負荷が分散され、前段から集計データを渡されたデータ集計サーバは、同一の値の集計Ｋｅｙを扱う可能性が高まるため、データ処理が効率的に行なえるというメリットがある。
【００８６】
〔実施形態２〕
以下、本発明に係る第二の実施形態を、図１６ないし図４０を用いて説明する。
【００８７】
本実施形態では、定期的に掲示板やＳＮＳ（Social Network Service）等を監視し、災害時の支援や救助依頼、負傷者の数等を市区町村ごとに集計し、その情報を伝達することにより、緊急時の注意報、警報の運用を支援するシステムを説明する。
【００８８】
先ず、図１６ないし図ＧＢを用いて第二の実施形態に係るデータ集計システムの構成について説明する。
図１６は、第二の実施形態に係るデータ集計システムの全体構成図である。
図１７は、第二の実施形態に係るデータ集計サーバ群の構成図である。
図１８は、データ収集サーバの機能ブロック図である。
図１９は、第二の実施形態に係るデータ集計サーバの機能ブロック図である。
図２０は、第二の実施形態に係るデータ結合サーバの機能ブロック図である。
図２１は、ＧＵＩサーバの機能ブロック図である。
図２２は、データ収集エージェントの機能ブロック図である。
【００８９】
本実施形態のデータ集計システムは、図１６に示されるように、データ収集エージェント１６と、データ収集サーバ１２と、データ集計サーバ群１３と、データ結合サーバ１４と、ＧＵＩサーバ１５と、クライアントＰＣ１９で構成される災害時階層化情報伝達システム１０である。
【００９０】
データ収集エージェント１６は、市町村の運営するＷｅｂサーバ１１に組み込まれているプログラムであり、例えば、定期的に掲示板やＳＮＳ等を監視し、災害時の支援や救助依頼、負傷者の数等を集計し、データ収集サーバ１２へデータ送信する。
【００９１】
データ収集サーバ１２は、単数あるいは複数の装置で構成されており、複数のデータ収集エージェント１６からの収集データを受信し、データ集計サーバ群１３に都道府県名等で均等に分散するように送信する。収集データは、ファイル形式、あるいは、バイナリ形式として、データ集計サーバ群１３に送信される。
【００９２】
データ集計サーバ群１３は、単数あるいは複数のデータ集計サーバ６０で構成されており、各々のデータ集計サーバ６０が階層化ＤＢ１７から取得した階層Ｋｅｙ情報に基づいて集計処理を行ない、処理結果を中間統計情報ファイル５５として出力しつつ、データ結合サーバ１５に送信する。
【００９３】
データ結合サーバ１５は、データ集計サーバ群１３から集計データを受信すると、集計データを統計ＤＢ１８に登録する。また、集計データを一つのファイルに結合し、統計情報ファイル５６として出力することも可能である。集計した統計データは、中間統計情報も含め、クライアントＰＣ１９のＷｅｂブラウザよりＧＵＩサーバ１５経由で確認することが可能である。
【００９４】
データ集計サーバ群１３は、図１７に示されるように、単数あるいは複数のデータ集計サーバ３０が並列配置された構成であり、同一階層のデータ集計を分散して処理する。また、このデータ集計サーバ群１３は、ＳＷ２０を介して、二つ以上の群が直列配置しており、階層単位に集計が可能な多段構成である。なお、全てのデータ収集サーバ１２と全てのデータ集計サーバが階層化ＤＢ１７に接続可能な構成をとる。データ集計サーバ群１３における各階層のデータ集計サーバ群１３、それに属するデータ集計サーバ６０、階層化ＤＢの機能と役割りについては、入力元が異なっているほかは、第一の実施形態の図２により説明したものと同様である。
【００９５】
データ収集サーバ１２は、図１８に示されるように、機能部として、データ入力部２５と、データ識別部２８と、データ出力部２６と、データ収集サーバ間同期部２７からなる。
【００９６】
データ入力部２５は、データ受信機能部１００と、受信データ待合せ機能部１０１を具備している。データ受信機能部１００は、データ収集エージェント１６からのデータを受信すると、受信データ待合せ機能部１０１からの指示を受けるまでキューに保持し、待機する。そして、受信データ待合せ機能部１０１は、入力源からのデータが全て受信済か否かを判定する。この場合の入力源とは単数あるいは複数のデータ収集エージェント１６となる。また、受信データ待合せ機能部１０１は入力源の数を保持し、全ての入力源から階層化データを受信するまで処理を進めないようにする。このようにして、一部の入力源からのデータ受信が遅れた場合には、受信データ待合せ機能部１０１が処理を進めないことにより、受信データを取りこぼしてしまうリスクを回避する。
【００９７】
ただし、一部の入力源が障害等により、データ受信機能部１００が全ての入力源からデータを受信する事が不可能な状態が長く続く場合がある。そのため、タイムアウト時間を設けて、受信データ待合せ機能部１０１がタイムアウト時間を経過した、と判定した場合、受信データ待合せ機能部１０１は、データ受信機能部１００にデータ識別部２８へ収集データを送るよう指示する。
【００９８】
データ識別部２８は、階層化データ作成機能部１０６を具備する。階層化データ作成機能部１０６は、データ受信機能部１００から受け取ったデータを階層化ＤＢ１７の階層構造情報と照合し、それをもとに階層化データを作成する。階層構造情報の例は、後述する。
【００９９】
階層化データ作成機能部１０６は収集データ３０２５から主従関係にあるデータを抽出し、その抽出データから階層化ＤＢ１７の階層構造情報３０２４を照合し、上位階層となるキー要素を収集データに追加することで階層単位に集計可能な階層化データ３０２６を作成する。階層化データ３０２６の作成例は、後述する。そして、階層化データ作成機能部１０６は、作成した階層化データをデータ出力部２６へ送る。
【０１００】
データ出力部２６は、データ分散送信機能部１０２を具備する。データ分散送信機能部１０２は、収集データのｎ−１階層Ｋｅｙをできるだけ均等に分散され、かつ、同一の値のｎ−１階層Ｋｅｙを持つ階層データを、できるだけ同一の集計サーバに分配するようなアルゴリズムを持った関数（ｎ−１階層Ｋｅｙの値を入力とするハッシュ関数）に代入し、その値より送信先のデータ集計サーバ６０を決定し、送信する機能部である。なお、データ分散送信機能部１０２は、データ収集サーバ間同期部２７からの送信指示を受けるまで送信するデータをキューに保持し、送信を待機する。
【０１０１】
これは、並列に同一階層のデータを集計している他のデータ集計サーバ３０と集計した階層化データの送信タイミングを合わせるためである。階層化データの送信タイミングの同期をとることにより送信する階層化データの追い越しによるデータの欠落や受信遅延等を防ぐことが可能である。
【０１０２】
データ収集サーバ間同期部２７は、データ受信完了通知機能部１０３と、タイマー機能部１０４と、データ受信状況管理機能部１０５を具備する。データ受信完了通知機能部１０３は、データ受信機能部１００からのデータ受信完了通知を受けて、並列に動作する他のデータ収集サーバ１２へデータ受信完了通知を同一階層の他のノードに対して通知する機能部である。タイマー機能部１０４は、データ受信完了通知機能部１０３が同報してからの経過時間を計測しており、既定のタイムアウト時間を経過した場合にデータ受信状況管理機能部１０５へタイムアウト通知する機能部である。
【０１０３】
データ受信状況管理機能部１０５は、並列に動作する他のデータ収集サーバ１２からのデータ受信完了通知を受信し、全てのデータ収集サーバ１２がデータ受信を完了したか否かを監視する。全てのデータ収集サーバ１２がデータ受信を完了した、あるいはタイマー機能部１０４からタイムアウト通知を受け取った場合にデータ分散送信機能部１０２へ収集データを送信するよう指示する。
【０１０４】
本実施形態に係るデータ集計サーバ６０は、図１９に示されるように、第一の実施形態のデータ集計サーバ３０と同様に、機能部として、データ入力部６１と、階層化データ識別部６２と、集計処理部６３と、データ出力部６４と、集計処理間同期部６５からなり、各々の機能と構成も、第一の実施形態のデータ集計サーバ３０と全く同様である。
【０１０５】
本実施形態に係るデータ結合サーバ４は、図２０に示されるように、第一の実施形態のデータ結合サーバ４と同様に、機能部として、データ入力部７０と、データ結合部７１と、データ出力部７２からなり、各々の機能と構成も、第一の実施形態のデータ結合サーバ４と全く同様である。
【０１０６】
ＧＵＩサーバ１５は、図２１に示されるように、機能部として、入出力部８０と、データアクセス部８１と、業務管理部８２からなる。
【０１０７】
入出力部８０は、入力インタフェース機能部５００と、出力インタフェース機能部５０１を具備する。入力インタフェース機能部５００は、オペレータのマウス、キーボード、タッチデバイス等の操作による入力情報を制御する機能部である。出力インタフェース機能部５０１は、入力情報に応じた出力情報をオペレータのブラウザに送信する機能部である。
【０１０８】
データアクセス部８１は、統計ＤＢ検索機能部５０２と統計情報ファイル検索機能部５０３を具備する。統計ＤＢ検索機能部５０２は、入力インタフェース機能部５００から受け渡されたオペレータの検索条件に基づいてデータ結合サーバ１４の統計ＤＢ１８を検索し、取得した統計データを出力インタフェース機能部５０１へ受け渡す。統計情報ファイル検索機能部５０３は、入力インタフェース機能部５００から受け渡されたオペレータの検索条件に基づいてデータ結合サーバ１４の統計情報ファイル５６、あるいはデータ集計サーバ６０の中間統計情報ファイル５５を取得し、統計データとして、出力インタフェース機能部５０１へ受け渡す。
【０１０９】
業務管理部８２は、ユーザ管理機能部５０５と、ログイン管理機能部５０６を具備する。ユーザ管理機能部５０５は、オペレータがＧＵＩにログインする際のユーザアカウントを管理する機能であり、ユーザアカウントの登録、変更、削除、ログイン認証、アクセス権限管理等がある。ログイン管理機能部５０６は、オペレータがログインした際のログイン状態やセッションＩＤを管理する機能部である。ユーザアカウント管理機能部５０５、ログイン管理機能部５０６は、共にＧＵＩサーバ内の管理用ＤＢ８３によりデータを管理する。
【０１１０】
データ収集エージェント１６は、図２２に示されるように、データ収集機能部１１０と、データ変換機能部１１１と、データ送信機能部１１２からなる。
【０１１１】
データ収集機能部１１０は、市町村の運営するＷｅｂサーバ１１内で繰り返し、例えば、定期的に掲示板やＳＮＳ等を監視し、災害時の支援や救助依頼、負傷者の数等を集計する機能部である。
【０１１２】
データ変換機能部１１１は、市町村の運営するＷｅｂサーバ１１毎のＯＳやＤＢ等のプラットフォームのデータフォーマットの差分を吸収し、データ収集サーバ１２へ送信するための統一したデータフォーマットに変換する機能部である。データ送信機能部１１２は、事前に宛先が設定されたデータ収集サーバ１２へ収集データを送信する機能部である。
【０１１３】
第二の実施形態のデータ集計サーバ６０のハードウェア構成は、図６により説明した第一の実施形態のデータ集計サーバ３０のハードウェア構成と同様である。プログラム構成も同じものでよい。
【０１１４】
また、第二の実施形態のデータ結合サーバ１４のハードウェア構成は、図６により説明したデータ集計サーバ３０のハードウェア構成と同様である。プログラム構成も同じものでよい。
【０１１５】
データ収集サーバ１２のハードウェア構成は、図６により説明したデータ集計サーバ３０のハードウェア構成と同じもので実現することができる。また、プログラムとして、データ入力プログラムと、データ識別プログラムと、データ出力プログラムと、データ収集サーバ間同期プログラムがインストールされ、それぞれ、図１８に示したデータ入力部２５と、データ識別部２８と、データ出力部２６と、データ収集サーバ間同期部２７の機能を実行する。
【０１１６】
ＧＵＩサーバ１５のハードウェア構成は、図６により説明したデータ集計サーバ３０のハードウェア構成と同じもので実現することができる。また、プログラムとして、入出力プログラム８０と、データアクセスプログラム８１と、業務管理プログラムがインストールされ、それぞれ、図２１に示した入出力部８０と、データアクセス部８１と、業務管理部８２の機能を実行する。
【０１１７】
市町村Ｗｅｂサーバ１１のハードウェア構成は、図６により説明したデータ集計サーバ３０のハードウェア構成と同じもので実現することができる。また、プログラムとしては、データ収集エージェントプログラムをインストールすることにより、データ収集エージェント１６の機能を実行する。データ収集エージェントプログラムは、サブルーチンとして、データ収集機能プログラムと、データ変換機能プログラムと、データ送信機能プログラムを有し、それぞれ、データ収集機能部１１０と、データ変換機能部１１１と、データ送信機能部１１２の機能を実行する。
【０１１８】
次に、図２３ないし図２８を用いて第二の実施形態のデータ集計システムに用いられるデータ構造について説明する。
図２３は、第二の実施形態に係る階層構造情報の一例である。
図２４は、第二の実施形態に係る階層化テーブルを示す図である。
図２５は、第二の実施形態に係る統計テーブルを示す図である。
図２６は、ユーザ管理テーブルとログイン管理テーブルを示す図である。
図２７は、第二の実施形態に係る中間統計情報ファイルを示す図である。
図２８は、第二の実施形態に係る統計情報ファイルを示す図である。
【０１１９】
本実施形態の階層構造情報は、例えば、主従関係にあるデータを、図２３（ａ）に示されるように、ツリー構造で表現し、それをＤＢに登録したものである。これを、テーブル形式で表現すると、図２３（ｂ）に示されるようになる。
【０１２０】
階層化テーブル１７０は、階層化ＤＢ１７に格納されているテーブルであり、各データ集計サーバごとに、集計Ｋｅｙに関する情報、ファイルＩＯの情報を示すテーブルであり、図２４に示されように、Ｓｅｒｖｅｒ識別子１７０ａと、集計Ｋｅｙ１７０ｂと、次集計Ｋｅｙ１７０ｃと、出力Ｆｌｇ１７０ｄの各フィールドを有する。
【０１２１】
各々のフィールドの意義は、第一の実施形態の図８に示した階層化テーブル５０と同様である。
【０１２２】
統計テーブル１８０は、統計ＤＢ１８に格納されている集計結果を格納するテーブルであり、本実施形態の例では、図２５に示されるように、データ時刻１８０ａ、都道府県８０ｂ、支援依頼数１８０ｃ、救助依頼数１８０ｃ、負傷者数１８０ｄの各フィールドを有する。これは、データ時刻１８０ａのデータ時刻毎に、都道府県８０ｂの値の都道府県をキーに集計した支援依頼数と、救助依頼数と、負傷者数が、それぞれ支援依頼数１８０ｃ、救助依頼数１８０ｃ、負傷者数１８０ｄに格納されていることを示している。
【０１２３】
ユーザ管理用テーブル８４は、管理用ＤＢ８３に格納されているユーザ管理のためのテーブルであり、図２６（ａ）に示されるように、ユーザアカウント８４ａ、パスワード８４ｂ、アクセス範囲８５ｃの各フィールドを有する。このテーブルは、ユーザアカウント８４ａに記載されたユーザアカウントのユーザのパスワードと、アクセス範囲を管理するものである。アクセス範囲８５ｃの値が「ＡＬＬ」の場合には、全てのエリアの統計情報にアクセスできることを表し、特定のエリアのみのアクセス権限の場合は、そのエリアをカンマ区切りで記載する。
【０１２４】
ログイン管理テーブル８５は、管理用ＤＢ８３に格納されているユーザログインの情報と状態を示すテーブルであり、図２６（ｂ）に示されるように、ユーザアカウント８５ａ、セッションＩＤ８５ｂ、ログイン状態８５ｃの各フィールドを有する。このテーブルは、ユーザアカウント８４ａに記載されたユーザアカウントのユーザのセッションＩＤと、ログイン状態を格納するものである。
【０１２５】
中間統計情報ファイル５５は、各階層のデータ集計サーバで中間結果として参照するときに出力されるファイルであり、例えば、集計対象日時の情報をファイル名に付与したＣＳＶ形式のファイルとして、実現することができる。例えば、中間統計情報ファイル５５は、図２７に示したうように、該当集計時刻の区（ｗａｒｄ）と、区をキーに集計した支援依頼数（ａｉｄＲｅｑ）と、救助依頼数（ｒｅｓｃｕｅＲｅｑ）と、負傷者数（ｉｎｊｕｒｅｄＣｎｔ）が記載される。なお、１行目には列名等のヘッダー情報が付与される。
【０１２６】
統計情報ファイル５６は、統計テーブル１８０をファイル形式で出力したファイルであり、例えば、集計対象日時の情報をファイル名に付与したＣＳＶ形式のファイルである。例えば、図２８に示されるように、該当集計時刻の都道府県と、都道府県をキーに集計した支援依頼数（ａｉｄＲｅｑ）と、救助依頼数（ｒｅｓｃｕｅＲｅｑ）と、負傷者数（ｉｎｊｕｒｅｄＣｎｔ）が記載される。なお、１行目には列名等のヘッダー情報が付与される。
【０１２７】
次に、図２９ないし図３９を用いて第二の実施形態に係るデータ集計システムの処理について説明する。
図２９は、データを収集し、集計結果を統計情報ファイル、及び統計ＤＢへ登録するまでの処理を示すシーケンス図である。
図３０は、ユーザがＧＵＩサーバを介して、ログイン、情報表示、ログアウトを実施する際の処理を示すシーケンス図である。
図３１は、データ収集エージェントの処理を示すフローチャートである。
図３２は、データ収集サーバの処理を示すフローチャートである。
図３３は、第二の実施形態に係るデータ収集サーバの処理の例を示す図である。
図３４は、第二の実施形態に係るデータ集計サーバの処理を示すフローチャートである。
図３５は、第二の実施形態に係るデータ集計サーバの処理の例を示す図である。
図３６は、第二の実施形態に係るデータ結合サーバの処理を示すフローチャートである。
図３７は、ＧＵIサーバのログイン処理を示すフローチャートである。
図３８は、第二の実施形態に係るＧＵIサーバの情報表示処理を示すフローチャートである。
図３９は、第二の実施形態に係るＧＵIサーバのログアウト処理を示すフローチャートである。
【０１２８】
先ず、図２９によりデータを収集し、集計結果を統計情報ファイル、及び統計ＤＢへ登録するまでの処理を説明する。
【０１２９】
データ収集エージェント１６が収集データをデータ収集サーバ１２へ送信する（Ｓ６５０）。そして、データ収集サーバ１２が収集データから階層化データを作成し（Ｓ６５１）、送信する（Ｓ６５２）。
【０１３０】
次に、収集データを受信したｎ−１階層のデータ集計サーバ６０は、データ集計処理を行ない（Ｓ６５３）、集計したデータを中間統計情報ファイル５５として出力し（Ｓ６５４）、ｎ−１階層集計データをｎ−２階層のデータ集計サーバ６０へ送信する（Ｓ６５４）。このデータ集計サーバ６０からデータ集計サーバ６０への集計データの集計処理、及び送信は１階層のデータ集計サーバ６０まで連続して行なわれる。
【０１３１】
そして、１階層のデータ集計サーバ６０は、データ結合サーバ１４に１階層集計データを送信する（Ｓ６５６）。データ結合サーバ４は、１階層データ集計サーバ３０から受信した１階層集計データを結合処理し（Ｓ６５７）、結合データを統計ＤＢ１８へ格納し（Ｓ６５８）、統計情報ファイルを出力する（Ｓ６５９）。
【０１３２】
次に、図３０によりユーザがＧＵＩサーバを介して、ログイン、情報表示、ログアウトを実施する際の処理について説明する。  
Ｓ６７０〜Ｓ６７２は、ログイン操作の処理シーケンスである。
【０１３３】
ログイン操作の処理シーケンスでは、先ず、オペレータがクライアントＰＣ１９で実行されているＷｅｂブラウザよりログイン操作を実施する（Ｓ６７０）、そして、ＧＵIサーバ１５は、ログイン処理を実施し（Ｓ６７１）、その結果によりクライアントＰＣ１９に対してログイン応答する（Ｓ６７２）。
【０１３４】
Ｓ６７３〜Ｓ６７８は、統計情報表示の処理シーケンスである。  
統計情報表示の処理シーケンスでは、先ず、オペレータがクライアントＰＣ１９で実行されているＷｅｂブラウザより統計情報表示操作を実施して、統計情報出力要求を行う（Ｓ６７３）。そして、ＧＵIサーバ１５は、ユーザのアクセス権限を確認し（Ｓ６７４）、データ結合サーバ１４へ統計情報取得要求を実施する（Ｓ６７５）。データ結合サーバ１４は、ＧＵＩサーバ１５からの検索条件に基づいて統計ＤＢ１８を検索し（Ｓ６７６）、取得した統計情報をＧＵＩサーバ１５へ送信する（Ｓ６７７）。ＧＵＩサーバ１５は、受取った統計情報を統計情報出力応答とてして、クライアントＰＣ１９に送信する（Ｓ６７８）。
【０１３５】
Ｓ６７９〜Ｓ６８５は、中間統計情報表示の処理シーケンスである。  
中間統計情報表示の処理シーケンスでは、先ず、オペレータがクライアントＰＣ１９で実行されているＷｅｂブラウザより、中間統計情報表示操作を実施し中間統計情報表示要求を行う（Ｓ６７９）。ＧＵIサーバ１５は、ユーザのアクセス権限を確認し（Ｓ６８０）、検索ｋｅｙに関して、階層データを次階層に分配するときに用いた関数（ハッシュ関数）に代入し（Ｓ６８１）、その算出値から、該当の中間統計情報ファイル５５がどのデータ集計サーバ６０に格納されているかを特定し、該当のデータ集計サーバ６０に対して中間統計情報ファイル取得要求を実施する（Ｓ６８２）。中間統計情報ファイル取得要求を受けた該当のデータ収集サーバ６０は、ＧＵＩサーバ１５からの検索条件に基づいて中間統計情報ファイル５５を検索し（Ｓ６８３）、取得した中間統計情報ファイル５５をＧＵＩサーバ１５へ送信する（Ｓ６８４）。ＧＵＩサーバ１５は、受取った中間統計情報を中間統計情報出力応答とてして、クライアントＰＣ１９に送信する（Ｓ６８５）。
【０１３６】
Ｓ６８６〜Ｓ６８８は、ログアウト操作の処理シーケンスである。  
ログアウト操作の処理シーケンスでは、先ず、オペレータがＷｅｂブラウザよりログアウト操作を実施し、ＧＵIサーバ１５に対してログアウト要求を行う（Ｓ６８７）。これを受けたＧＵIサーバ１５は、ログアウト処理を実施し（Ｓ６８７）、その結果によりクライアントＰＣ１９に対してログアウト応答する（Ｓ６８８）。
【０１３７】
次に、図３１によりデータ収集エージェントの処理について説明する。  
データ収集エージェント１６は、掲示板やＳＮＳ等から災害時の支援や救助依頼、負傷者の数を集計する（Ｓ７４０）。そして、統一データフォーマットへの変換処理を実施し（Ｓ７４１）、事前に宛先が設定されたデータ収集サーバ１２に対して収集データを送信する（Ｓ７４２）。
【０１３８】
次に、図３２、図３３によりデータ収集サーバの処理について説明する。  
データ入力部２５のデータ受信機能部１００は、市町村Ｗｅｂサーバ１１のデータ収集エージェント１６より、収集データを受信し（Ｓ７５０）、キューに格納する。そして、受信データ待合せ機能部１０１が、全てのデータ収集エージェント１６から収集データを受信済と判定した場合（Ｓ７５１：Ｙｅｓ）、Ｓ７５４へ処理を進める。
【０１３９】
一方、受信データ待合せ機能部１０１が全てのデータ収集エージェント１６から収集データを受信済ではないと判定した場合（Ｓ７５１：Ｎｏ）、Ｓ７５２へ処理を進める。
【０１４０】
次に、受信データ待合せ機能部１０１は、データ受信機能部１００が１件目の収集データを受信してから、既定時間を超過していると判定した場合（Ｓ７５２：Ｙｅｓ）、全てのデータ収集エージェント１６からの収集データ受信を待たずにＳ７５４へ処理を進める。
【０１４１】
一方、受信データ待合せ機能部１０１はデータ受信機能部１００が１件目の収集データを受信してから、既定時間を超過していない場合（Ｓ７５２：Ｎｏ）、Ｓ７５３へ処理を進める。
【０１４２】
次に、受信データ待合せ機能部１０１は、既定時間分のｓｌｅｅｐ処理を実施し（Ｓ７５３）、再度Ｓ７５０から処理を実施する。
【０１４３】
Ｓ７５１がＹｅｓ、Ｓ７５２がＹｅｓの場合、データ受信完了通知機能部１０３がデータ受信完了通知を並列に配置する他のデータ収集サーバ１２に向けてマルチキャスト送信する（Ｓ７５４）。
【０１４４】
データ収集サーバ間同期部２７のデータ受信状況管理機能部１０５は、メモリキャッシュ（図示せず）より、他のデータ収集サーバ１２のデータ受信完了通知受信状況を読み出す（Ｓ７５５）。
【０１４５】
次に、データ受信状況管理機能部１０５が受信完了通知を全てのデータ収集サーバ１２より受信済と判定した場合（Ｓ７５６：Ｙｅｓ）、Ｓ７６２へ処理を進める。
【０１４６】
一方、データ受信状況管理機能部１０５が受信完了通知を全てのデータ収集サーバ１２より受信済でないと判定した場合（Ｓ７５６：Ｎｏ）、Ｓ７５７に処理を進める。
【０１４７】
次に、タイマー機能部１０４の受信完了通知待合せタイマーが規定時間を超過している場合（Ｓ７５７：Ｙｅｓ）、全てのデータ収集サーバ１２からの受信完了通知を待たずにＳ７６２へ処理を進める。
【０１４８】
次に、タイマー機能部１０４の受信完了通知待合せタイマーが既定時間を超過していない場合（Ｓ７５７：Ｎｏ）、Ｓ７５８へ処理を進める。
【０１４９】
次に、データ受信状況管理機能部１０５は、既定時間分のｓｌｅｅｐ処理を実施し（Ｓ７５８）、再度Ｓ７５５から処理を実施する。
【０１５０】
Ｓ７５６がＹｅｓ、Ｓ７５７がＹｅｓの場合、データ階層識別部２８の階層化データ作成機能部１０６が、受信した収集データのレコード数分、Ｓ７６３、Ｓ７６４の順に繰り返し処理を実施する階層化データ作成ループ処理を行う（Ｓ７６２）。
【０１５１】
階層化データ作成ループ処理では、先ず、収集データをキューより１件読出し（Ｓ７６３）、階層化構造情報に基づいて階層化データを作成する（Ｓ７６４）。
【０１５２】
階層化データ作成ループ処理を抜けると、データ出力部２６のデータ分散送信機能部１０２は、収集データのｎ−１階層ｋｅｙを、できるだけ均等に分散され、かつ、同一の値のｎ−１階層を持つ階層データを、できるだけ同一の集計サーバに分配するようなアルゴリズムを持った関数（ｎ−１階層Ｋｅｙの値を入力とするハッシュ関数）関数に代入し、その算出値から送信先のデータ集計サーバ６０を設定する（Ｓ７５９）。
【０１５３】
次に、データ受信状況管理機能部１０５が、受信完了通知受信状況を初期化する（Ｓ７６０）。次に、データ分散送信機能部１０２が、収集データを階層化データとして、Ｓ７５９で設定したデータ集計サーバ６０へ送信する（Ｓ７６１）。
【０１５４】
次に、図３３を用いて図３２のＳ７６４のデータ収集サーバ１２で行なわれる階層データ作成処理について説明する。
【０１５５】
階層構造情報３０２４が、図３３（ａ）に示されるように、各識別子ごとに、市区町村組織のフィールドとして階層化されたデータであるとする。
【０１５６】
そして、収集データ３０２５が、図３３（ｂ）に示されるように、時刻データ（Ｔｉｍｅ）と、支援依頼者（ａｉｄＲｅｑ）、救助依頼者（ｒｅｓｃｕｅＲｅｑ）からなるデータであるとする。
【０１５７】
このとき、図３３（ｃ）に示されるように、各レコードの階層構造情報３０２４に従い、自治会（ａｓｓｏｃｉａｔｉｏｎ）、市区町村防災課（ｗａｒｄ）、都道府県防災課（ｐｒｅｆｅｃｔｕｒｅ）のフィールドが挿入される。
【０１５８】
次に、図３４、図３５によりデータ集計サーバの処理について説明する。  
本実施形態のデータ集計サーバ６０の処理は、図１３に示した第一の実施形態のデータ集計サーバ３０の処理と同様である。
図３４のＳ７７７のデータ集計サーバ３０で行なわれる集計処理の具体例は、図３５に示されるようになる。
【０１５９】
ここで、図３５（ａ）に示されるように、集計Ｋｅｙは、都道府県防災課、次集計Ｋｅｙは、市区町村防災課であるとする。この例では、１レコード目と、２レコード目の都道府県防災課（ｐｒｅｆｅｃｔｕｒｅ）が同一の値の「Kanagawa」なので、図３５（ｂ）に示されるように、支援依頼者（ａｉｄＲｅｑ）、救助依頼者（ｒｅｓｃｕｅＲｅｑ）の値が集計処理される。
【０１６０】
次に、図３６によりデータ結合サーバ１４の処理について説明する。  
本実施形態のデータ集計サーバ６０の処理は、図１５に示した第一の実施形態のデータ結合サーバ４の処理と同様である。
【０１６１】
次に、図３７によりＧＵＩサーバ１５のログイン処理について説明する。  
先ず、入出力部８０の入力インタフェース機能部５００は、オペレータがクライアントＰＣ１９のＷｅｂブラウザより入力したログイン要求とともにユーザアカウント、パスワードを受け付け（Ｓ８４０）、業務管理部８２のユーザ管理機能部５０５が、ユーザアカウントとパスワードで管理用ＤＢ８３を検索する（Ｓ８４１）。
【０１６２】
次に、ユーザ管理機能部５０５は検索結果が「該当データ無し」、又は検索にヒットするが、該当ユーザアカウントのログイン状態が「ログイン中」と判定した場合（Ｓ８４２：Ｙｅｓ）、応答結果に「エラー」を設定し（Ｓ８４３）、Ｓ８４６へ処理を進める。
【０１６３】
一方、ユーザ管理機能部５０５は検索にヒットし、かつ、該当ユーザアカウントのログイン状態が「ログイン中」ではないと判定した場合（Ｓ８４２：Ｎｏ）、Ｓ８４４へ処理を進める。
【０１６４】
次に、業務管理部８２のログイン管理機能部５０６は該当ユーザアカウントのセッションＩＤとログイン状態を「ログイン中」として、管理用ＤＢ８３へ登録する（Ｓ８４４）。
【０１６５】
次に、入出力部８０の出力インタフェース機能部５０１は、応答結果に「ログイン成功」を設定する（Ｓ８４５）。
【０１６６】
次に、出力インタフェース機能部５０１は、応答結果をクライアントＰＣ１９のＷｅｂブラウザへ出力し（Ｓ８４６）、処理を終了する。
【０１６７】
次に、図３８によりＧＵＩサーバ１５の情報表示処理について説明する。  
入出力部８０の入力インタフェース機能部５００は、オペレータがクライアントＰＣ１９のＷｅｂブラウザより入力した情報表示要求とともに検索日時、検索エリアとＷｅｂブラウザが付与するセッションＩＤを受け付け（Ｓ８５０）、ユーザ管理機能部５０５が該当ユーザのアクセス範囲を管理用ＤＢ８３から取得する（Ｓ８５１）。
【０１６８】
次に、入力インタフェース機能部５００は、取得対象が統計情報ではないと判定した場合（Ｓ８５２：Ｎｏ）、Ｓ８５８へ処理を進める。
【０１６９】
一方、入力インタフェース機能部５００は、取得対象が統計情報であると判定した場合（Ｓ８５２：Ｙｅｓ）、Ｓ８５３へ処理を進める。
【０１７０】
次に、ユーザ管理機能部５０５は、検索エリアが該当ユーザのアクセス範囲に含まれてないと判定した場合（Ｓ８５３：Ｙｅｓ）、応答結果に「アクセス権エラー」を設定し（Ｓ８５５）、Ｓ８５８へ処理を進める。
【０１７１】
一方、ユーザ管理機能部５０５は検索エリアが該当ユーザのアクセス範囲に含まれていると判定した場合（Ｓ８５３：Ｎｏ）、統計ＤＢ検索機能部５０２が統計ＤＢ１８より検索日時と検索エリアを条件に検索し（Ｓ８５６）、データアクセス部８１の統計ＤＢ検索機能部５０２が応答結果としてその検索結果を設定する（Ｓ８５７）。
【０１７２】
Ｓ８５２がＹｅｓの場合、入力インタフェース機能部５００は、取得対象が中間統計情報ファイル５５ではないと判定した場合（Ｓ８５８：Ｎｏ）、Ｓ８６４へ処理を進める。
【０１７３】
一方、入力インタフェース機能部５００は、取得対象が中間統計情報ファイル５５であると判定した場合（Ｓ８５８：Ｙｅｓ）、Ｓ８５９へ処理を進める。
【０１７４】
次に、業務管理部８２のユーザ管理機能部５０５は、検索エリアが該当ユーザのアクセス範囲に含まれてないと判定した場合（Ｓ８５９：Ｙｅｓ）、応答結果に「アクセス権エラー」を設定し（Ｓ８６０）、Ｓ８６４へ処理を進める。
【０１７５】
一方、ユーザ管理機能部５０５は、検索エリアが該当ユーザのアクセス範囲に含まれていると判定した場合（Ｓ８５９：Ｎｏ）、統計情報ファイル検索機能部５０３が検索ｋｅｙに関して、階層データを次階層に分配するときに用いた関数（ハッシュ関数）に代入しその算出値から中間統計情報ファイル５５を保持しているデータ集計サーバ６０を特定し、取得先データ集計サーバとして設定する（Ｓ８６１）。
【０１７６】
次に、統計情報ファイル検索機能部５０３が取得先データ集計サーバへ中間統計情報ファイル５５を取得する（Ｓ８６２）。
【０１７７】
次に、データアクセス部８１の統計情報ファイル検索機能部５０３が、中間統計情報ファイル５５を読み込み、応答結果として設定する（Ｓ８６３）。そして、データアクセス部８１の出力インタフェース機能部５０１が応答結果をＷｅｂブラウザへ出力し、処理を終了する。
【０１７８】
次に、図３９を用いてＧＵＩサーバ１５のログアウト処理について説明する。
【０１７９】
入出力部８０の入力インタフェース機能部５００は、オペレータがクライアントＰＣ１９のＷｅｂブラウザより入力したログアウト要求とともにＷｅｂブラウザが付与するセッションＩＤを受け付け（Ｓ８７０）、ログイン管理機能部５０６が該当ユーザアカウントのログイン情報を削除する（Ｓ８７１）。
【０１８０】
次に、ログイン管理機能部５０６が応答結果として「ログアウト成功」を設定する（Ｓ８７２）。
【０１８１】
次に、出力インタフェース機能部５０１が応答結果をＷｅｂブラウザへ出力し（Ｓ８７３）、処理を終了する。
【０１８２】
次に、図４０を用いてＧＵＩサーバ１５の提供するユーザインタフェース画面について説明する。
図４０は、ＧＵＩサーバ１５の提供するユーザインタフェース画面の一例を示す図である。
【０１８３】
画面上部の日時（Ｄａｔｅ）入力欄９５、表示エリア（Ａｒｅａ）選択メニュー９６、表示項目（Ｉｔｅｍ）メニュー９７があり、ｓｅａｒｃｈボタン９４を、マウスなどのポインティングデバイスにより操作することにより、入力した日時とエリアを検索条件とした情報が表示される。表示項目は、ヒートマップ９１と、エリア別グラフ９２と、時系列グラフ９３であり、ヒートマップ９１は検索条件の期間とエリアの統計情報に基づいてヒートマップ（注目部分を色分けなどにより、強調した図表）として表示し、表示項目（Ｉｔｅｍ）メニュー９７により、支援依頼数（ａｉｄＲｅｑ）、救助依頼数（ｒｅｓｃｕｅＲｅｑ）、負傷者数（ｉｎｊｕｒｅｄＣｎｔ）それぞれについて、切り替えて表示可能である。
【０１８４】
エリア別グラフ９２は、検索条件の期間とエリアの統計情報に基づいて横棒グラフとして表示し、棒グラフ部分をマウスクリックすることにより、クリックしたエリアの時系列グラフ９３が表示される。時系列グラフ９３は、ヒートマップ９１と連動しており、時系列グラフ９３で予め設定されている閾値ライン９９を超えると、ヒートマップ９１上で対象エリアに吹き出し９８が表示される。
【符号の説明】
【０１８５】
１…モバイルコアネットワーク
２…Ｐａｃｋｅｔ解析装置
３…データ集計サーバ群
４…データ結合サーバ
５…階層化ＤＢ
６…統計ＤＢ
７…ＳＷ
１１…市町村の運営するＷｅｂサーバ
１２…データ収集サーバ
１３…データ集計サーバ群
１４…データ結合サーバ
１５…ＧＵＩサーバ
１６…データ収集エージェント
１７…階層化ＤＢ
１８…統計ＤＢ
１９…クライアントＰＣ
２０…ＳＷ
２１…Ｐａｃｋｅｔ受信部
２２…Ｐａｃｋｅｔ解析部
２３…データ出力部
２５…データ入力部
２６…データ出力部
２７…データ収集サーバ間同期部
２８…データ識別部
３０…データ集計サーバ
３１…データ入力部
３２…階層化データ識別部
３３…集計処理部
３４…データ出力部
３５…集計処理間同期部
４０…データ入力部
４１…データ結合部
４２…データ出力部
５１…統計情報ファイル
５２…中間統計情報ファイル
５５…中間統計情報ファイル
５６…統計情報ファイル
６０…データ集計サーバ
６１…データ入力部
６２…階層化データ識別部
６３…集計処理部
６４…データ出力部
６５…集計処理間同期部
７０…データ入力部
７１…データ結合部
７２…データ出力
８０…入出力部
８１…データアクセス部
８２…業務管理部
８３…管理用ＤＢ
８４…ユーザ管理テーブル
８５…ログイン管理テーブル
９０…ＧＵＩサーバ画面
９１…ヒートマップ
９２…エリア別グラフ
９３…時系列グラフ
９４…ｓｅａｒｃｈボタン
９５…日時（Ｄａｔｅ）入力欄
９６…表示エリア（Ａｒｅａ）選択メニュー
９７…表示項目（Ｉｔｅｍ）メニュー
９８…吹き出し
９９…閾値ライン
１００…データ受信機能部
１０１…受信データ待合せ機能部
１０２…データ分散送信機能部
１０３…データ受信完了通知機能部
１０４…タイマー機能部
１０５…データ受信状況管理機能部
１０６…階層化データ生成機能部
１１０…データ収集機能部
１１１…データ変換機能部
１１２…データ送信機能部
３００…階層化データ受信機能部
３０１…受信データ待合せ機能部
３０２…階層化データ集計キー識別機能部
３０３…キー単位集計機能部
３０４…送信先判別機能部
３０５…データ分散機能部
３０６…データ結合サーバ送信機能部
３０７…中間統計情報ファイル出力機能部
３０８…集計処理完了通知機能部
３０９…タイマー機能部
３１０…集計処理状況管理機能部
３５０…階層化データ受信機能部
３５１…受信データ待合せ機能部
３５２…階層化データ集計キー識別機能部
３５３…キー単位集計機能部
３５４…送信先判別機能部
３５５…データ分散送信機能部
３５６…データ結合サーバ送信機能部
３５７…中間統計情報ファイル出力機能部
３５８…集計処理完了通知機能部
３５９…タイマー機能部
３６０…集計処理状況管理機能部
４００…集計データ受信機能部
４０１…受信データ待合せ機能部
４０２…データ結合機能部
４０３…ＤＢ登録機能部
４０４…統計情報ファイル出力機能部
４５０…集計データ受信機能部
４５１…受信データ待合せ機能部
４５２…データ結合機能部
４５３…ＤＢ登録機能部
４５４…統計情報ファイル出力機能部
５００…入力インタフェース機能部
５０１…出力インタフェース機能部
５０２…統計ＤＢ検索機能部
５０３…統計情報ファイル検索機能部
５０５…ユーザ管理機能部
５０６…ログイン管理機能部
３０２１…階層情報
３０２２…階層化データ
３０２３…集計用データ
３０２４…階層構造情報
３０２５…収集データ
３０２６…階層化データ
【図１】
2017156996.tif 000003
【図２】
2017156996.tif 000004
【図３】
2017156996.tif 000005
【図４】
2017156996.tif 000006
【図５】
2017156996.tif 000007
【図６】
2017156996.tif 000008
【図７】
2017156996.tif 000009
【図８】
2017156996.tif 000010
【図９】
2017156996.tif 000011
【図１０】
2017156996.tif 000012
【図１１】
2017156996.tif 000013
【図１２】
2017156996.tif 000014
【図１３】
2017156996.tif 000015
【図１４Ａ】
2017156996.tif 000016
【図１４Ｂ】
2017156996.tif 000017
【図１５】
2017156996.tif 000018
【図１６】
2017156996.tif 000019
【図１７】
2017156996.tif 000020
【図１８】
2017156996.tif 000021
【図１９】
2017156996.tif 000022
【図２０】
2017156996.tif 000023
【図２１】
2017156996.tif 000024
【図２２】
2017156996.tif 000025
【図２３】
2017156996.tif 000026
【図２４】
2017156996.tif 000027
【図２５】
2017156996.tif 000028
【図２６】
2017156996.tif 000029
【図２７】
2017156996.tif 000030
【図２８】
2017156996.tif 000031
【図２９】
2017156996.tif 000032
【図３０】
2017156996.tif 000033
【図３１】
2017156996.tif 000034
【図３２】
2017156996.tif 000035
【図３３】
2017156996.tif 000036
【図３４】
2017156996.tif 000037
【図３５】
2017156996.tif 000038
【図３６】
2017156996.tif 000039
【図３７】
2017156996.tif 000040
【図３８】
2017156996.tif 000041
【図３９】
2017156996.tif 000042
【図４０】
2017156996.tif 000043