(57)【要約】【課題】  関連する一連の情報の待ち合わせを行い、特定の条件を満たすデータを出力する際に適切に集約して保持・蓄積することで、利用性や処理速度を向上させること。【解決手段】  本来関連する一連の情報が別々に到着するようなケースにおいて、データ入出力部３０１は、入力元の情報をもとに処理パターンを決定する。データ処理部３０５は、関連する情報の待ち合わせを行うための処理条件を個別で実装し、処理条件に即してデータの蓄積の制御を行い、一連のデータを集約して保持し、集計結果を出力する。また、データ処理部３０５は、不要となった一連のデータは一括で削除することを可能とする。 【選択図】  図３
2015049780.tif 000002
【特許請求の範囲】
【請求項１】
入力元に対して、処理条件パターン番号を予め記憶するパターン判断テーブルと、
処理条件パターン番号に対して、開始条件、終了条件と出力先、中間時点で集計処理を行うための中間条件と出力先、を記憶する処理条件リストと、
キー値に対して、集計対象値、完了フラグを記憶する中間データテーブルと、
処理部と
を備え、
前記処理部は、外部システムから、開始と終了の情報を有する一連のデータが別々に到着するケースにおいて、分割された各々の入力データを読み込み、
前記処理部は、前記入力データがどの入力元から送られてきたものかを判別し、
前記処理部は、前記パターン判断テーブルを参照し、前記入力データ及び前記入力元から、前記一連のデータを識別するためのキー値、処理を進める際の判断値、集計対象値、処理条件パターン番号を取得し、
前記処理部は、前記入力データから取得した前記キー値及び前記集計対象値、未出力に設定した完了フラグを、前記中間データテーブルに登録し、
前記処理部は、前記処理条件リストを参照し、前記判断値が終了条件又は中間条件を満たすとき、前記中間データテーブルから前記入力データの前記キー値と同一キー値のひとつ又は複数のレコードの集計対象値を集計した集計結果を計算する終了処理と、前記ひとつ又は複数のレコードの完了フラグを出力済に更新する完了フラグ編集処理と、前記キー値と前記集計結果を、前記処理条件リストを参照して得た出力先に出力する出力処理を行う
ことを特徴とする入力データ集約処理装置。
【請求項２】
請求項１に記載の入力データ集約処理装置において、
前記処理部は、判別対象及び対象値に対して、入力元を予め記憶する入力元判断リストを備え、
前記処理部は、前記入力元判断リストから、前記入力データに含まれる判別対象及び対象値の組み合わせに基づき、前記入力元を求めることを特徴とする入力データ集約処理装置。
【請求項３】
請求項１に記載の入力データ集約処理装置において、
前記パターン判断テーブルは、入力元毎に、前記入力データにおける何番目のデータをデータ登録時のキー値とするかを示すキーカラム、何番目のデータを処理を進める際の判断値とするかを示す判断カラム、何番目のデータを集計対象値とするかを示す集計対象カラム、処理条件パターン番号を対応して予め記憶し、
前記処理部は、前記パターン判断テーブルを参照し、前記入力元に基づき、前記キー値、前記判断値、前記集計対象値、前記処理条件パターン番号を取得することを特徴とする入力データ集約処理装置。
【請求項４】
請求項１に記載の入力データ集約処理装置において、
前記処理条件リストは、
処理条件パターン番号に対して、開始条件パターン番号、終了条件パターン番号、中間条件パターン番号を記憶する処理条件パターンテーブルと、
開始条件パターン番号に対して、開始条件を予め記憶する開始条件リストと、
終了条件パターン番号に対して、終了条件、出力先を予め記憶する終了条件リストと、
中間条件パターン番号に対して、中間条件、出力先を予め記憶する中間条件リストと、
を含み、
前記処理部は、前記処理条件パターン番号をもとに、前記処理条件パターンテーブルから求めた、開始条件パターン番号、終了条件パターン番号及び中間条件パターン番号に基づき、前記開始条件リスト、前記終了条件リスト及び前記中間条件リストを求め、前記判断値が、前記開始条件、前記終了条件又は前記中間条件を満たすかどうか判定することを特徴とする入力データ集約処理装置。
【請求項５】
請求項４に記載の入力データ集約処理装置において、
前記パターン判断テーブルと、前記処理条件パターンテーブルと、前記中間データテーブルとを含むデータストア部と、
前記処理部と、前記開始条件リストと、前記終了条件リストと、前記中間条件リストとを有する集約処理部と
を備えたことを特徴とする入力データ集約処理装置。
【請求項６】
請求項４に記載の入力データ集約処理装置において、
前記中間条件リストは、処理条件パターに対応して完了フラグ編集有無情報をさらに含み、
前記処理部は、前記完了フラグ編集有無情報が有りの場合は、前記完了フラグ編集処理を実行し、
前記処理部は、前記完了フラグ編集有無情報が無しの場合は、前記完了フラグ編集処理を実行しないことを特徴とする入力データ集約処理装置。
【請求項７】
請求項１に記載の入力データ集約処理装置において、
前記処理部は、
前記入力データのキー値と同一キー値のデータが前記中間データテーブルにすでに存在するかどうかを判断することで、現在扱っている前記入力データと同種のデータを過去に前記中間データテーブルに登録しているかどうかを判別することを特徴とする入力データ集約処理装置。
【請求項８】
請求項１に記載の入力データ集約処理装置において、
前記入力データが前記開始条件を満足する場合、又は、前記中間データテーブル内の同一キー値のレコードの完了フラグがすべて完了になってない場合、
前記処理部は、前記入力データのキー値と集計対象値を前記中間データテーブルに登録し、完了フラグを未出力に登録することを特徴とする入力データ集約処理装置。
【請求項９】
請求項１に記載の入力データ集約処理装置において、
前記処理条件パターンテーブルは、処理条件パターン番号に対応して待ち合わせ時間をさらに含み、
前記処理部は、前記待ち合わせ時間に基づき、同一キー値の後続データを受信するのを待ち合わせ、前記待ち合わせ時間を超過した場合、前記終了処理及び前記完了フラグ編集処理及び前記出力処理を実行することを特徴とする入力データ集約処理装置。
【請求項１０】
請求項１に記載の入力データ集約処理装置において、
キー値に対応して、中間データテーブルのレコードの番号、バージョンを記憶する状態管理テーブルをさらに備え、
前記処理部は、前記中間データテーブル内のレコードをキー毎にグループ化し、出力済みのレコードはバージョンをインクリメントすることを特徴とする入力データ集約処理装置。
【請求項１１】
請求項１に記載の入力データ集約処理装置において、
前記処理部は、前記中間データテーブルを参照し、完了フラグに基づき、出力済みとなったデータを一括で削除することを特徴とする入力データ集約処理装置。
【請求項１２】
入力データ集約処理システムであって、
入力元に対して、処理条件パターン番号を予め記憶するパターン判断テーブルと、
処理条件パターン番号に対して、開始条件、終了条件と出力先、中間時点で集計処理を行うための中間条件と出力先、を記憶する処理条件リストと、
キー値に対して、集計対象値、完了フラグを記憶する中間データテーブルと、
処理部を有する集約処理サーバと
を備え、
前記集約処理サーバの前記処理部は、外部システムから、開始と終了の情報を有する一連のデータが別々に到着するケースにおいて、分割された各々の入力データを読み込み、
前記処理部は、前記入力データがどの入力元から送られてきたものかを判別し、
前記処理部は、前記パターン判断テーブルを参照し、前記入力データ及び前記入力元から、前記一連のデータを識別するためのキー値、処理を進める際の判断値、集計対象値、処理条件パターン番号を取得し、
前記処理部は、前記入力データから取得した前記キー値及び前記集計対象値、未出力に設定した完了フラグを、前記中間データテーブルに登録し、
前記処理部は、前記処理条件リストを参照し、前記判断値が終了条件又は中間条件を満たすとき、前記中間データテーブルから前記入力データの前記キー値と同一キー値のひとつ又は複数のレコードの集計対象値を集計した集計結果を計算する終了処理と、前記ひとつ又は複数のレコードの完了フラグを出力済に更新する完了フラグ編集処理と、前記キー値と前記集計結果を、前記処理条件リストを参照して得た出力先に出力する出力処理を行う
ことを特徴とする入力データ集約処理システム。
【請求項１３】
請求項１２に記載の入力データ集約処理システムにおいて、
前記処理条件リストは、
処理条件パターン番号に対して、開始条件パターン番号、終了条件パターン番号、中間条件パターン番号を記憶する処理条件パターンテーブルと、
開始条件パターン番号に対して、開始条件を予め記憶する開始条件リストと、
終了条件パターン番号に対して、終了条件、出力先を予め記憶する終了条件リストと、
中間条件パターン番号に対して、中間条件、出力先を予め記憶する中間条件リストと、
を含み、
前記処理部は、前記処理条件パターン番号をもとに、前記処理条件パターンテーブルから求めた、開始条件パターン番号、終了条件パターン番号及び中間条件パターン番号に基づき、前記開始条件リスト、前記終了条件リスト及び前記中間条件リストを求め、前記判断値が、前記開始条件、前記終了条件又は前記中間条件を満たすかどうか判定することを特徴とする入力データ集約処理システム。
【請求項１４】
請求項１３に記載の入力データ集約処理システムにおいて、
前記パターン判断テーブルと、前記処理条件パターンテーブルと、前記中間データテーブルとを含むデータストアサーバと、
前記処理部と、前記開始条件リストと、前記終了条件リストと、前記中間条件リストとを有する集約処理サーバと
を備えたことを特徴とする入力データ集約処理システム。
【請求項１５】
入力データ集約処理装置における入力データ集約処理方法であって、
前記入力データ集約処理装置は、
入力元に対して、処理条件パターン番号を予め記憶するパターン判断テーブルと、
処理条件パターン番号に対して、開始条件、終了条件と出力先、中間時点で集計処理を行うための中間条件と出力先、を記憶する処理条件リストと、
キー値に対して、集計対象値、完了フラグを記憶する中間データテーブルと、
処理部と
を備え、
前記処理部は、外部システムから、開始と終了の情報を有する一連のデータが別々に到着するケースにおいて、分割された各々の入力データを読み込み、
前記処理部は、前記入力データがどの入力元から送られてきたものかを判別し、
前記処理部は、前記パターン判断テーブルを参照し、前記入力データ及び前記入力元から、前記一連のデータを識別するためのキー値、処理を進める際の判断値、集計対象値、処理条件パターン番号を取得し、
前記処理部は、前記入力データから取得した前記キー値及び前記集計対象値、未出力に設定した完了フラグを、前記中間データテーブルに登録し、
前記処理部は、前記処理条件リストを参照し、前記判断値が終了条件又は中間条件を満たすとき、前記中間データテーブルから前記入力データの前記キー値と同一キー値のひとつ又は複数のレコードの集計対象値を集計した集計結果を計算する終了処理と、前記ひとつ又は複数のレコードの完了フラグを出力済に更新する完了フラグ編集処理と、前記キー値と前記集計結果を、前記処理条件リストを参照して得た出力先に出力する出力処理を行う
ことを特徴とする入力データ集約処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力データ集約処理装置及びシステム及び方法に係り、特に、一連の入力データの集約及び出力処理を実行するための入力データ集約処理装置及びシステム及び方法に関する。
【背景技術】
【０００２】
複数の入力データに対し、特定のルールのもとに一連のデータを変換・分割・集約することは、さまざまなビジネスシーンにおいて必要となるであろう。このようなシーンで複数の形式・構造の異なるデータを収集し、変換・分割・集約などのデータ再構築を行い、後続が求める形式・構造でデータ出力を行う技術が検討されている。
【０００３】
本技術分野の背景技術として、特許文献１が挙げられる。
特許文献１には、通信事業者のサービスをユーザが利用した際に、通信の利用情報をニア・リアルタイムに取得し課金処理を行うために、セッションの利用情報ソースから受け取る１セッションあたりの利用情報レコードを、セッションの途中経過に逐次対応した部分利用情報レコードとして生成し出力することを特徴とする技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−３３５３５１号公報  特許第４１３１９０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述のような方法を用いた場合に、本来関連する開始と終了の情報を持つ一連のデータが別々に入力部に到着するようなケースにおいては、それらを独立して保持・蓄積するために情報の再利用性が低くなる場合があり、また、特定の条件を満たすデータを出力する際に、処理効率に影響を与えている場合があった。また、情報の取捨選択を行うことなく入力情報を蓄積していくため、不必要にリソースを消費する場合があることが課題であった。これに加えて、現在のビッグデータビジネスにおいても、一旦すべてのデータを蓄積してから使い方や活用方法を模索するといった利用シーンが多く想定され、大量データから有意な情報を抽出する上で、リソースを不必要に利用している場合があることが課題であった。
【０００６】
本発明は、以上の点に鑑み、関連する一連の情報の待ち合わせを行い、特定の条件を満たすデータを出力する際に適切に集約して保持・蓄積することで、利用性や処理速度を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の解決手段によると、
入力元に対して、処理条件パターン番号を予め記憶するパターン判断テーブルと、
処理条件パターン番号に対して、開始条件、終了条件と出力先、中間時点で集計処理を行うための中間条件と出力先、を記憶する処理条件リストと、
キー値に対して、集計対象値、完了フラグを記憶する中間データテーブルと、
処理部と
を備え、
前記処理部は、外部システムから、開始と終了の情報を有する一連のデータが別々に到着するケースにおいて、分割された各々の入力データを読み込み、
前記処理部は、前記入力データがどの入力元から送られてきたものかを判別し、
前記処理部は、前記パターン判断テーブルを参照し、前記入力データ及び前記入力元から、前記一連のデータを識別するためのキー値、処理を進める際の判断値、集計対象値、処理条件パターン番号を取得し、
前記処理部は、前記入力データから取得した前記キー値及び前記集計対象値、未出力に設定した完了フラグを、前記中間データテーブルに登録し、
前記処理部は、前記処理条件リストを参照し、前記判断値が終了条件又は中間条件を満たすとき、前記中間データテーブルから前記入力データの前記キー値と同一キー値のひとつ又は複数のレコードの集計対象値を集計した集計結果を計算する終了処理と、前記ひとつ又は複数のレコードの完了フラグを出力済に更新する完了フラグ編集処理と、前記キー値と前記集計結果を、前記処理条件リストを参照して得た出力先に出力する出力処理を行う
ことを特徴とする入力データ集約処理装置が提供される。
【０００８】
本発明の第２の解決手段によると、
入力データ集約処理システムであって、
入力元に対して、処理条件パターン番号を予め記憶するパターン判断テーブルと、
処理条件パターン番号に対して、開始条件、終了条件と出力先、中間時点で集計処理を行うための中間条件と出力先、を記憶する処理条件リストと、
キー値に対して、集計対象値、完了フラグを記憶する中間データテーブルと、
処理部を有する集約処理サーバと
を備え、
前記集約処理サーバの前記処理部は、外部システムから、開始と終了の情報を有する一連のデータが別々に到着するケースにおいて、分割された各々の入力データを読み込み、
前記処理部は、前記入力データがどの入力元から送られてきたものかを判別し、
前記処理部は、前記パターン判断テーブルを参照し、前記入力データ及び前記入力元から、前記一連のデータを識別するためのキー値、処理を進める際の判断値、集計対象値、処理条件パターン番号を取得し、
前記処理部は、前記入力データから取得した前記キー値及び前記集計対象値、未出力に設定した完了フラグを、前記中間データテーブルに登録し、
前記処理部は、前記処理条件リストを参照し、前記判断値が終了条件又は中間条件を満たすとき、前記中間データテーブルから前記入力データの前記キー値と同一キー値のひとつ又は複数のレコードの集計対象値を集計した集計結果を計算する終了処理と、前記ひとつ又は複数のレコードの完了フラグを出力済に更新する完了フラグ編集処理と、前記キー値と前記集計結果を、前記処理条件リストを参照して得た出力先に出力する出力処理を行う
ことを特徴とする入力データ集約処理システムが提供される。
【０００９】
本発明の第３の解決手段によると、
入力データ集約処理装置における入力データ集約処理方法であって、
前記入力データ集約処理装置は、
入力元に対して、処理条件パターン番号を予め記憶するパターン判断テーブルと、
処理条件パターン番号に対して、開始条件、終了条件と出力先、中間時点で集計処理を行うための中間条件と出力先、を記憶する処理条件リストと、
キー値に対して、集計対象値、完了フラグを記憶する中間データテーブルと、
処理部と
を備え、
前記処理部は、外部システムから、開始と終了の情報を有する一連のデータが別々に到着するケースにおいて、分割された各々の入力データを読み込み、
前記処理部は、前記入力データがどの入力元から送られてきたものかを判別し、
前記処理部は、前記パターン判断テーブルを参照し、前記入力データ及び前記入力元から、前記一連のデータを識別するためのキー値、処理を進める際の判断値、集計対象値、処理条件パターン番号を取得し、
前記処理部は、前記入力データから取得した前記キー値及び前記集計対象値、未出力に設定した完了フラグを、前記中間データテーブルに登録し、
前記処理部は、前記処理条件リストを参照し、前記判断値が終了条件又は中間条件を満たすとき、前記中間データテーブルから前記入力データの前記キー値と同一キー値のひとつ又は複数のレコードの集計対象値を集計した集計結果を計算する終了処理と、前記ひとつ又は複数のレコードの完了フラグを出力済に更新する完了フラグ編集処理と、前記キー値と前記集計結果を、前記処理条件リストを参照して得た出力先に出力する出力処理を行う
ことを特徴とする入力データ集約処理方法が提供される。
【発明の効果】
【００１０】
本発明によると、関連する一連の情報の待ち合わせを行い、特定の条件を満たすデータを出力する際に適切に集約して保持・蓄積することで、利用性や処理速度を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】本実施例のシステム図である。
【図２】処理シーケンス図である。
【図３】システムを構成する要件の構成図である。
【図４】入力部に到着したデータから入力元を判断する入力判断リストの例を示す説明図である。
【図５−１】入力データの例を示す説明図である。
【図５−２】入力データを分割した例を示す説明図である。
【図６】入力データのパターンを判別する際に用いるデータストアのテーブル図の例を示す説明図である。
【図７】開始・終了・中間条件のルールを記述したリストの例を示す説明図である。
【図８】集約処理フロー図である。
【図９−１】データの保持・蓄積に用いるデータストアのテーブル図の例を示す説明図である。
【図９−２】データの保持・蓄積に用いるデータストアのテーブル図のファイル出力後の例を示す説明図である。
【図１０】出力部のデータの例を示す説明図である。
【図１１】システムの物理構成図である。
【発明を実施するための形態】
【００１２】
本実施例では、特に、本来関連する一連の情報が別々に入力部に到着するようなケースにおいて、入力元の情報をもとに処理パターンを決定し、関連する情報の待ち合わせを行うための処理条件を個別で設定し、処理条件に則してデータの蓄積の制御を行い、一連のデータを関連づけて保持し、設定したタイミングで保持しているデータの集計結果を出力する。また、本実施例では、不要となった一連のデータは一括で削除することを可能とし、リソースの有効活用を図る。
以下、実施例を図面を用いて説明する。
【００１３】
図１は、本実施例のシステム図である。本システムは、集約処理サーバ１０１とデータストアサーバ１０２を備える。本システムでは、例えば、複数の外部システムＡ１０３及びＢ１０４から受信した形式・構造の異なるデータに対し、編集作業を行い、集計結果を任意の出力先Ｉ１０５又はＩＩ１０６に出力する。
【００１４】
また、図３は、システムを構成する要件の構成図である。図３における集約処理システム３２１は、集約処理サーバ１０１で実現する。同様にデータストア３０８は、データストアサーバ１０２で実現する。
集約処理システム３２１は、データ入出力部３０１、データ処理部３０５、データストアアクセス部３０７を備える。データ入出力部３０１は、データ入力部３０２、データ読み込み部３０３、データ判別部３０４、データ受信部３１８、出力形式変換部３１９、データ出力部３２０、入力元判断リスト４０１を有する。データ処理部３０５は、パターン判断部３０６、処理部３１１、条件判断部３１２、ルール定義部３１３、中間データ入出力部３１６、出力データ送信部３１７を有する。ルール定義部３１３は、開始条件リスト７０１、終了条件リスト７１１、中間条件リスト７２１を含む。
データストア３０８は、パターン判断テーブル３０９、処理条件パターンテーブル３１０を備える。
【００１５】
図１１は、システムの物理構成図を示す。集約処理サーバ１０１では、ＣＰＵ１１０１とメモリ１１０２とネットワークインターフェース１１０３は、データバス１１０４により接続され、各々の通信をデータバス１１０４を経由して行う。また、集約処理サーバ１０１にはコンソール部１１０５も接続される。メモリ１１０２には、集約処理や出力処理を行うためのアプリケーションロジック１１０６及び一時データ１１０７が記憶されている。集約処理サーバ１０１とデータストアサーバ１０２はインタフェース（ＩＦ）を介してデータバス１１０４で接続されている。集約処理サーバ１０１は、処理パターンの取得や中間データの蓄積・保持のため、データストアサーバ１０２上のパターン判断テーブル３０９、処理条件パターンテーブル３１０、中間データテーブル３１４、状態管理テーブル３１５等の各テーブルを用いる。データストアとしては、例えばインメモリＤＢのような形態があるが、ハードディスクドライブなどの他の保存形態でも構わない。なお、ＣＰＵ１１０１（処理部）は、データ処理部３０５とデータ入出力部３０１を含むことができる。
【００１６】
図２は、処理シーケンス図である。外部システムＡ１０３から入力データＡ−１−（１）２５１が集約処理サーバ１０１に送られると、集約処理サーバ１０１は、データを読み込んで登録するための処理２０１を実行する。
処理２０１では、まずデータ読み込み処理２０２を行う。この読み込み処理では、図３のデータ入出力部３０１のデータ入力部３０２で入力データを受信し、データ読み込み部３０３で受信したデータを形式に応じて読み込む。
集約処理サーバ１０１は、このデータ読み込み処理２０２に続いて、データ判別処理２０３を行う。データ判別部３０４でその入力データがどの送信元（入力元）から送られてきたものかを判別し、例えば、入力元Ａからのデータである旨の入力元の情報を付与する。この入力元判別を行うため、データ判別部３０４ではあらかじめ入力元判断リスト４０１を設定する。
【００１７】
図４は、入力部に到着したデータから入力元を判断する入力判断リストの例を示す説明図である。入力元判断リスト４０１は、パターン４０２、判別対象４０３、対象値４０４、入力元４０５を対応して予め記憶している。入力データに付随している判別対象となる情報の種別を判別対象４０３で規定し、その値を対象値４０４で設定する。データ判別部３０４は、この入力元判断リスト４０１から判別対象４０３と対象値４０４の組み合わせが合致するものを探し、対応する入力元４０５を決定し、情報を付与する。
【００１８】
図５−１は、データ入力部３０２で受信する入力データの例を示す説明図である。データ５０１は上述の入力データＡ−１−（１）の例を示す。データ判別部３０４は、入力元判断リスト４０１を参照し、入力データに対して、入力データに付随する情報から入力元を判断する。ここでは、例えば、送信元アドレス５０２をもとに、そのドメインと対象値の組み合わせが一致するものを入力元判断リスト４０１からパターン１から順番に検索し、該当するレコード４０６から入力元が「Ａ」であることを判別する。また、データ判別部３０４は、入力データに含まれる複数の情報５０３を個々に分割し、個々のデータに対して入力元情報を付与する。データ５０４は個々に分割されたデータの１つを示し、付与された入力元５０５と１データ単位の情報５０６が含まれる。データ判別部３０４は、この入力元を付与した、分割した各データをデータ入出力部３０１からデータ処理部３０５に送る。
【００１９】
続いて、処理パターン取得処理２０４を行う。この処理では、上述の入力元５０５をもとに、パターン判断部３０６がデータストア３０８上にあらかじめ登録してあるパターン判断テーブルを参照し処理パターンを取得する。
【００２０】
図５−２は、データ処理部に届いた入力データの例を示す説明図である。図では、データ入出力部３０１からデータ処理部３０５に送られるデータを示している。入力データ５０４には入力元情報５０５、１データ単位の情報５０６が含まれている。パターン判断部３０６は、このパターン取得の手続きのため、データストアアクセス部３０７を経由してデータストア３０８のパターン判断テーブル３０９にアクセスする。
【００２１】
図６（Ａ）は、パターン判断テーブルの例を示す説明図である。パターン判断テーブル３０９は、入力元６０１、キーカラム６０２、判断カラム６０３、補助判断カラム６０４、集計対象カラム６０５、処理条件パターン（番号）６０７を対応して予め記憶している。なお、キーカラムにより示される入力データのキー値により、関連する一連の情報を識別することができる。パターン判断部３０６は、パターン判断テーブル３０９を参照し、入力データの入力元５０５と、パターン判断テーブル３０９の入力元６０１とが一致するレコードを読み込み、キーカラム６０２から集計対象カラム６０５までの設定値から、図５−２の入力情報５０６の各カラムのうち、何番目をデータ登録時のキー値とするか、何番目を処理を進める際の判断値又は補助判断値とするか、何番目を集計対象の値とするか等といった情報を取得する。また、処理条件パターン６０７は、集約処理を行う上での開始や終了処理を行う処理条件パターンを示す。パターン判断部３０６は、入力元に基づき、どの処理条件パターンとするか取得する。例えば、入力データ５０４に対してパターン取得処理を行う場合、入力元５０５が「Ａ」であるため、図６に示すレコード６０６が合致する。パターン判断部３０６は、このレコードの設定値に従い、入力元がＡであるデータに対しては、キーカラム６０２により、１番目の値（図５−２の情報５０６の「Ａ−１」）をキー値とし、判断カラム６０３により、３番目の値（図５−２の情報５０６の「ｓｔａｒｔ」）を処理を進める際の判断値とし、補助判断カラム６０４により、１番目の値（図５−２の情報５０６の「Ａ−１」）を処理を進める際の補助判断値とし、集計対象カラム６０５により、２番目の値（図５−２の情報５０６の「１０００」）を集計対象値とする。判断対象の値は、このように例えば「ｓｔａｒｔ」や「ｅｎｄ」といった値を取ることもあり、全く別の値でも構わない。また、ここでは、処理条件パターンは「１」となる。
【００２２】
続いて、処理条件取得処理２０５を行う。この処理では、データ処理部３０５（パターン判断部３０６）は、上述の処理条件パターン６０７の設定値をもとに、データストア３０８の処理条件パターンテーブル３１０からあらかじめ設定してある処理条件パターンを取得する。
【００２３】
図６（Ｂ）は、処理条件パターンテーブル３１０の例を示す説明図である。処理条件パターンテーブル３１０は、パターン判断テーブル３０９に紐づく処理条件パターン６１１と、開始条件のパターンを表す開始条件パターン６１２、終了条件のパターンを表す終了条件パターン６１３、中間時点で集約処理を行う条件のパターンを表す中間条件パターン６１４、待ち合わせ時間６１６を対応付けて予め記憶している。この設定値６１２から６１４は、別途定義する各条件の定義番号を示している。例えば、図６のレコード６０６のように処理条件パターンが「１」である場合、レコード６１５に示す各設定値をもとに処理条件パターンを決定する。すなわち、データ処理部３０５（パターン判断部３０６）は、開始条件パターン「１」として別途定義されている条件を満足する場合に集約処理を開始し、同様に終了条件パターン「１」として別途定義されている条件を満足する場合に集約処理を終了し、中間処理条件パターン「１」として別途定義されている条件を満足する場合に中間時点で集約処理を行う（終了処理２０９、完了フラグ編集処理２１１及び出力処理２１２参照）。
【００２４】
データ処理部３０５は、これらの処理パターン及びそれに紐づく処理条件のもとでの処理の制御を、図２の処理制御２０６で行う。処理制御は図３の処理部３１１で行い、条件の取得及び条件を満足するかどうかの判断を条件判断部３１２で行う。また、各条件の定義はルール定義部３１３にあらかじめ個別で設定される。
【００２５】
図７は、各条件リストの例を示す説明図である。開始条件リスト７０１は、図６の開始条件パターン６１２に紐づく開始条件パターン７０２と、開始条件７０３を対応付けして予め記憶している。なお、図７の各条件リストと、図６の処理条件パターンとは、一例であり、これらに関する情報を「処理条件リスト」と呼ぶことがある。条件判断部３１２が図６の判断カラム６０３に設定されたカラム番号に対応するデータの値が開始条件７０３を満足すると判断した場合に、図３の処理部３１１が集約処理を開始する。例えば、図５−１に示すデータ５０４を受信した場合、判断対象の値が「ｓｔａｒｔ」であり、レコード７０４に示す開始条件を満たすため、処理部３１１は、一連のデータを関連づけて蓄積するための集約処理を開始する。
【００２６】
同様に、終了条件リスト７１１は、図６の終了条件パターン６１３に紐づく終了条件パターン７１２と、終了条件７１３、フォーマット７１４、出力先７１５を対応付けして予め記憶している。条件判断部３１２が図６の判断カラム６０３に設定されたカラム番号に対応するデータの値が終了条件７１３を満足すると判断した場合に、図３の処理部３１１は、集約処理を終了させ、一連のデータの集計処理を行ってフォーマット７１４で規定したフォーマットに従い、出力先７１５に対して結果を出力する。例えば、図５−１に示すデータ５５２を受信した場合、判断対象の値が「ｅｎｄ」であり、レコード７１６に示す終了条件を満たすため、処理部３１１は、集計処理及び出力処理（終了処理２０９、完了フラグ編集処理２１１及び出力処理２１２参照）を行う。
【００２７】
中間条件リスト７２１は、図６の中間条件パターン６１４に紐づく中間条件パターン７２２、中間条件７２３、フォーマット７２４、出力先７２５、完了フラグ編集有無７２６を対応付けして予め記憶している。条件判断部３１２が図６の判断カラム６０３に設定されたカラム番号に対応するデータの値が中間条件７２３を満足すると判断した場合に、処理部３１１は、上述の終了処理時と同様に集計・出力処理（終了処理２０９、完了フラグ編集処理２１１及び出力処理２１２参照）を行う。例えば、図５−２に示すデータ５５３を受信した場合、判断対象の値が「い」であり、レコード７２７に示す中間条件を満たすため、処理部３１１は、集計処理及び出力処理（終了処理２０９及び出力処理２１２参照）を行う。この際、出力したデータに対して出力済みであることを示す後述する完了フラグを編集するかどうかを完了フラグ編集有無７２６で設定される。条件判断部３１２が完了フラグ編集有無７２６が有りに設定されていると判断した場合、処理部３１１は、完了フラグ編集処理２１１を実行する。
【００２８】
図８に、上述の処理制御２０６における処理フローを示す。図８での処理の制御は、図２の処理部３１１で行う。
まずステップ８０１で、処理部３１１は、データストア３０８に格納されている蓄積データを確認するため、図３の中間データテーブル３１４にアクセスする。
【００２９】
図９−１（Ａ）は、中間データテーブル３１４を示す説明図である。中間データテーブル３１４は、通番９０１、キー９０２、値９０３、完了フラグ９０４を含む。この例では、完了フラグ９０４が「ＯＦＦ」であれば未出力、「ＯＮ」であれば出力済であることを示す。
【００３０】
ステップ８０１では、処理部３１１は、受信したデータのキーカラムの値と同一キーのデータがテーブルにすでに存在するかどうかを判断することで、現在扱っているデータと同種のデータを過去に登録しているかどうかを判別し、ＹＥＳである場合にはステップ８０２に進み、ＮＯである場合にはステップ８０４に進む。
ステップ８０２では、処理部３１１は、同一キーのデータの完了フラグ９０４がすべてＯＮになっているかどうかを判断することで、現在扱っているデータが出力済み扱いかどうかを判別し、ＹＥＳであればステップ８０３、ＮＯであればステップ８０５に進む。
ステップ８０３では、処理部３１１は、バージョン値編集処理を行う。このステップ８０３では、それまでに登録され出力された同一キーのレコードと区別して現在のデータを登録するため、データストアの状態管理テーブル３１５で管理しているバージョン情報を更新する。
【００３１】
図９−１（Ｂ）は、状態管理テーブル３１５を示す説明図である。状態管理テーブル３１５は、キー９１１と、通番リスト９１２、バージョン９１３、最終更新時刻９１４を含む。処理部３１１は、この状態管理テーブル３１５によって、中間データテーブル３１４のレコードをキーごとにグルーピングして管理し、かつ出力済みのものはバージョンの値をインクリメントして区別して管理する。
【００３２】
ステップ８０４では、処理部３１１は、今扱っているデータが開始条件を満足するかどうかを判断し、ＹＥＳであればステップ８０５に進み、ＮＯであれば処理フローを終了する。
ステップ８０５では、処理部３１１は、図２に示す中間データ登録処理２０７を行う。この処理では、処理部３１１は、現在扱っているデータのキーカラムと集計対象カラムの値を図３の中間データ入出力部３１６を経て、図９−１（Ａ）の中間データテーブル３１４に登録する。この際、処理部３１１は、完了フラグ９０４を、デフォルト値としてＯＦＦで登録する。なお、この値は、後にデータを出力した際にＯＮに更新される。例として、図９−１（Ａ）のレコード９０５に、入力データ５０４を登録する場合を示す。
【００３３】
ステップ８０６では、処理部３１１は、現在扱っているデータの判断カラムの値（判断値）が中間条件を満足するかどうかを判断することで、その時点での同一キーの蓄積データを集計して出力するかどうかを判別する。なお、中間条件は、処理条件パターンにより、処理条件パターンテーブル３１０を参照し、中間条件パターンを求め、中間条件リスト７２１を中間条件パターンに基づき検索することにより求めることができる。ここで、中間条件に該当するか判断した結果、ＹＥＳであればステップ８１１の終了処理２０９（図２）に進み、ＮＯであればステップ８１０に進む。
【００３４】
ステップ８１０では、処理部３１１は、現在扱っているデータの判断カラムの値（判断値）が終了条件を満足するかどうかを判断する。なお、終了条件は、処理条件パターンにより、処理条件パターンテーブル３１０を参照し、終了条件パターンを求め、終了条件リスト７１１を終了条件パターンに基づき検索することにより求めることができる。ここで、終了条件に該当するか判断した結果、ＹＥＳである場合にはステップ８１１の終了処理２０９（図２）に進み、ＮＯである場合にはステップ８１３に進む。
【００３５】
ステップ８１３では、処理部３１１は、同一キーの後続データを受信するのを待ち合わせする処理を行う。
処理部３１１は、上述の処理フローの判断の結果、待ち合わせ処理を行う場合、図２に示す待ち合わせ２０８を行う。この待ち合わせ処理については、後述する。
【００３６】
終了処理２０９に移行する前に、外部システムＡから次のデータＡ−１−（２）２５２が集約処理サーバ１０１に送られると、集約処理サーバ１０１は、Ａ−１−１の場合と同様の処理を繰り返し、ルール定義部の中間条件・終了条件を満たすかどうかを判断し、いずれの条件も満たさない場合は、集約処理サーバ１０１は、データストアサーバ１０２（中間データテーブル３１４）にデータを登録するのみで、出力は行わない。この際、状態管理テーブル３１５の同一キーのレコードの通番リスト９１２に、登録したデータの通番が追加される。
【００３７】
さらに、入力元から次のデータＡ−１−（３）２５３が集約処理サーバ１０１に送られると、集約処理サーバ１０１は、同様の処理を行い、例えば終了条件を満たす場合、集約処理サーバ１０１は、データの登録を行った上で、終了処理２０９を行う。なお、途中のデータで中間条件を満たす場合も集約処理サーバ１０１は、データの登録を行った上で、終了処理２０９を行う。また、状態管理テーブル３１５の同一キーのレコードの通番リスト９１２に、登録したデータの通番が追加される。図９−１（Ｂ）のレコード９１５に例として、図５に示した入力データ５０４、５５１、５５２を登録した場合を示す。
【００３８】
終了処理２０９では、処理部３１１は、その時点での同一キーの集計データを出力するため集約データ要求２１０をデータストアサーバ１０２に対して行い、応答情報として、中間データテーブル３１４内の、同一キーのレコードを受け取る。処理部３１１は、同一キーのレコードの集計対象値を集計する。例えば、図９−１（Ａ）に示したレコード中、「Ａ−１」のキー値の値「１０００」、「２０００」、「１５００」の合計である「４５００」が集計結果となる。
【００３９】
つぎに、集約処理サーバ１０１は、完了フラグ編集処理２１１で、中間データテーブル３１４から出力されて集計に使用したレコードの完了フラグ９０４をＯＮに更新する。
つぎに出力処理２１２では、処理部３１１は、図３の出力データ送信部３１７から集計データをデータ入出力部３０１に送信し、出力先Ｉ１０５に対して、集計結果を出力する。
【００４０】
図１０は、出力データの例を示す。出力データ１００１はキー１００２と集計値１００３を含む。この集計値１００３は、状態管理テーブル３１５の同一キーに属する中間データテーブル３１４の一連の値９０３を集計した値となる。また、出力データは、終了条件リスト７１１の出力先７１５又は中間条件リスト７２１の出力先７２５に記載された出力先ごとに出力される。
【００４１】
また、外部システムＢ１０４から入力データＢ−１−（１）２５４が集約処理サーバ１０１に送られると、集約処理サーバ１０１は、外部システムＡからデータが送られた場合と同様に処理を行うが、例えば一連のデータの集約処理を開始した後、後続データの待ち合わせ処理を行う際に、処理条件パターンテーブル３１０に設定された待ち合わせ時間６１６を超過した場合、待ち合わせタイムアウト２１３を行い、完了フラグを更新した上で、それまで集計した分のデータ出力処理を行うようにしてもよい。
【００４２】
その後、図５−２のデータ５５３に示すように、入力データＢ−１−（２）２５５が集約処理サーバ１０１に送られる場合を想定する。この例では、入力元「Ｂ」、判断カラムが「３」なので「い」であり、処理条件パターンが「２」なので中間条件７２７に該当する。この場合、集約処理サーバ１０１は、データ読み込み２１４、データ判別２１５、処理パターン取得２１６、処理条件取得２１７を行った後、処理制御２１８を行い、バージョン値編集２１９を行って状態管理テーブル３１５のバージョン９１３の値をＢ−１−（１）を登録した際のバージョンからインクリメントし、次のデータ登録処理２２０で新たなグループ扱いで登録する。
また、例えば中間条件に該当した場合は、処理部３１１は、中間処理２２１を行い、その時点での集計データを出力するため集約データ要求２２２をデータストアサーバに対して行い、中間条件リスト７２１の完了フラグ編集有無７２６に「あり」と設定されている場合は、出力したレコードの完了フラグをＯＮに更新し、集計結果を出力する。
【００４３】
図９−２は、更新後のレコードの例を示す説明図である。ここでは、集約処理サーバ１０１が、図に示したデータ２５１、２５２、２５３、２５４、２５５を出力した場合を示している。なお、中間条件リスト７２１の完了フラグ編集有無７２６により、出力時に完了フラグを編集するように設定していない場合には、処理部３１１は、完了フラグを更新しない。
【００４４】
また、処理部３１１は、中間条件リスト７２１の完了フラグ編集有無７２６が「あり」と設定されているかどうかを判断することで、中間状態として出力したレコードを出力済み扱いとするかどうかを判別することができる。処理部３１１は、この完了フラグやバージョン情報をもとに、出力済みの情報は不要であれば一括で削除することでリソースの有効活用を図る。なお、最終更新時刻９１４は、同一キーであるデータが登録される度に更新される。処理部３１１は、待ち合わせ時間を測る際、前のデータが登録されてからどれだけの時間が経過しているかを最終更新時刻９１４をもとに算出する。
【００４５】
以上のように、本実施例によると、集約処理サーバ・装置とデータストアサーバ・装置とを備えた入力データ集約システム・装置により、関連する一連の情報の待ち合わせを行い、特定の条件を満たすデータを出力する際に適切に集約して保持・蓄積することで、利用性や処理速度を向上させることができる。
また、本実施例によれば、不要なデータを削減して必要なデータを保持・蓄積することで、リソースの不必要な使用を回避できる。
【００４６】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれている。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００４７】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【００４８】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００４９】
101  集約処理サーバ
102  データストアサーバ
103  外部システム
104  基地局
105  スマートメータ
106  出力先
301  データ入出力部
302  データ入力部
303  データ読み込み部
304  データ判別部
305  データ処理部
306  パターン判断部
307  データストアアクセス部
308  データストア
309  パターン判断テーブル
310  処理条件パターンテーブル
311  処理部
312  条件判断部
313  ルール定義部
314  中間データテーブル
315  状態管理テーブル
316  中間データ入出力部
317  出力データ送信部
318  データ受信部
319  出力形式変換部
320  データ出力部
321  集約処理システム
【図１】
2015049780.tif 000003
【図２】
2015049780.tif 000004
【図３】
2015049780.tif 000005
【図４】
2015049780.tif 000006
【図５−１】
2015049780.tif 000007
【図５−２】
2015049780.tif 000008
【図６】
2015049780.tif 000009
【図７】
2015049780.tif 000010
【図８】
2015049780.tif 000011
【図９−１】
2015049780.tif 000012
【図９−２】
2015049780.tif 000013
【図１０】
2015049780.tif 000014
【図１１】
2015049780.tif 000015