(57)【要約】【課題】情報処理での負荷の増加を抑制して、圧縮されたデータを処理できる技術を提供する。【解決手段】データ加工装置は、複数項目を含むデータを情報処理装置に送信して処理させるデータ加工装置であり、情報処理装置から処理対象の項目の指定を含む処理関連情報を取得する取得部と、送信されるデータの処理の際に情報処理装置が参照する項目に対応する項目値を処理関連情報に基づき送信されるデータから抽出する項目値抽出部と、送信されるデータを圧縮して圧縮データを生成する圧縮部と、抽出した項目値を含む付加情報を生成し、圧縮データに付加する付加部と、付加情報が付加された圧縮データを前記情報処理装置に送信する通信部とを備える。【選択図】図３
2015191585.tif 000002
【特許請求の範囲】
【請求項１】
複数項目を含むデータを情報処理装置に送信して処理させるデータ加工装置であって、
前記情報処理装置から処理対象の項目の指定を含む処理関連情報を取得する取得部と、
前記送信されるデータの処理の際に前記情報処理装置が参照する項目に対応する項目値を前記処理関連情報に基づき前記送信されるデータから抽出する抽出部と、  
前記送信されるデータを圧縮して圧縮データを生成する圧縮部と、
抽出した前記項目値を含む付加情報を生成し、前記圧縮データに付加する付加部と、
前記付加情報が付加された圧縮データを前記情報処理装置に送信する通信部と、を備えるデータ加工装置。
【請求項２】
前記抽出された項目値にしたがって、前記送信されるデータを分類して分割データを作成する分割部をさらに備え、
前記圧縮部は、前記分割データを圧縮して分割圧縮データを生成し、
前記分割部は、前記送信されるデータ中で項目値が前記情報処理装置において加工される加工項目に対して、前記分割データ中の対応する加工項目の値を加工して分割データ加工値を作成し、
前記ヘッダ生成部は、前記分割データ加工値を前記付加情報にさらに設定する請求項１に記載のデータ加工装置。
【請求項３】
データ加工装置から圧縮データを受信して処理する情報処理装置であって、
前記データ加工装置に圧縮前のデータ中での処理対象の項目の指定を含む処理関連情報を送信し、前記データ加工装置から前記処理関連情報にしたがって前記圧縮前のデータから抽出された、前記処理対象のデータの処理の際に参照する項目に対応する項目値を含む付加情報が付与された圧縮データを受信するデータ受信部と、
前記付加情報にしたがって前記圧縮データを処理する処理部と、を備える情報処理装置。
【請求項４】
データ受信部は、前記加工装置において前記項目値にしたがって分割されて圧縮された分割圧縮データを受信し、
前記付加情報は、前記分割圧縮データが圧縮される前の分割データに対して、前記処理関連情報において処理対象に指定された項目に対応する値が加工された分割データ加工値を含み、
前記処理部は、前記分割圧縮データを伸張しないで前記分割データ加工値を用いて前記受信された分割圧縮データに対する処理を実行する請求項３に記載の情報処理装置。
【請求項５】
複数項目を含むデータを情報処理装置に送信して処理させるデータ加工装置が、
前記情報処理装置から処理対象の項目の指定を含む処理関連情報を取得し、
前記送信されるデータの処理の際に前記情報処理装置が参照する項目に対応する項目値を前記処理関連情報に基づき前記送信されるデータから抽出し、
前記送信されるデータを圧縮して圧縮データを生成し、
抽出した前記項目値を含む付加情報を生成し、前記圧縮データに付加し、
前記付加情報が付加された圧縮データを前記情報処理装置に送信する、ことを実行するデータ加工方法。
【請求項６】
データ加工装置から圧縮データを受信して処理する情報処理装置が、
前記データ加工装置に圧縮前のデータ中での処理対象の項目の指定を含む処理関連情報を送信し、
前記データ加工装置から前記処理関連情報にしたがって前記圧縮前のデータから抽出された、前記処理対象のデータの処理の際に参照する項目に対応する項目値を含む付加情報
が付与された圧縮データを受信し、
前記付加情報にしたがって前記圧縮データを処理する、ことを実行する情報処理方法。
【請求項７】
複数項目を含むデータを情報処理装置に送信して処理させるデータ加工装置に、
前記情報処理装置から処理対象の項目の指定を含む処理関連情報を取得し、
前記送信されるデータの処理の際に前記情報処理装置が参照する項目に対応する項目値を前記処理関連情報に基づき前記送信されるデータから抽出し、
前記送信されるデータを圧縮して圧縮データを生成し、
抽出した前記項目値を含む付加情報を生成し、前記圧縮データに付加し、
前記付加情報が付加された圧縮データを前記情報処理装置に送信する、ことを実行させるためのデータ加工プログラム。
【請求項８】
データ加工装置から圧縮データを受信して処理する情報処理装置に、
前記データ加工装置に圧縮前のデータ中での処理対象の項目の指定を含む処理関連情報を送信し、
前記データ加工装置から前記処理関連情報にしたがって前記圧縮前のデータから抽出された、前記処理対象のデータの処理の際に参照する項目に対応する項目値を含む付加情報が付与された分割圧縮データを受信し、
前記付加情報にしたがって前記圧縮データを処理する、ことを実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ加工装置、情報処理装置、方法、およびプログラムに関する。
【背景技術】
【０００２】
データの送信元となるソースシステムから転送されてきたデータを収集し、加工するデータ統合システムと呼ばれる情報処理システムが利用されている。従来の情報処理システムでは、転送データ量の削減等のために、ソースシステムで転送するデータを圧縮し、データ統合システムが転送されてきた圧縮データをファイル単位に伸張し、加工し、再度ファイル単位に圧縮する等の処理が行われている。 
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１５５５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の情報処理システムは、圧縮データを伸張し、加工後に伸張されたデータを再度圧縮するため、情報処理システムでのリソースの負荷が増加する。本発明の１つの側面は、情報処理での負荷の増加を抑制して、圧縮されたデータを処理できる技術を提供することにある。
【課題を解決するための手段】
【０００５】
１つの態様では、以下のデータ加工装置によって例示される。本データ加工装置は、例えば、複数項目を含むデータを情報処理装置に送信して処理させる装置である。本データ加工装置は、情報処理装置から、処理対象の項目の指定を含む処理関連情報を取得する取得部を備える。また、本データ加工装置は、送信されるデータの処理の際に情報処理装置が参照する項目に対応する項目値を処理関連情報に基づき送信されるデータから抽出する抽出部を備える。また、本データ加工装置は送信されるデータを圧縮して圧縮データを生成する圧縮部を備える。また、本データ加工装置は、抽出した項目値を含む付加情報を生成し、圧縮データに付加する付加部を備える。また、本データ加工装置は、付加情報が付加された圧縮データを情報処理装置に送信する通信部を備える。
【発明の効果】
【０００６】
１つの側面によれば、情報処理における負荷の増加を抑制して、圧縮されたデータを処理できる。
【図面の簡単な説明】
【０００７】
【図１】比較例に係る情報処理システムの処理を例示する図である。
【図２】実施の形態に係る情報処理システムの構成を例示する図である。
【図３】エージェントの処理の詳細を例示する図である。
【図４】ヘッダ情報のレコードの構成を例示する図である。
【図５】データ統合システムのデータ処理におけるデータフローを例示する図である。
【図６】データ統合システムのデータ処理の詳細を例示する図である。
【図７】データ統合システムのユーザインターフェースに表示されるデータ加工定義設定画面を例示する図である。
【図８】データ加工定義の詳細を表形式で記述したデータを例示する図である。
【図９】データ加工定義をＸＭＬ形式で記述したデータを例示する図である。
【図１０】ソースシステム、データ統合システム、あるいはターゲットシステムとして処理を実行する情報処理装置を例示する図である。
【図１１】ソースシステムのエージェントの処理を例示する図である。
【図１２】データ統合システムの処理を例示する図である。
【発明を実施するための形態】
【０００８】
以下、図面を参照して、一実施形態に係る情報処理システムについて説明する。以下の実施の形態の構成は例示であり、本装置は実施形態の構成には限定されない。
【０００９】
［比較例］
図１に、比較例に係る情報処理システム３００のデータフローを例示する。情報処理システム３００は、例えば、ソースシステム３０１Ａ、３０１Ｂ、データ統合システム３０２、ターゲットシステム３０３等を有する。ソースシステム３０１Ａ、３０１Ｂは、データ統合システム３００に転送されるデータの発生元となっている。以下、ソースシステムを総称する場合には、単に、ソースシステム３０１と呼ぶ。図１では、ソースシステム３０１Ａ、３０１Ｂの２個が例示されているが、ソースシステム３０１の数が２個に限定される訳ではない。
【００１０】
ソースシステム３０１は、データが生成され、あるいは、取得される様々な情報処理装置によって例示できる。ソースシステム３０１は、例えば、企業、団体、役所、学校等のそれぞれのサイトのコンピュータシステムである。ソースシステム３０１は、例えば、それぞれのサイトにおいて、それぞれのサイトで生成、取得、あるいは蓄積された各サイトのデータを管理する。さらに、ソースシステム３０１は、サイトのデータを圧縮して圧縮データとして、データ統合システム３０２に転送する。
【００１１】
データ統合システム３０２は、例えば、ＥＴＬ（Extract Transform Load）ツールと呼ばれるコンピュータプログラムが搭載された情報処理装置である。データ統合システム３０２は、複数のソースシステム３０１から取得したデータを様々な手順で加工する。例えば、複数サイトに設けられたソースシステム３０１から取得されるデータは、それぞれ、異なるデータ構成、あるいは異なるフォーマットである場合がある。データ統合システム３０２は、複数のソースシステム３０１から取得された異なるデータ構成、あるいは異なるフォーマットのデータを統合し、ユーザの要求にしたがった形式で加工する。
【００１２】
図１の例では、データ統合システム３０２は、まず、ソースシステム３０１から転送された圧縮データを伸張し、伸張データとする。そして、データ統合システム３０２は、伸張データから所定の抽出条件に該当するデータを抽出する。所定の抽出条件に該当するデータを抽出する処理は条件抽出と呼ばれる。さらに、データ統合システム３０２は、条件抽出によって抽出されたデータを所定の振分け条件にしたがって振分ける。振分けるとは、例えば、データに含まれる項目の値、あるいは複数項目の値の組み合わせにしたがってデータを分類するこという。
【００１３】
そして、データ統合システム３０２は、例えば、振分けられた伸張データの集計等を行ってデータを加工し、加工後データを作成し、例えば、あるサイトのデータベース（ＤＢ）に格納する。また、例えば、データ統合システム３０２は、振分けられた伸張データを再度圧縮し、他のサイトのターゲットシステム３０３に転送する。なお、図１でターゲットシステム３０３は、例えば、リモートに設けられたデータベースを有するシステムである。
【００１４】
比較例で示した情報処理システム３００の課題は、以下の通りである。第１にデータ統
合システム３０２がソースシステム３０１から転送された圧縮データを伸張し、伸張データを加工し、加工後に再度データ圧縮等の処理を実行する。このような処理のため、データ統合システム３０２のＣＰＵ（Central Processing Unit）、メモリ、外部記憶装置等
のシステムリソースの負荷が増大する可能性がある。第２に、データ統合システム３０２が圧縮データを伸張後に加工するとき、加工対象となるデータを特定して抽出するために、すべてのデータを参照することになる。例えば、伸張後データが項目１、項目２、・・・項目Ｎを含むレコードの集合であると想定する。そして、例えば、抽出条件として、項目１が値ｖ１１、項目２が値ｖ２１であるデータを抽出する場合を想定する。この場合、データ統合システム３０２が目的のデータを抽出するため、伸張データの全レコードを検索し、項目１が値ｖ１１であるか否か、項目２が値ｖ２１であるか否かを判定することになる。したがって、データ統合システム３０２のシステムリソースの負荷が増大する可能性がある。
【００１５】
［実施の形態］ 
以下、図２から図１２を参照して、実施の形態に係る情報処理システム５０を例示する。図２に、情報処理システム５０の構成を例示する。情報処理システム５０は、ソースシステム１Ａ、１Ｂと、データ統合システム２と、ターゲットシステム３を有している。実施の形態においても、比較例の場合と同様、ソースシステム１Ａ、１Ｂを総称する場合に、ソースシステム１と呼ぶ。ただし、ソースシステム１が２個に限定される訳ではない。また、ターゲットシステム３が１個に限定される訳ではない。なお、図２では、データ統合システム２の詳細は省略されている。ソースシステム１Ａ、１Ｂがデータ加工装置の一例である。
【００１６】
図２のように、ソースシステム１Ａ、１Ｂは、それぞれエージェント１１Ａ、１１Ｂを有している。エージェント１１Ａ、１１Ｂを総称する場合には、エージェント１１と呼ぶ。エージェント１１は、例えば、ソースシステム１で実行されるコンピュータプログラムである。エージェント１１は、ソースシステム１において、生成、取得、あるいは蓄積された元データを加工し、ヘッダ情報付きの圧縮データを作成する。例えば、ソースシステム１Ａにおいては、会員、東京行、値５０を含むヘッダ情報とともに圧縮データが作成されている。ここで、値５０は、会員、東京行という項目値によって分類されたデータでの、加工対象の項目で加工された値である。ここで、分類されたデータでの、加工対象の項目で加工された値とは、例えば、分類されたデータでの集計対象の項目の小計値等である。
【００１７】
さらに、ソースシステム１Ａにおいては、会員、東京行、値２０を含むヘッダ情報とともに圧縮データが作成されている。エージェント１１は、元データから、ヘッダ情報付きの圧縮データを複数組作成する。作成されたヘッダ情報付きの圧縮データは、データ統合システム２に転送される。ヘッダ情報が付加情報の一例である。
【００１８】
図３に、エージェント１１の処理の詳細を例示する。図３では、エージェント１１の処理がＴ１−Ｔ５のステップで例示されるとともに、Ｔ２−Ｔ５の各ステップが図表で例示されている。まず、エージェント１１は、データ統合システム２からデータ加工定義の配布を受ける。データ加工定義とは、例えば、データ統合システム２における加工対象となるデータの項目および加工の種類を含む情報である。Ｔ１におけるデータ統合システム２がデータ加工定義を配布する処理が、処理関連情報を送信するステップの一例である。また、データ加工定義が処理関連情報の一例である。
【００１９】
そして、エージェント１１は、データ加工定義を読み込む（Ｔ１）。データ加工定義には、データ統合システム２で実行されるデータの加工手順が定義されている。データの加工手順には、データ加工対象となるデータの項目、データ加工の処理種別等が定義されて
いる。エージェント１１は、取得部としてＴ１の処理を実行する。
【００２０】
次に、エージェント１１は、データ分類ルールを作成する（Ｔ２）。すなわち、エージェント１１は、Ｔ１で取得したデータ加工定義中から、データ統合システム２で加工対象となるデータの項目および加工の種別を特定する。そして、エージェント１１は、特定したデータの項目からデータ分類のための項目と加工の種別を抽出し、データ分類ルールを作成する（Ｔ２）。
【００２１】
図３の例では、データ加工定義は、「条件抽出」「振分け」「集計」を含むフロー図、あるいは、処理対象となるデータの項目「項目１」「項目２」「項目３」を特定した表で記述されている。フロー図は、データ統合システム２の処理手順を例示したものである。また、フロー図は、例えば、データ統合システム２のユーザインターフェースの表示を例示したものである。一方、図３では、「条件抽出」「振分け」「集計」という処理種別と、各処理種別に対して「項目１」「項目２」「項目３」を特定した表形式のデータ加工定義が例示されている。図３で例示されている表は、データ統合システム２からソースシステム１のエージェント１１に配布されるデータ加工定義のデータ例である。このようなデータ加工定義を基に、「条件抽出」に対して「項目１」、および「振分け」に対して「項目２」を指定したデータ分類ルールが作成される。
【００２２】
次に、エージェント１１は、データ分類を実行する。すなわち、エージェント１１は、Ｔ２で作成したデータ分類ルールを基に、ソースシステム１に蓄積された元データを読み出し、元データ中の項目１と項目２の値を特定しながら、特定した値の組み合わせ数の分類を作成し、元データを分割する（Ｔ３）。なお、Ｔ３の処理における元データは入力データとも呼ばれる。以下の処理では、元データは、１以上のレコードを含み、各レコードは複数の項目を有するデータを想定する。
【００２３】
例えば、図３の例では、データ分類ルールを参照しつつ、元データ（入力データ）から、項目１に対応する「会員」「一般」、項目２に対応する「東京行」「大阪行」が取得され、これらを組み合わせた４つの分類が生成されている。さらに、これらの分類を生成するとともに、元データ（入力データ）から読み出されたデータが各分類に分割され、分割データが作成されている。ただし、図３では、項目１が「会員」または「一般」であって、項目２が「大阪行」のデータは該当なし、となっている。エージェント１１は、抽出部としてＴ２、Ｔ３の処理を実行する。また、エージェント１１は、分割部としてＴ３の処理を実行する。
【００２４】
次に、エージェント１１は、分割データごとにデータ圧縮する（Ｔ４）。なお、データ圧縮の手順、および種別に限定がある訳ではない。エージェント１１は、圧縮部としてＴ４の処理を実行する。
【００２５】
次に、エージェント１１は、ヘッダ情報のレコード作成とデータマージを実行する。すなわち、エージェント１１は、分割データ毎のヘッダ情報のレコードを作成するとともに、作成したヘッダ情報のレコードをそれぞれデータ圧縮された分割データに付与し、ヘッダ情報の付加された圧縮データをマージ（結合）する（Ｔ５）。エージェント１１は、付加部としてＴ５の処理を実行する。
【００２６】
なお、ヘッダ情報のレコードは、分割データを識別するための分割データ毎のキー名、分割データごとの加工対象の項目の小計値（合計、最大、最小、平均値等の分割データでの加工値）を含む。例えば、１つ目の圧縮データについて、「会員」「東京行」というキー名が付与され、項目３の小計値が「５０」のヘッダ情報のレコードが作成され、分割データに付与される。また、「一般」「東京行」というキー名が付与され、項目３の小計値が「２０」のヘッダ情報のレコードが作成され、分割データに付与される。そして、ヘッダ情報のレコードが付与された圧縮データが結合され、データ統合システム２へ送信されるデータとなる。
【００２７】
図４に、ヘッダ情報のレコードの構成を例示する。ヘッダ情報のレコードは、制御部と圧縮データ要約部を含む。制御部は、例えば、データ統合システム２が圧縮データを伸張処理等するために圧縮データにアクセスするための管理情報である。制御部は、ヘッダ識別子と、圧縮データ開始位置と、圧縮データの長さとを含む。ここで、ヘッダ識別子は、ヘッダの開始を宣言する情報、例えば、ビットパターン、文字列等である。また、圧縮データ開始位置は、例えば、ヘッダ識別子の位置を基準にした圧縮データの開始位置を示す情報である。さらに、圧縮データの長さは、圧縮データ量、例えば、バイト数である。
【００２８】
圧縮データ要約部は、圧縮前のデータから取得された項目の値、あるいは項目の加工値である。圧縮データ要約部の項目の並びは、圧縮前のデータのレコード中の項目の並びと同一である。
【００２９】
圧縮データ要約部は、データ統合システム２でのデータ処理のときキーとなる項目の値（以下、キー名という）の列、およびデータ処理で参照する項目の集計値の列を含む。キー名とは、データ統合システム２が、データ処理、例えば、集計処理等を行う項目に対して、集計処理の対象となる項目か否かを判定する値である。また、キー名は、データ統合システム２が、データの各レコードを分類するための値ということもできる。例えば、商品ごとの売り上げを集計する場合に、データ処理で参照する項目（集計の対象となる項目）が商品ごとの販売額であり、キー名は、例えば、商品の品番、商品名等である。図３の例では、キー名は、例えば、「会員」と「東京行」の組、「一般」と「東京行」の組等である。
【００３０】
また、データ処理で参照する項目の集計値とは、データ処理の対象となる項目について、キー名で分類されたデータに対して集計がなされた値であり、キー名で分類されたデータにおける小計値ということができる。なお、図３の例では、データ処理で参照する集計の項目は、項目３の値である。また、図３では、「集計」として例示されているが、データ処理の種別、つまり、データ項目の加工の仕方が集計に限定される訳ではない。
【００３１】
図５に、データ統合システム２のデータ処理におけるデータフローを例示する。データ統合システム２が圧縮データを受信して処理する情報処理装置の一例である。データ統合システム２は、ソースシステム１のエージェント２で作成され、転送されたヘッダ情報のレコード付きの圧縮データを取得する。さらに、データ統合システム２は、所定の抽出条件にしたがって、ヘッダ情報を参照して、抽出条件に該当するヘッダ情報のレコードとそのヘッダ情報のレコードが付された圧縮データを抽出する。抽出条件は、ソースシステム１のエージェント２に配布されたデータ加工定義の抽出条件と整合している。なお、図５は、項目１＝「会員」となっているヘッダ情報と圧縮データを抽出する処理を例示する。
【００３２】
次に、データ統合システム２は、抽出されたヘッダ情報と圧縮データを振分ける。図５の例では、項目＝「東京行」か、項目＝「大阪行」かによって、抽出されたヘッダ情報と圧縮データとが分類される。データ統合システム２は、項目１＝「会員」、項目２＝「東京行」の圧縮データをマージするとともに、データ処理対象の項目のデータ処理を行う。図５の例では、データ統合システム２は、項目３の集計値「５０」と「２０」をさらに集計し、値「７０」を算出する。さらに、データ統合システム２は、マージしたデータから圧縮データを読み出し、伸張し、１つの伸張データとして、データベース（ＤＢ）に登録する。一方、データ統合システム２は、項目１＝「会員」、項目２＝「大阪行」の圧縮データをターゲットシステムに転送する。データ統合システム２は、以上のような処理を他のキー名のデータ、例えば、項目１＝「会員」、項目２＝「東京行」等のヘッダ情報が付された圧縮データに対しても実行する。
【００３３】
図６は、データ統合システム２のデータ処理の詳細を例示する。図６のように、データ統合システム２は、ヘッダ情報のレコードを参照し加工する処理（Ｕ１）と、加工されたデータに開始タグと終了タグを付与する処理（Ｕ２）とを繰り返し実行することで、圧縮データを分類し、振分け、あるいはマージし、データ処理を実行する。すなわち、データ統合システム２は、ヘッダ情報のレコード中の現在の処理に使用する項目の情報を参照し、データを加工する（Ｕ１）。例えば、図６の例では、制御部に項目１＝「会員」、項目２＝「東京行」、項目３＝「５０」を含むヘッダ情報が付された圧縮データＡと、制御部に項目１＝「一般」、項目２＝「東京行」、項目３＝「２０」を含むヘッダ情報が付された圧縮データＢとが処理されている。データ統合システム２は、このうち、項目１＝「会員」を含むヘッダ情報が付された圧縮データＡを抽出する。同様に、データ統合システム２は、「会員」「東京行」「２０」のヘッダ情報を含む圧縮データＣ、「会員」「大阪行」「１０」のヘッダ情報を含む圧縮データＤを抽出する。なお、図６では、省略されているが、項目１＝「一般」ついても、データ統合システム２に指定される条件にしたがって、同様に処理される。
【００３４】
次に、データ統合システム２は、項目２＝「東京行」と、項目２＝「大阪行」とにデータを振分ける。そして、データ統合システム２は、振分けられたヘッダ情報と圧縮データに、開始タグと終了タグを付す。開始タグと終了タグは、抽出条件で抽出され、振分けによって振分けられたデータ、つまり、キー名が共通でデータ処理の対象となるデータ群の開始と終了とを示す。すなわち、開始タグと終了タグとによって、圧縮データに対する加工処理、および集計等のデータ処理を行う対象範囲が特定される。
【００３５】
そして、データ統合システム２は、データ処理の対象である項目３の値を集計し、図６の例では値「７０」を算出する。さらに、データ統合システム２は、圧縮データを伸張し、マージする。
【００３６】
図７に、データ統合システム２のユーザインターフェースに表示されるデータ加工定義設定画面を例示する。ユーザは、データ統合システム２のユーザインターフェースを操作し、複数のソースシステム１から取得されるデータ（ヘッダ情報と圧縮データ）に対して、加工の指定、例えば、所定の抽出条件にしたがった条件抽出、振分け、集計等のデータ処理と、データのフローを設定する。
【００３７】
図８に、図７のユーザインターフェースで設定されるデータ加工定義の詳細を表形式で記述したデータを例示する。図８は、図７のユーザインターフェースによって設定されるデータ加工定義に含まれる要素を列挙したものであり、データ加工定義が図８の表形式に限定される訳ではない。図８のデータ加工定義は、例えば、定義名、実行方法、番号、ファンクション名、処理対象カラム、選考処理番号等を含む。図８の表で第１行目は共通情報行である。
【００３８】
共通情報行の「定義」は、設定されたデータ加工定義に付与された名称である。実行方法は、データ加工定義にしたがって実行される処理の実行方法である。図８では、実行方法として、「スケジュール起動」が例示されているが、本実施の形態において、処理の実行方法がスケジュール起動に限定される訳ではなく、ユーザによるマニュアル起動、所定の条件が満足されたときの起動等が例示される。
【００３９】
図８の２行目以下の各行がデータ加工定義に含まれる個々の処理を指定する。ただし、図８の表の２行目には、３行目以下の各行の項目名が例示されている。項目名は、説明の
ための情報であり、データ統合システム２は項目名を参照しなくてもよい。表の左端に示される「番号」の項目は、各行の通し番号を格納する。この「番号」の項目に格納される値は、後の処理によって先行処理番号として参照される番号である。図８の表の「ファンクション名」の項目は、当該行のデータ加工の仕方を示す情報、例えば、例えば、条件抽出、振分け、集計等を格納する。図８の表の「処理対象カラム」の項目には、ファンクション名で指定されるデータ加工によって処理されるデータの項目が指定される。図８の表の「先行処理番号」の項目は、当該行のデータ加工に対して、先行させるデータ加工を定義した行を指定する番号を格納する。
【００４０】
図９に、図８のデータ加工定義をＸＭＬ（Extensible Markup Language）形式で記述したデータを例示する。図９で、タグ「データ加工定義」は、図９のＸＭＬによる記述がデータ加工定義であることを示す。データ加工定義は、さらに、タグ「共通情報」とタグ「ファンクション情報」の並びとを含む。
【００４１】
タグ「共通情報」は、タグ「処理名」とタグ「実行方法」を含む。タグ「処理名」は、「データ加工」という名称を定義する。図９の例では、「データ加工」は、図９のデータ加工定義に付与された名称である。また、タグ「実行方法」は、「スケジュール起動」を定義する。「スケジュール起動」については、図８で説明したので、その説明を省略する。
【００４２】
さらに、図９のデータ加工定義は、複数のタグ「ファンクション情報」を含む。タグ「ファンクション情報」は、それぞれ、タグ「ファンクション番号」、タグ「ファンクション名」、タグ「処理対象カラム」を含む。タグ「ファンクション番号」は、タグ「ファンクション情報」を識別する通し番号であり、２つ目以降のタグ「ファンクション情報」において、タグ「先行ファンクション番号」によって参照される番号を定義する。また、タグ「ファンクション名」は、当該タグ「ファンクション情報」で定義されるファンクション情報、つまり、処理の種別を定義する。タグ「処理対象カラム」は、当該タグ「ファンクション情報」が処理対象とするデータの項目を定義する。また、図９で２つ目以降のタグ「ファンクション情報」は、タグ「先行ファンクション番号」を含む。タグ「先行ファンクション番号」は、図８で説明した「先行処理番号」と同様の情報であり、当該タグ「ファンクション情報」に先行するタグ「ファンクション情報」を指定する。
【００４３】
図１０に、ソースシステム１、データ統合システム２、あるいはターゲットシステム３として処理を実行する情報処理装置１００を例示する。情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１、主記憶部１０２、補助記憶部１０３および通信部１０４を有する。ＣＰＵ１０１は、主記憶部１０２に実行可能に展開されたコンピュータプログラムを実行し、種々の情報処理を実行する。主記憶部１０２は、ＣＰＵ１０１が実行するコンピュータプログラム、ＣＰＵ１０１が処理するデータ等を記憶する。主記憶部１０２は、Dynamic Random Access Memory（ＤＲＡＭ）、Static Random Access Memory（ＳＲＡＭ）、Read Only Memory（ＲＯＭ）等である。さらに、補助記憶装置１０３は、例えば、主記憶部１０２を補助する記憶領域として使用され、ＣＰＵ１０１が実行するコンピュータプログラム、ＣＰＵ１０１が処理するデータ等を記憶する。補助記憶部１０３は、ハードディスクドライブ、Solid State Disk（ＳＳＤ）等である。通信部１０４は、ネットワークに接続され、他の情報処理装置との通信を実行する。なお、図１０では省略されているが、情報処理装置１００は、着脱可能記憶媒体駆動装置を設けてもよい。着脱可能記憶媒体は、例えば、ブルーレイディスク、Digital Versatile Disk（ＤＶＤ）、Compact Disc（ＣＤ）、フラッシュメモリカード等である。
【００４４】
図１１にソースシステム１のエージェント１１の処理を例示する。なお、図１１の処理では、主記憶部１０２上に退避メモリＭ１と退避メモリＭ２が確保される。退避メモリＭ
１には、圧縮対象となるデータが保持される。一方、退避メモリＭ２には、データの分類、つまり、図４で例示したキー名の並びが保持される。退避メモリＭ２のキー名は、初期段階では、空データである。また、以下の処理では、キー名は、項目１と項目２の値を想定している。ただし、キー名となる項目数が２に限定される訳ではない。３項目以上の項目を含む、キー名が退避メモリＭ２に保持されてもよい。また、退避メモリＭ１は、異なるキー名に対応してそれぞれ個別に設けられる。
【００４５】
エージェント１１は、まず、データ加工定義を読み込む（Ｓ４０１）。ソースシステム１Ａ、１Ｂ等のＣＰＵ０１は、取得部としてＳ４０１のエージェント１１の処理を実行する。そして、エージェント１１は、条件抽出でチェック対象となる項目位置を取得する（Ｓ４０２）。次に、エージェント１１は、入力データの読み込みを行う（Ｓ４０３）。エージェント１１は、例えば、入力データを１行（１レコードに相当）ずつ読めばよい。ただし、エージェントの処理が図１１に限定される訳ではない。
【００４６】
次に、エージェント１１は、Ｓ４０３で読み込んだデータと退避メモリＭ２のキー名とを比較する（Ｓ４０４、Ｓ４０５）。そして、項目１と項目２とが退避メモリＭ２のキー名と一致した場合、読み込んだデータを当該キー名に対応する退避メモリＭ１に追記する。ただし、キー名に対応する退避メモリＭ１が空行の場合、エージェント１１は、先頭行に読み込みデータの値を設定する（Ｓ４０６）。さらに、Ｓ４０６の処理において、エージェント１１は、読み込みデータ中の加工対象の項目について、加工を行う。例えば、エージェント１１は、読み込みデータの加工対象の項目のデータ加工（例えば、小計の算出等）を行い、退避メモリＭ２に設定する。なお、データ加工され、退避メモリＭ２に設定された項目のデータ（小計されたデータ等）は、ヘッダ情報に設定される。ソースシステム１Ａ、１Ｂ等のＣＰＵ１０１は、分割部として、エージェント１１のＳ４０６の処理を実行する。また、Ｓ４０６の処理は、分割データ加工値を作成するステップの一例である。また、加工対象の項目は、加工項目の一例である。退避メモリＭ２に設定された項目のデータ（小計されたデータ等）は、分割データ加工値の一例である。なお、上記で説明した一連の処理において、キー名を退避メモリＭ２に保持した上で、退避メモリＭ１にもキー名を保持し、退避メモリＭ１に保持したキー名と対応付けて、分割データ加工値を退避メモリＭ１に保持する態様としても良い。
【００４７】
さらに、エージェント１１は、データを圧縮し、退避メモリＭ１に格納する（Ｓ４０７）。ソースシステム１Ａ、１Ｂ等のＣＰＵ１０１は、圧縮部としてＳ４０７の処理を実行する。
【００４８】
一方、Ｓ４０５で、項目１または項目２の少なくとも１つが一致しない場合、エージェント１１は、読み込みデータの項目１と項目２を退避メモリＭ２に新たなキー名として設定する（Ｓ４０８）。ソースシステム１Ａ、１Ｂ等のＣＰＵ１０１は、抽出部として、エージェント１１のＳ４０８の処理を実行する。さらに、エージェント１１は、新たに設定したキー名に対応する退避メモリＭ１の領域を主記憶部１０２に確保する。
【００４９】
次に、エージェント１１は、現在の読み込み位置がファイルの終端か否かを判定する（Ｓ４０Ａ）。現在の読み込み位置がファイルの終端でない場合、エージェント１１は制御をＳ４０３に戻し、次の行に対して処理を継続する。一方、現在の読み出し位置がファイルの終端の場合、退避メモリＭ２の情報を基にヘッダ情報のレコードを作成し、退避メモリＭ１の圧縮メモリに付与し、データ統合システム２に送信するデータを作成する（Ｓ４０Ｂ）。ソースシステム１Ａ、１Ｂ等のＣＰＵ１０１は、付加部としてＳ４０Ｂの処理を実行する。なお、キー名を退避メモリＭ２に保持した上で、退避メモリＭ１にもキー名を保持し、退避メモリＭ１に保持したキー名と対応付けて、分割データ加工値を退避メモリＭ１に保持する態様では、退避メモリＭ１には、読み込みデータとともに、キー名および分割データ加工値が保持されており、Ｓ４０Ｂの処理を簡易化することができる。
【００５０】
そして、エージェント１１は、図１０に例示した通信部１０４等を介して、Ｓ４０Ｂでヘッダ情報のレコードが付与された圧縮データをデータ統合システム２に送信する（Ｓ４０Ｃ）。ソースシステム１Ａ、１Ｂ等のＣＰＵ１０１は、分割圧縮データを情報処理装置に送信する通信部としてＳ４０Ｃの処理を実行する。
【００５１】
図１２にデータ統合システム２の処理を例示する。この処理では、データ統合システム２は、図１０に例示した通信部１０４を介して、圧縮データを受信することによって処理を開始する（Ｓ４２１）。データ統合システム２のＣＰＵ１０１は、データ受信部として、Ｓ４２１の処理を実行する。Ｓ４２１は、分割圧縮データを受信するステップの一例でもある。
【００５２】
次に、データ統合システム２は、ヘッダ情報のレコードで所定の項目が所定の抽出条件と合致するヘッダ情報のレコードとともにヘッダ情報のレコードが付された圧縮データを抽出する（Ｓ４２２）。以下、ヘッダ情報のレコードが付された圧縮データを単にデータともいう。例えば、図５の例では、データ統合システム２は、ヘッダ情報の項目１＝「会員」のデータを抽出する。さらに、データ統合システム２は、ヘッダ情報のレコードの振分け対象の項目にしたがって、データを振分ける。例えば、図５の例では、データ統合システム２は、項目２＝「東京行」あるいは、項目２＝「大阪行」にしたがって、データを振分ける（Ｓ４２３）。データ統合システム２は、Ｓ４２２およびＳ４２３の処理を受信した圧縮データの末尾まで実行する。
【００５３】
そして、データ統合システム２は、振分けたデータに開始タグおよび終了タグを付与する（Ｓ４２４）。さらに、データ統合システム２は、ヘッダ情報のレコード中の加工対象の項目を加工する（Ｓ４２５）。例えば、図５の例では、項目３の値を集計する。Ｓ４２５は、分割圧縮データを伸張しないで分割データ加工値を用いて受信された分割圧縮データに対する処理を実行するステップの一例である。
【００５４】
さらに、データ統合システム２は、ヘッダ情報のレコードの圧縮データ開始位置および圧縮データの長さを参照し、圧縮データを抽出し、マージする（Ｓ４２６）。さらに、データ統合システム２は、マージされた圧縮データを伸張する（Ｓ４２７）。そして、伸張されたデータの加工対象格納行に加工された項目の値（例えば、項目３の集計値等）を設定する（Ｓ４２８）。データ統合システム２のＣＰＵ１０１は、処理部としてＳ４２２−Ｓ４２８の処理を実行する。
【００５５】
以上述べたように、本情報処理システムによれば、ソースシステム１において、エージェント１１が、データ統合システム２からデータ加工定義の配布を受ける。そして、エージェント１１は、データ加工定義にしたがって、データ統合システム２で実行される加工の対象となる項目、加工の対象となる項目に対してキー名となる項目を取得し、データ分類のための項目として設定する。そして、エージェント１１は、データ分類のための項目にしたがって、蓄積されたデータからキー名を取得し、データを分割し、分割データを圧縮して、分割圧縮データを作成する。さらに、エージェント１１は、加工の対象となる項目を集計する等データの加工を行い、キー名および加工の対象となる項目で加工された値を用いてヘッダ情報のレコードを作成し、作成したヘッダ情報のレコードを分割圧縮データに付与し、データ統合システムに転送する。したがって、分割圧縮データの転送を受けたデータ統合システム２は、分割圧縮データを伸張することなく、ヘッダ情報のレコードに設定されたキー名および加工の対象となる項目が加工された値（例えば、加工が集計の場合に小計値）等を基に、ヘッダ情報のレコードが付与された分割圧縮データから加工対象のデータを抽出し、振分けを行い、加工の対象となる項目の加工を行うことが可能となる。また、データ統合システム２は、分割圧縮データを伸張することなく、振分けされたデータをターゲットシステム３等に転送できる。したがって、データ統合システム２において、データの伸張と再度の圧縮によるシステムリソースの負荷を低減できる。
【００５６】
また、データ統合システム２は、抽出条件に該当する項目、振分けの判断対象の項目をヘッダ情報のレコードから取得できる。したがって、実施の形態のデータ統合システム２は、比較例のように、すべてのデータの抽出条件に該当する項目、振分けの判断対象の項目を検索しなくてもよい。
【００５７】
《コンピュータが読み取り可能な記録媒体》
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【００５８】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやＲＯＭ（リードオンリーメモリ）等がある。
【００５９】
《その他》
以上の実施の形態は、さらに以下の態様を含む。以下の態様を付記と呼ぶ。各付記の構成は、他の付記の構成あるいは、上記の実施形態で開示された構成と組み合わせることができる。
（付記１） 
複数項目を含むデータを情報処理装置に送信して処理させるデータ加工装置であって、
前記情報処理装置から処理対象の項目の指定を含む処理関連情報を取得する取得部と、
前記送信されるデータの処理の際に前記情報処理装置が参照する項目に対応する項目値を前記処理関連情報に基づき前記送信されるデータから抽出する抽出部と、
前記送信されるデータを圧縮して圧縮データを生成する圧縮部と、
抽出した前記項目値を含む付加情報を生成し、前記圧縮データに付加する付加部と、
前記付加情報が付加された圧縮データを前記情報処理装置に送信する通信部と、を備えるデータ加工装置。
（付記２）
前記抽出された項目値にしたがって前記送信されるデータを分類して分割データを作成する分割部をさらに備え、
前記圧縮部は、前記分割データを圧縮して分割圧縮データを生成し、
前記分割部は、前記送信されるデータ中で項目値が前記情報処理装置において加工される加工項目に対して、前記分割データ中の対応する加工項目の値を加工して分割データ加工値を作成し、
前記付加部は、前記分割データ加工値を前記付加情報にさらに設定する付記１に記載のデータ加工装置。
（付記３）
データ加工装置から圧縮データを受信して処理する情報処理装置であって、
前記データ加工装置に圧縮前のデータ中での処理対象の項目の指定を含む処理関連情報を送信し、前記データ加工装置から前記処理関連情報にしたがって前記圧縮前のデータから抽出された、前記処理対象のデータの処理の際に参照する項目に対応する項目値を含む
付加情報が付与された圧縮データを受信するデータ受信部と、
前記付加情報にしたがって前記圧縮データを処理する処理部と、を備える情報処理装置。
（付記４）
データ受信部は、前記加工装置において前記項目値にしたがって分割されて圧縮された分割圧縮データを受信し、
前記付加情報は、前記分割圧縮データが圧縮される前の分割データに対して、前記処理関連情報において処理対象に指定された項目に対応する値が加工された分割データ加工値を含み、
前記処理部は、前記分割圧縮データを伸張しないで前記分割データ加工値を用いて前記受信された分割圧縮データに対する処理を実行する付記３に記載の情報処理装置。
（付記５） 
複数項目を含むデータを情報処理装置に送信して処理させるデータ加工装置が、
前記情報処理装置から処理対象の項目の指定を含む処理関連情報を取得し、
前記送信されるデータの処理の際に前記情報処理装置が参照する項目に対応する項目値を前記処理関連情報に基づき前記送信されるデータから抽出し、
前記送信されるデータを圧縮して圧縮データを生成し、
抽出した前記項目値を含む付加情報を生成し、前記圧縮データに付加し、
前記付加情報が付加された圧縮データを前記情報処理装置に送信する、ことを実行するデータ加工方法。
（付記６）
前記抽出された項目値にしたがって、前記送信されるデータを分類して分割データを作成することをさらに実行し、
前記圧縮データを生成することにおいては、前記分割データが圧縮されて分割圧縮データが生成され、
前記分割データを作成することは、前記送信されるデータ中で項目値が前記情報処理装置において加工される加工項目に対して、前記分割データ中の対応する加工項目の値を加工して分割データ加工値を作成することを含み、
前記付加情報を生成することは、前記分割データ加工値を前記付加情報にさらに設定することを含む付記５に記載のデータ加工方法。
（付記７）
データ加工装置から圧縮データを受信して処理する情報処理装置が、
前記データ加工装置に圧縮前のデータ中での処理対象の項目の指定を含む処理関連情報を送信し、
前記データ加工装置から前記処理関連情報にしたがって前記圧縮前のデータから抽出された、前記処理対象のデータの処理の際に参照する項目に対応する項目値を含む付加情報が付与された分割圧縮データを受信し、
前記付加情報にしたがって前記圧縮データを処理する、ことを実行する情報処理方法。（付記８）
データ受信することにおいては、前記加工装置において前記項目値にしたがって分割されて圧縮された分割圧縮データが受信され、
前記付加情報は、前記分割圧縮データが圧縮される前の分割データに対して、前記処理関連情報において処理対象に指定された項目に対応する値が加工された分割データ加工値を含み、
前記処理することは、前記分割圧縮データを伸張しないで前記分割データ加工値を用いて前記受信された分割圧縮データに対する処理を実行することを含む付記７に記載の情報処理方法。
（付記９） 
複数項目を含むデータを情報処理装置に送信して処理させるデータ加工装置に、
前記情報処理装置から処理対象の項目の指定を含む処理関連情報を取得し、
前記送信されるデータの処理の際に前記情報処理装置が参照する項目に対応する項目値を前記処理関連情報に基づき前記送信されるデータから抽出し、
前記送信されるデータを圧縮して圧縮データを生成し、
抽出した前記項目値を含む付加情報を生成し、前記圧縮データに付加し、
前記付加情報が付加された圧縮データを前記情報処理装置に送信する、ことを実行させるためのデータ加工プログラム。
（付記１０）
前記抽出された項目値にしたがって、前記送信されるデータを分類して分割データを作成することをさらに実行させ、
前記圧縮データを生成することにおいては、前記分割データが圧縮されて分割圧縮データが生成され、
前記分割データを作成することは、前記送信されるデータ中で項目値が前記情報処理装置において加工される加工項目に対して、前記分割データ中の対応する加工項目の値を加工して分割データ加工値を作成することを含み、
前記付加情報を生成することは、前記分割データ加工値を前記付加情報にさらに設定することを含む付記９に記載のデータ加工プログラム。
（付記１１）
データ加工装置から圧縮データを受信して処理する情報処理装置に、
前記データ加工装置に圧縮前のデータ中での処理対象の項目の指定を含む処理関連情報を送信し、
前記データ加工装置から前記処理関連情報にしたがって前記圧縮前のデータから抽出された、前記処理対象のデータの処理の際に参照する項目に対応する項目値を含む付加情報が付与された圧縮データを受信し、
前記付加情報にしたがって前記圧縮データを処理する、ことを実行させるための情報処理プログラム。
（付記１２）
データ受信するステップでは、前記加工装置において前記項目値にしたがって分割されて圧縮された分割圧縮データが受信され、
前記付加情報は、前記分割圧縮データが圧縮される前の分割データに対して、前記処理関連情報において処理対象に指定された項目に対応する値が加工された分割データ加工値を含み、
前記処理することは、前記分割圧縮データを伸張しないで前記分割データ加工値を用いて前記受信された分割圧縮データに対する処理を実行することを含む付記１１に記載の情報処理プログラム。
【符号の説明】
【００６０】
１Ａ、１Ｂ  ソースシステム 
２    データ統合システム 
３    ターゲットシステム
１１Ａ、１１Ｂ  エージェント
５０  情報処理システム
【図１】
2015191585.tif 000003
【図２】
2015191585.tif 000004
【図３】
2015191585.tif 000005
【図４】
2015191585.tif 000006
【図５】
2015191585.tif 000007
【図６】
2015191585.tif 000008
【図７】
2015191585.tif 000009
【図８】
2015191585.tif 000010
【図９】
2015191585.tif 000011
【図１０】
2015191585.tif 000012
【図１１】
2015191585.tif 000013
【図１２】
2015191585.tif 000014