(57)【要約】【課題】複数のデータソースからのデータそれぞれについての解析処理を行うことなく、対象のデータ同士のデータ処理を高速に行うこと。【解決手段】データ処理装置２００は、複数のデータソース１００にそれぞれ蓄積されたデータを用いたデータ処理の要求を受信し、複数のデータソース１００それぞれに対して、要求に対応するデータ取得指示をそれぞれ送信する。データ処理装置２００は、複数のデータソース１００から、データ取得指示に対応し、特定の符号化規則により符号化された符号化データをそれぞれ受信する。データ処理装置２００は、符号化規則、および、複数のデータソース１００から受信した符号化データを用いて、符号化状態でデータ処理を実行する。【選択図】図１
2018180645.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに
複数のデータソースにそれぞれ蓄積されたデータを用いたデータ処理の要求を受信し、
前記複数のデータソースそれぞれに対して、前記要求に対応するデータ取得指示をそれぞれ送信し、
前記複数のデータソースから、前記データ取得指示に対応し、特定の符号化規則により符号化された符号化データをそれぞれ受信し、
前記符号化規則、および、前記複数のデータソースから受信した符号化データを用いて、符号化状態でデータ処理を実行させる
ことを特徴とするデータ処理プログラム。
【請求項２】
前記データ処理は、前記複数のデータソースからそれぞれ受信したデータの結合または前記データに含まれる数値の演算を含み、前記複数のデータソースから受信するデータには、符号化対象のデータと、前記符号化対象のデータに割り当てた動的符号との関係を示す動的辞書の情報が含まれることを特徴とする請求項１に記載のデータ処理プログラム。
【請求項３】
前記データ処理に前記数値の演算が含まれる場合には、前記動的辞書に格納された数値同士の演算結果を、別途、前記動的辞書に格納する処理を更に実行することを特徴とする請求項２に記載のデータ処理プログラム。
【請求項４】
前記複数のデータソースから受信する各動的辞書の情報を比較し、同一の動的符号が各動的辞書に含まれる場合には、動的符号を調整する処理を更に実行することを特徴とする請求項２に記載のデータ処理プログラム。
【請求項５】
前記複数のデータソースで実行される符号化は、デリミタで区分された複数のカラムを有するレコードを複数有するデータに対して、カラム毎に符号化されていることを特徴とする請求項１〜４のいずれか一つに記載のデータ処理プログラム。
【請求項６】
コンピュータが実行するデータ処理方法であって、
複数のデータソースにそれぞれ蓄積されたデータを用いたデータ処理の要求を受信し、
前記複数のデータソースそれぞれに対して、前記要求に対応するデータ取得指示をそれぞれ送信し、
前記複数のデータソースから、前記データ取得指示に対応し、特定の符号化規則により符号化された符号化データをそれぞれ受信し、
前記符号化規則、および、前記複数のデータソースから受信した符号化データを用いて、符号化状態でデータ処理を行う
ことを特徴とするデータ処理方法。
【請求項７】
複数のデータソースにそれぞれ蓄積されたデータを用いたデータ処理の要求を受信し、前記複数のデータソースそれぞれに対して、前記要求に対応するデータ取得指示をそれぞれ送信し、前記複数のデータソースから、前記データ取得指示に対応し、特定の符号化規則により符号化された符号化データをそれぞれ受信する収集部と、
前記符号化規則、および、前記複数のデータソースから受信した符号化データを用いて、符号化状態でデータ処理を行うデータ処理部と
を有することを特徴とするデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理プログラム等に関する。
【背景技術】
【０００２】
従来、複数のデータソースに蓄積された圧縮ファイルを取得して、結合や演算等のデータ処理を行う情報システムがある。
【０００３】
図２０は、従来の情報システムの一例を説明するための図である。図２０に示すシステムは、データソース１０ａ，１０ｂ、ＥＴＬ（Extraction  Transformation  and  Loading）２０を有する。ＥＴＬ２０は、データソース１０ａ，１０ｂに接続される。ＥＴＬ２０は、図示しない他のデータソースに接続されていても良い。
【０００４】
データソース１０ａは、ＣＳＶ（Comma  Separated  Values）ファイルＦ１をＺＩＰに基づいて圧縮し、圧縮した圧縮ファイルＦ１’を記憶部に蓄積する。データソース１０ｂは、ＣＳＶファイルＦ２をＺＩＰに基づいて圧縮し、圧縮した圧縮ファイルＦ２’を記憶部に蓄積する。データソース１０ａは、ＥＴＬ２０からの取得要求に応じて、圧縮ファイルＦ１’をＥＴＬ２０に送信する。データソース１０ｂは、ＥＴＬ２０からの取得要求に応じて、圧縮ファイルＦ２’をＥＴＬ２０に送信する。
【０００５】
ＥＴＬ２０は、圧縮ファイルＦ１’，Ｆ２’の取得要求をデータソース１０ａ，１０ｂに送信することで、圧縮ファイルＦ１’，Ｆ２’を取得する。ＥＴＬ２０は、圧縮ファイルＦ１’，Ｆ２’に対して、結合や演算等のデータ処理を実行し、演算結果となるＣＳＶファイルＦ３を生成する。以下において、ＥＴＬ２０の処理の一例について説明する。
【０００６】
圧縮ファイルＦ１’，Ｆ２’は、カンマ（あるいはカラム）単位で圧縮されていない。このため、ＥＴＬ２０は、圧縮ファイルＦ１’，Ｆ２’を伸長することで、ＣＳＶファイルＦ１，Ｆ２を得た後に、字句解析を行い、結合・演算等のデータ処理を行う。図２０に示す例では、ＥＴＬ２０は、マスタデータＭ１を基にして、各商品コードの合計金額を演算する。
【０００７】
例えば、ＥＴＬ２０が、ＣＳＶファイルＦ１，Ｆ２を結合すると、商品コード「１２４２」、商品名「キャンディ」について、数量は合計「２０」個となる。単価は「５０」であるため、合計金額が「１０００（２０×５０）」となる。同様にして、商品コード「２３４２」、商品名「チョコレート」について、数量は合計「３０」個となり、単価が「５００」であるため、合計金額が「１５０００（３０×５００）」となる。
【０００８】
ＥＴＬ２０は、上記のように、圧縮ファイルＦ１’、Ｆ２’を伸長し、字句解析を行った後に、結合・演算等の処理を実行することで、ＣＳＶファイルＦ３を生成する。そして、ＥＴＬ２０は、ＣＳＶファイルＦ３をＺＩＰに基づいて圧縮することで、圧縮ファイルＦ３’を得る。ＥＴＬ２０は、図示しないデータ処理の要求元となる外部装置に、圧縮ファイルＦ３’を送信する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１１−１４５８８３号公報
【特許文献２】特開２０１１−０９０５２６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述した従来技術では、複数のデータソースからのデータそれぞれについての解析処理を行う必要があり、対象のデータ同士のデータ処理を高速に行うことができないという問題がある。
【００１１】
すなわち、従来技術による情報システムでは、各圧縮ファイルを受信した場合に、圧縮ファイルを伸長し、字句解析してからでないと、結合・演算等のデータ処理を行うことができない。係る問題は、圧縮ファイルとして、演算に利用するデータのみを受信する場合であっても同様に発生する。
【００１２】
１つの側面では、本発明は、複数のデータソースからのデータ同士のデータ処理において、データ受信後の解析処理を削減し、対象のデータ同士のデータ処理を高速に行うことができるデータ処理プログラム、データ処理方法およびデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
第１の案では、コンピュータは下記の処理を実行する。コンピュータは、複数のデータソースにそれぞれ蓄積されたデータを用いたデータ処理の要求を受信し、複数のデータソースそれぞれに対して、要求に対応するデータ取得指示をそれぞれ送信する。コンピュータは、複数のデータソースから、データ取得指示に対応し、特定の符号化規則により符号化された符号化データをそれぞれ受信する。コンピュータは、符号化規則、および、複数のデータソースから受信した符号化データを用いて、符号化状態でデータ処理を実行する。
【発明の効果】
【００１４】
複数のデータソースからのデータ同士のデータ処理において、データ受信後の解析処理を削減し、対象のデータ同士のデータ処理を高速に行うことができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本実施例に係るシステムの一例を示す図である。
【図２】図２は、符号化ファイルの一例を説明するための図である。
【図３】図３は、データ処理装置が実行するデータ処理の一例を示す図（１）である。
【図４】図４は、データ処理装置が実行するデータ処理の一例を示す図（２）である。
【図５】図５は、データ処理装置が実行するデータ処理の一例を示す図（３）である。
【図６】図６は、データ処理装置が実行するデータ処理の一例を示す図（４）である。
【図７】図７は、本実施例に係るデータ処理装置の効果を説明するための図である。
【図８】図８は、データソースの構成を示す機能ブロック図である。
【図９】図９は、対象ファイルのデータ構造の一例を示す図である。
【図１０】図１０は、符号化規則データのデータ構造の一例を示す図である。
【図１１】図１１は、動的辞書データのデータ構造の一例を示す図である。
【図１２】図１２は、データソースの符号化処理の一例を示す図である。
【図１３】図１３は、データ処理装置の構成を示す機能ブロック図である。
【図１４】図１４は、符号化ファイルテーブルのデータ構造の一例を示す図である。
【図１５】図１５は、符号化規則管理データのデータ構造の一例を示す図である。
【図１６】図１６は、データ処理装置の処理手順を示すフローチャートである。
【図１７】図１７は、結合処理の処理手順を示すフローチャートである。
【図１８】図１８は、演算処理の処理手順を示すフローチャートである。
【図１９】図１９は、データ処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【図２０】図２０は、従来の情報システムの一例を説明するための図である。
【発明を実施するための形態】
【００１６】
以下に、本願の開示するデータ処理プログラム、データ処理方法およびデータ処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１７】
図１は、本実施例に係るシステムの一例を示す図である。図１に示すように、このシステムは、外部装置９０と、データソース１００ａ，１００ｂ，１００ｃと、データ処理装置２００とを有する。データ処理装置２００は、外部装置９０に接続される。また、データ処理装置２００は、データソース１００ａ〜１００ｃに接続される。ここでは、データソース１００ａ〜１００ｃを示すが、このシステムは、その他のデータソースを含んでいても良い。また、以下の説明では、データソース１００ａ〜１００ｃをまとめて適宜、データソース１００と表記する。
【００１８】
外部装置９０は、データ処理装置２００に対して、データソース１００に蓄積されたＣＳＶ（Comma  Separated  Values）ファイルを用いたデータ処理の要求を行う装置である。例えば、データ処理の内容には、ＣＳＶファイルの結合、数値の演算等が含まれる。
【００１９】
データ処理装置２００は、外部装置９０からデータ処理の要求を受信した場合に、データソース１００に対し、データ処理の要求に対応するデータ取得指示を送信する。例えば、データ取得指示は、取得対象となるＣＳＶファイルのカラムを一意に識別する情報を含む。
【００２０】
データ処理装置２００は、データソース１００から、データ取得指示に対応し、所定の符号化規則により符号化された符号化ファイルを受信する。データ処理装置２００は、所定の符号化規則と、符号化ファイルとを用いて、符号化されたままの状態で、外部装置９０に要求されたデータ処理を実行する。データ処理装置２００は、データの処理結果を、外部装置９０に配信する。
【００２１】
データソース１００は、ＣＳＶファイルを蓄積する。データソース１００は、データ取得指示を、データ処理装置２００から受信すると、ＣＳＶファイルのうち、データ取得指示に対応するカラム部分を抽出し、所定の符号化規則に従って符号化を行う。データソース１００は、符号化した符号化ファイルをデータ処理装置２００に送信する。
【００２２】
図２は、符号化ファイルの一例を説明するための図である。図２に示すように、符号化ファイル２０は、ヘッダ２０ａと、符号領域２０ｂと、トレーラ２０ｃとを含む。ヘッダ２０ａには、各種の制御情報が含まれる。
【００２３】
符号領域２０ｂには、データ取得指示に対応し、所定の符号化規則により符号化されたＣＳＶファイルが含まれる。この符号化されたＣＳＶファイルは、カラム単位で符号化されているものとする。
【００２４】
トレーラ２０ｃは、動的辞書の情報を含む。動的辞書は、カラムに含まれる単語または数値と、動的符号とを対応付けた情報である。符号領域２０ｂに格納された符号化されたＣＳＶファイルの符号化は、トレーラ２０ｃに格納された動的辞書に基づいて行われる。
【００２５】
図２の動的辞書に示す例では、商品コード「１２４２」、「２３４２」の動的符号はそれぞれ「Ａ０００ｈ」、「Ａ００１ｈ」となる。商品名「キャンディ」、「チョコレート」の動的符号はそれぞれ「Ａ７００ｈ」、「Ａ７０１ｈ」となる。数量「２０」、「３０」の動的符号はそれぞれ「ＡＡ００ｈ」、「ＡＡ０１ｈ」となる。単価「５０」、「５００」の動的符号はそれぞれ「Ａ１００ｈ」、「Ａ２００ｈ」となる。
【００２６】
続いて、データ処理装置２００が実行するデータ処理の一例について説明する。図３〜図６は、データ処理装置が実行するデータ処理の一例を示す図である。図３について説明する。図３に示す例では、データ処理装置２００が、データソース１００ａ，１００ｂから符号化ファイルを取得し、各符号化ファイルを結合する場合について説明する。
【００２７】
データソース１００ａから取得した符号化ファイルの符号領域には、符号化されたデータ２１ａが格納され、トレーラには、動的辞書２１ｂが格納されているものとする。データソース１００ｂから取得した符号化ファイルの符号領域には、符号化されたデータ２２ａが格納され、トレーラには、動的辞書２２ｂが格納されているものとする。
【００２８】
前提として、データソース１００ａ，１００ｂは、符号化規則５０ａにより、データを符号化しているものとする。符号化規則５０ａは、ＣＳＶファイルに含まれる各カラムのうち、符号化対象のカラムが、商品コード、商品名、数量のデータを有するカラムであり、カラムの並び順を、商品コードのカラム、商品名のカラム、数量のカラムと定義する規則である。
【００２９】
すなわち、データ２１ａ，２２ａの規則番号（１）のカラムに含まれるデータは、商品コードの動的符号となる。データ２１ａ，２２ａの規則番号（２）のカラムに含まれるデータは、商品名の動的符号となる。データ２１ａ，２２ａの規則番号（３）のカラムに含まれるデータは、数量の動的符号となる。
【００３０】
データ処理装置２００は、符号化規則５０ａに基づいて、同一の規則番号に該当するカラムのデータ同士を結合することで、データ６０ａを生成する。また、データ処理装置２００は、動的辞書２１ｂと、動的辞書２２ｂとを結合することで、動的辞書６０ｂを生成する。
【００３１】
データ処理装置２００は、データ６０ａを符号化ファイルの符号領域に格納し、動的辞書６０ｂを符号化ファイルのトレーラに格納することで、符号化ファイルを生成する。データ処理装置２００は、生成した符号化ファイルを、外部装置９０に配信する。
【００３２】
図３で説明したように、データ処理装置２００は、データソース１００ａ，１００ｂから取得した符号化ファイルを符号化状態のまま、符号化規則５０ａに基づいて結合するので、対象の符号化ファイルの結合を高速に行うことができる。
【００３３】
図４の説明に移行する。図４に示す例では、データ処理装置２００が、データソース１００ａ，１００ｂから符号化ファイルを取得し、各符号化ファイルを結合する場合について説明する。
【００３４】
データソース１００ａから取得した符号化ファイルの符号領域には、符号化されたデータ２３ａが格納され、トレーラには、動的辞書２３ｂが格納されているものとする。データソース１００ｂから取得した符号化ファイルの符号領域には、符号化されたデータ２４ａが格納され、トレーラには、動的辞書２４ｂが格納されているものとする。
【００３５】
前提として、データソース１００ａ，１００ｂは、図３で説明した符号化規則５０ａにより、データを符号化しているものとする。符号化規則５０ａは、ＣＳＶファイルに含まれる各カラムのうち、符号化対象のカラムが、商品コード、商品名、数量のデータを有するカラムであり、カラムの並び順を、商品コードのカラム、商品名のカラム、数量のカラムと定義する規則である。
【００３６】
すなわち、データ２３ａ，２４ａの規則番号（１）のカラムに含まれるデータは、商品コードの動的符号となる。データ２３ａ，２４ａの規則番号（２）のカラムに含まれるデータは、商品名の動的符号となる。データ２３ａ，２４ａの規則番号（３）のカラムに含まれるデータは、数量の動的符号となる。
【００３７】
データ処理装置２００は、符号化規則５０ａに基づいて、同一の規則番号に該当するカラムのデータ２３ａ，２４ａ同士を結合することで、データ６１ａを生成する。また、データ処理装置２００は、動的辞書２３ｂと、動的辞書２４ｂとを結合することで、動的辞書６１ｂを生成する。
【００３８】
データ処理装置２００は、動的辞書６１ｂを参照し、動的符号の重複が存在するか否かを判定すると、数量「２０」に割り当てられた動的符号「ＡＡ００ｈ」と、数量「１０」に割り当てられた動的符号「ＡＡ００ｈ」とが重複している。このように、動的符号が重複している場合には、データ処理装置２００は、動的符号の調整を行う。例えば、データ処理装置２００は、数量「１０」に割り当てられた動的符号を「ＡＡ００ｈ」から「ＡＡ０２ｈ」に変更する。
【００３９】
データ処理装置２００は、動的符号の調整に対応させて、データ６１ａの動的符号を調整する。例えば、数量「１０」に対応する動的符号は、データ６１ａの３行３列目に位置する動的符号「ＡＡ００ｈ」である。データ処理装置２００は、この３行３列目の動的符号「ＡＡ００ｈ」を動的符号「ＡＡ０２ｈ」に変更することで、データ６２ａを生成する。
【００４０】
データ処理装置２００は、データ６２ａを符号化ファイルの符号領域に格納し、動的辞書６２ｂを符号化ファイルのトレーラに格納することで、符号化ファイルを生成する。データ処理装置２００は、生成した符号化ファイルを、外部装置９０に配信する。
【００４１】
また、図４で説明したように、データ処理装置２００は、結合した動的辞書６１ｂに動的符号の重複が存在する場合には、動的符号の調整を行うことで、動的符号の重複を解消する。また、データ処理装置２００は、動的符号の調整に合わせて、データ６１ａの該当する動的符号を変更して、データ６２ａを得る。このため、動的符号の重複を解消しつつ、符号化ファイルを符号化状態のまま、結合することができる。
【００４２】
図５について説明する。図５に示す例では、データ処理装置２００が、データソース１００ａから符号化ファイルを取得し、符号化ファイルとデータ処理装置２００のマスタデータとを結合する場合について説明する。
【００４３】
データソース１００ａから取得した符号化ファイルの符号領域には、符号化されたデータ２５ａが格納され、トレーラには、動的辞書２５ｂが格納されているものとする。前提として、データソース１００ａは、符号化規則５０ａにより、データを符号化しているものとする。符号化規則５０ａは、ＣＳＶファイルに含まれる各カラムのうち、符号化対象のカラムが、商品コード、商品名、数量のデータを有するカラムであることを定義するものである。また、符号化規則５０ａは、カラムの並び順を、商品コードのカラム、商品名のカラム、数量のカラムと定義する。
【００４４】
すなわち、データ２５ａの規則番号（１）のカラムに含まれるデータは、商品コードの動的符号となる。データ２５ａの規則番号（２）のカラムに含まれるデータは、商品名の動的符号となる。データ２５ａの規則番号（３）のカラムに含まれるデータは、数量の動的符号となる。
【００４５】
また、データ処理装置２００は、符号化規則５０ｂにより、マスタデータを符号化することで、データ２６ａを生成するものとする。符号化規則５０ｂは、ＣＳＶファイルに含まれる各カラムのうち、符号化対象のカラムが、商品コード、単価を有するカラムであり、カラムの並び順を、商品コードのカラム、単価のカラムと定義する規則である。
【００４６】
すなわち、データ２６ａの規則番号（１）のカラムに含まれるデータは、商品コードの動的符号となる。データ２６ａの規則番号（４）のカラムに含まれるデータは、単価の動的符号となる。
【００４７】
データ処理装置２００は、符号化規則５０ａ，５０ｂに基づいて、同じカラム（商品コード）のデータを比較し、一致したデータ２６ａに該当するカラム（単価）を、データ２５ａに追加することで、データ６３ａを生成する。例えば、データ２５ａの１行１列目の商品コードの動的符号「Ａ０００ｈ」と、データ２６ａの１行１列目の動的符号「Ａ０００ｈ」とが一致する。このため、データ処理装置２００は、データ６３ａの１行４列目に、データ２６ａの１行２列目の動的符号「Ａ１００ｈ」を登録する。
【００４８】
例えば、データ２５ａの２行１列目の商品コードの動的符号「Ａ００１ｈ」と、データ２６ａの２行１列目の動的符号「Ａ００１ｈ」とが一致する。このため、データ処理装置２００は、データ６３ａの２行４列目に、データ２６ａの２行２列目の動的符号「Ａ２００ｈ」を登録する。
【００４９】
データ処理装置２００は、符号化規則５０ａと、符号化規則５０ｂとを結合することで、符号化規則５０ｃを生成する。この符号化規則５０ｃは、結合後のデータ６３ａに対応する符号化規則となる。
【００５０】
データ処理装置２００は、動的辞書２５ｂと動的辞書２６ｂとを結合することで、動的辞書６３ｂを生成する。なお、データ処理装置２００は、動的符号と単語との組が同一であるものが複数存在する場合には一つに統合する。
【００５１】
データ処理装置２００は、データ６３ａを符号化ファイルの符号領域に格納し、動的辞書６３ｂ、符号化規則５０ｃをトレーラに格納することで、符号化ファイルを生成する。データ処理装置２００は、生成した符号化ファイルを外部装置９０に配信する。
【００５２】
図５で説明したように、データ処理装置２００は、データソース１００ａから符号化ファイルを取得し、符号化ファイルと符号化されたマスタデータとを符号化状態のまま、符号化規則５０ａ，５０ｂを基にして結合する。このため、対象の符号化ファイルの結合を高速に行うことができる。
【００５３】
図６の説明に移行する。図６に示す例では、データ処理装置２００が、データソース１００ａから符号化ファイルを取得し、符号化状態のまま、所定の演算を実行する場合について説明する。ここでは一例として、データ処理装置２００が、商品の数量と単価とを基にして、各商品の合計金額を演算する場合について説明する。
【００５４】
データソース１００ａから取得した符号化ファイルの符号領域には、符号化されたデータ２７ａが格納され、トレーラには、動的辞書２７ｂが格納されているものとする。前提として、データソース１００ａは、符号化規則５０ｄにより、データを符号化しているものとする。符号化規則５０ｄは、ＣＳＶファイルに含まれる各カラムのうち、符号化対象のカラムが、商品コード、商品名、単価、数量のデータを有するカラムであることを定義するものである。また、符号化規則５０ｄは、カラムの並び順を、商品コードのカラム、商品名のカラム、単価のカラム、数量のカラムと定義する。
【００５５】
すなわち、データ２７ａの規則番号（１）のカラムに含まれるデータは、商品コードの動的符号となる。データ２７ａの規則番号（２）のカラムに含まれるデータは、商品名の動的符号となる。データ２７ａの規則番号（３）のカラムに含まれるデータは、単価の動的符号となる。データ２７ａの規則番号（４）のカラムに含まれるデータは、数量の動的符号となる。
【００５６】
また、データ処理装置２００は、合計金額の演算を行う前に、合計金額のカラムを格納するための動的辞書２８ｂを用意する。図６の動的辞書２８ｂには、商品コード「１２４２（Ａ０００ｈ）」に対応する合計金額に割り当てる動的符号「Ｄ０００ｈ」が設定される。商品コード「２３４２（Ａ００１ｈ）」に対応する合計金額に割り当てる動的符号「Ｄ００１ｈ」が設定される。
【００５７】
さらに、データ処理装置２００は、動的辞書２８ｂで割り当てた動的符号を含むデータ２８ａと、データ２７ａとを結合することで、データ６４ａを生成する。データ処理装置２００は、動的辞書２７ｂと動的辞書２８ｂとを結合することで、動的辞書６４ｂを生成する。
【００５８】
データ処理装置２００は、上記処理を実行した後、商品コード「１２４２（Ａ０００ｈ）」に対応する合計金額、および、商品コード「２３４２（Ａ００１ｈ）」に対応する合計金額を演算し、算出結果を動的辞書２８ｂに設定する。
【００５９】
商品コード「１２４２（Ａ０００ｈ）」に対応する合計金額を演算する処理の一例について説明する。データ処理装置２００は、データ２７ａについて、商品コード「１２４２」に対応する単価の動的符号が「Ａ１００ｈ」であり、数量の動的符号が「ＡＡ００ｈ」であるため、動的辞書２７ｂとの比較により、単価「５０」、数量「２０」を得る。データ処理装置２００は、単価「５０」と数量「２０」とを乗算することで、合計金額「１０００」を算出する。データ処理装置２００は、演算結果となる合計金額「１０００」を動的辞書６４ｂの動的符号「Ｄ０００ｈ」に対応するカラムに格納する。
【００６０】
商品コード「２３４２（Ａ００１ｈ）」に対応する合計金額を演算する処理の一例について説明する。データ処理装置２００は、データ２７ａについて、商品コード「２３４２」に対応する単価の動的符号が「Ａ２００ｈ」であり、数量の動的符号が「ＡＡ０１ｈ」であるため、動的辞書２７ｂとの比較により、単価「５００」、数量「３０」を得る。データ処理装置２００は、単価「５００」と数量「３０」とを乗算することで、合計金額「１５０００」を算出する。データ処理装置２００は、演算結果となる合計金額「１５０００」を動的辞書６４ｂの動的符号「Ｄ００１ｈ」に対応するカラムに格納する。
【００６１】
データ処理装置２００は、データ６４ａを符号化ファイルの符号領域に格納し、動的辞書６４ｂをトレーラに格納することで、符号化ファイルを生成する。データ処理装置２００は、生成した符号化ファイルを外部装置９０に配信する。
【００６２】
図６で説明したように、データ処理装置２００は、データソー１００ａから符号化ファイルを取得し、符号化状態のまま、演算を実行し、演算結果を含む符号化ファイルを生成する。このため、符号化ファイルに対する演算を従来技術と比較して高速に行うことができる。
【００６３】
図７は、本実施例に係るデータ処理装置の効果を説明するための図である。図７に示す処理１Ａは、従来技術の処理を示し、処理１Ｂは、図６で説明したデータ処理装置２００の処理を示す。
【００６４】
図７の処理１Ａについて説明する。従来技術は、ＺＩＰ等で符号化されたデータ２９ａを収集する。データ２９ａは、カラム単位で符号化されていないので、従来技術は、データ２９ａを伸長することで、データ２９ｂを生成する。従来技術は、データ２９ｂの字句解析を行うことで、データ２９ｂをカラム単位に分割し、データ２９ｃを生成する。従来技術は、データ２９ｃの単価および数量の数字列（テキスト）を抽出し、数字列を数値（バイナリ）に変換する。従来技術は、数値を演算することで、演算結果（バイナリ）を得る。従来技術は、演算結果（バイナリ）を数字列（テキスト）に変換する。従来技術では、上記のように、収集、伸長、カラム分割、数字列抽出、数値変換、演算、数字列変換の過程を得ることで、配信先に配信するための演算結果を得ることができる。
【００６５】
図７の処理１Ｂについて説明する。データ処理装置２００は、カラム単位で符号化されたデータ３０ａを収集する。データ３０ａは、図６で説明したデータ２７ａの１行目のレコードに対応するものである。データ処理装置２００は、伸長、カラム分割の処理をスキップし、データ３０ａから数値（バイナリ）を抽出する。抽出した数値に対応する情報は、動的辞書に格納されているため、動的辞書の数値を用いて演算を行い、演算結果を動的辞書に格納する。本実施例に係るデータ処理装置２００は、従来技術と比較して、伸長、カラム分割、テキストからバイナリへの変換の処理を実行しないで、配信先に配信するための演算結果を得ることができる。
【００６６】
次に、図１に示したデータソース１００ａの構成の一例について説明する。データソース１００ｂ，１００ｃの構成は、データソース１００ａと同様である。図８は、データソースの構成を示す機能ブロック図である。図８に示すように、データソース１００ａは、通信部１１０と、記憶部１２０と、制御部１３０とを有する。
【００６７】
通信部１１０は、ネットワークを介してデータ処理装置２００とデータ通信を実行する処理部である。通信部１１０は、ネットワークカード等の通信装置に対応する。後述する制御部１３０は、通信部１１０を介して、データ処理装置２００とデータをやり取りする。
【００６８】
記憶部１２０は、対象ファイル１２１、符号化規則データ１２２、動的辞書データ１２３、符号化ファイル１２４を格納する。記憶部１２０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。
【００６９】
対象ファイル１２１は、符号化の対象となるＣＳＶファイルである。図９は、対象ファイルのデータ構造の一例を示す図である。図９に示すように、この対象ファイル１２１は、デリミタで区分された複数のカラムを有するレコードを複数有するデータである。例えば、対象ファイル１２１は、商品コードに対応するカラム、商品名に対応するカラム、単価に対応するカラム、数量に対応するカラムが含まれる。対象ファイル１２１は、その他のカラムを含んでいても良い。
【００７０】
符号化規則データ１２２は、符号化対象となるカラムの種別と、符号化した場合のカラムの並び順を定義する情報である。符号化規則データ１２２は、図３等で説明した符号化規則５０ａ等に対応する。図１０は、符号化規則データのデータ構造の一例を示す図である。図１０に示すように、この符号化規則データ１２２は、規則番号と、カラムの種別とを対応付ける。
【００７１】
図１０に示す符号化規則データ１２２では、対象ファイル１２１に含まれる各カラムのうち、符号化対象のカラムが、商品コード、商品名、単価、数量のデータを有するカラムであることを定義する。また、符号化規則データ１２２では、符号化後のカラムの並び順を、商品コードのカラム、商品名のカラム、単価の数量のカラムと定義する。
【００７２】
動的辞書データ１２３は、カラム毎に、カラムに含まれる単語または数値と、動的符号とを対応付けた情報である。単語または数値に割り当てる動的符号は、符号化時に割り当てられる。図１１は、動的辞書データのデータ構造の一例を示す図である。例えば、商品コードのカラムに含まれるコードには、動的符号「Ａ０００ｈからＡ０ＦＦｈ」までの動的符号が割り当てられる。商品名のカラムに含まれる単語には、動的符号「Ａ７００ｈからＡ７ＦＦｈ」までの動的符号が割り当てられる。数量のカラムに含まれる数値には、動的符号「ＡＡ００ｈからＡＡ０１ｈ」までの動的符号が割り当てられる。単価のカラムに含まれる数値には、動的符号「Ａ１００ｈからＡ２ＦＦｈ」までの動的符号が割り当てられる。
【００７３】
符号化ファイル１２４は、後述する符号化部１３２により生成される情報である。符号化ファイル１２４のデータ構造は、図２で説明した符号化ファイル２０で説明したデータ構造に対応する。符号化ファイル１２４は、ヘッダ、符号領域、トレーラを有する。
【００７４】
図８の説明に戻る。制御部１３０は、受付部１３１と、符号化部１３２と、送信部１３３とを有する。制御部１３０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などによって実現できる。また、制御部１３０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。
【００７５】
受付部１３１は、ネットワークを介して他の装置から各種の情報を受け付け、受け付けた情報を、記憶部１２０に格納する処理部である。受付部１３１は、他の装置から対象ファイル１２１を受け付けた場合には、対象ファイル１２１を記憶部１２０に格納する。
【００７６】
また、受付部１３１は、データ処理装置２００から、データ取得指示を受け付ける。データ取得指示には、符号化規則データ１２２が含まれている。受付部１３１は、符号化規則データ１２２を、記憶部１２０に格納する。
【００７７】
符号化部１３２は、符号化規則データ１２２を基にして、対象ファイル１２１を符号化することで、符号化ファイル１２４を生成する処理部である。符号化部１３２は、対象ファイル１２１を符号化する場合に、カラム単位で動的符号化を行い、カラムに含まれる単語または数値と、動的符号とを対応付けることで、動的辞書データ１２３を生成する。
【００７８】
図１２は、データソースの符号化処理の一例を示す図である。図１２に示すように、符号化部１３２は、対象ファイル１２１の各カラムの内、符号化規則データ１２２で定義されたカラム１２１ａ，１２１ｂ，１２１ｃ，１２１ｄを符号化対象のカラムとして選択する。
【００７９】
カラム１２１ａは、符号化規則データ１２２のカラム種別「商品コード」に対応するカラムである。符号化部１３２は、商品コード「１２４２」、「２３４２」に動的符号「Ａ０００ｈ」、「Ａ００１ｈ」を割り当てることで、符号化したカラム１２５ａを生成する。符号化部１３２は、商品コードと、動的符号との関係を、動的辞書データ１２３に格納する。
【００８０】
カラム１２１ｂは、符号化規則データ１２２のカラム種別「商品名」に対応するカラムである。符号化部１３２は、商品名「キャンディ」、「チョコレート」に動的符号「Ａ７００ｈ」、「Ａ７０１ｈ」を割り当てることで、符号化したカラム１２５ｂを生成する。符号化部１３２は、商品名と、動的符号との関係を、動的辞書データ１２３に格納する。
【００８１】
カラム１２１ｃは、符号化規則データ１２２のカラム種別「単価」に対応するカラムである。符号化部１３２は、単価「５０」、「５００」に動的符号「Ａ１００ｈ」、「Ａ２００ｈ」を割り当てることで、符号化したカラム１２５ｃを生成する。符号化部１３２は、単価と、動的符号との関係を、動的辞書データ１２３に格納する。
【００８２】
カラム１２１ｄは、符号化規則データ１２２のカラム種別「数量」に対応するカラムである。符号化部１３２は、数量「２０」、「３０」に動的符号「ＡＡ００ｈ」、「ＡＡ０１ｈ」を割り当てることで、符号化したカラム１２５ｄを生成する。符号化部１３２は、数量と、動的符号との関係を、動的辞書データ１２３に格納する。
【００８３】
符号化部１３２は、符号化規則データ１２２の規則番号で定義された順番に基づいて、カラム１２５ａ〜１２５ｄを、カラム１２５ａ，１２５ｂ，１２５ｃ，１２５ｄの順に並べることで、データ１２５を生成する。
【００８４】
符号化部１３２は、符号化ファイル１２４の符号領域にデータ１２５を格納し、トレーラに動的辞書データ１２３を格納する。また、符号化ファイル１２４のヘッダに各種の制御情報を格納する。
【００８５】
送信部１３３は、符号化部１３２により生成される符号化ファイル１２４を、データ処理装置２００に送信する処理部である。
【００８６】
次に、図１に示したデータ処理装置２００の構成の一例について説明する。図１３は、データ処理装置の構成を示す機能ブロック図である。図１３に示すように、このデータ処理装置２００は、通信部２１０と、記憶部２２０と、制御部２３０とを有する。
【００８７】
通信部２１０は、ネットワークを介してデータソース１００または外部装置９０とデータ通信を実行する処理部である。通信部２１０は、ネットワークカード等の通信装置に対応する。後述する制御部２３０は、通信部２１０を介して、データソース１００または外部装置９０とデータをやり取りする。
【００８８】
記憶部２２０は、符号化ファイルテーブル２２１、マスタデータ２２２、符号化規則管理データ２２３、動的辞書データ２２４、符号化ファイル２２５を有する。記憶部２２０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。
【００８９】
符号化ファイルテーブル２２１は、各データソース１００から収集する各符号化ファイルを格納するテーブルである。図１４は、符号化ファイルテーブルのデータ構造の一例を示す図である。図１４に示すように、符号化ファイルテーブル２２１は、識別情報と、符号化ファイルとを対応付ける。識別情報は、符号化ファイルの送信元となるデータソース１００を一意に識別する情報である。符号化ファイルは、識別情報に対応するデータソース１００から収集した符号化ファイルである。
【００９０】
マスタデータ２２２は、データ処理装置２００が保持するＣＳＶファイルである。マスタデータ２２２は、デリミタで区分された複数のカラムを有するレコードを複数有するデータである。
【００９１】
符号化規則管理データ２２３は、符号化規則のデータを含む。図１５は、符号化規則管理データのデータ構造の一例を示す図である。図１５に示すように、符号化規則管理データ２２３は、符号化規則データ１２２と、マスタ符号化規則データ２２３ａとを有する。符号化規則データ１２２は、符号化対象となるカラムの種別と、符号化した場合のカラムの並び順を定義する情報である。符号化規則データ１２２は、データソース１００に送信される。符号化規則データ１２２は、図３〜図６に示した符号化規則５０ａ，５０ｄに対応する情報である。
【００９２】
マスタ符号化規則データ２２３ａは、マスタデータ２２２について、符号化対象となるカラムの種別と、符号化した場合のカラムの並び順を定義する情報である。例えば、マスタ符号化規則データ２２３ａは、図５で説明した符号化規則５０ｂに対応する情報である。
【００９３】
動的辞書データ２２４は、符号化ファイルテーブル２２１に格納された各符号化ファイルのトレーラに格納された動的辞書データを結合したデータである。例えば、動的辞書データ２２４は、図３〜図６に示した動的辞書６０ｂ，６２ｂ，６３ｂ，６４ｂに対応する情報である。
【００９４】
図１３の説明に戻る。制御部２３０は、収集部２３１と、データ処理部２３２と、配信部２３３とを有する。制御部２３０は、ＣＰＵやＭＰＵなどによって実現できる。また、制御部２３０は、ＡＳＩＣやＦＰＧＡなどのハードワイヤードロジックによっても実現できる。
【００９５】
収集部２３１は、外部装置９０からデータ処理の要求を受信する。外部装置９０から受信するデータ処理の要求には、符号化規則データ１２２と、処理の内容が含まれる。処理の内容には、符号化ファイルの結合、符号化ファイルとマスタデータとの結合、符号化ファイルの演算等の指示情報が含まれる。また、収集部２３１は、マスタ符号化規則データ２２３ａを、外部装置９０から取得しても良い。収集部２３１は、処理の内容を、データ処理部２３２に出力する。
【００９６】
収集部２３１は、外部装置９０からデータ処理要求を受信した場合に、データ取得指示を生成する。収集部２３１は、データ取得指示に、符号化規則管理データ２２３の符号化規則データ１２２を格納し、データソース１００に出力する。
【００９７】
収集部２３１は、データソース１００から、データ取得指示に対応し、符号化規則データ１２２に基づき符号化された符号化ファイルを受信し、符号化ファイルテーブル２２１に格納する。
【００９８】
データ処理部２３２は、外部装置９０から受け付けたデータ処理の要求に対応するデータ処理を実行する処理部である。データ処理部２３２は、符号化ファイルを符号化状態のままで処理を実行する。一例として、データ処理の要求が「符号化ファイルの結合」、「符号化ファイルとマスタデータとの結合」、「符号化ファイルの演算」である場合について、順に説明する。
【００９９】
まず、データ処理の要求が「符号化ファイルの結合」である場合のデータ処理部２３２の処理の一例について説明する。係る処理は、図３で説明した処理に対応する。図３を用いて説明を行う。データ処理部２３２は、データソース１００ａから収集した符号化ファイルに含まれるデータ２１ａと、データソース１００ｂから収集した符号化ファイルに含まれるデータ２２ａとを、符号化ファイルテーブル２２１から取得する。
【０１００】
データ処理部２３２は、符号化規則５０ａに基づいて、同一の規則番号に該当するカラムのデータ同士を結合することで、データ６０ａを生成する。また、データ処理装置２００は、動的辞書２１ｂと、動的辞書２２ｂとを結合することで、動的辞書６０ｂを生成する。データ処理部２３２は、動的辞書２１ｂおよび動的辞書２２ｂを、符号化ファイルテーブル２２１から取得する。データ処理部２３２は、動的辞書６０ｂを、動的辞書データ２２４に格納する。
【０１０１】
データ処理部２３２は、データ６０ａを符号化ファイル２２５の符号領域に格納し、動的辞書データ２２４を符号化ファイル２２５のトレーラに格納することで、符号化ファイル２２５を生成する。
【０１０２】
なお、データ処理部２３２は、図４で説明したように、結合した動的辞書の動的符号に重複が存在する場合には、動的符号の調整を行う。
【０１０３】
続いて、データ処理の要求が「符号化ファイルとマスタデータとの結合」である場合のデータ処理部２３２の処理の一例について説明する。係る処理は、図５で説明した処理に対応する。図５を用いて説明する。データ処理部２３２は、データソース１００ａから収集した符号化ファイルに含まれるデータ２５ａを、符号化ファイルテーブル２２１から取得する。また、データ処理部２３２は、マスタデータ２２２を、マスタ符号化規則データ２２３ａ（符号化規則５０ｂ）に基づき、カラム毎に符号化することで、データ２６ａ、動的辞書２６ｂを生成する。
【０１０４】
データ処理部２３２は、符号化規則５０ａ，５０ｂに基づいて、同じカラム（商品コード）のデータを比較し、一致したデータ２６ａに該当するカラム（単価）を、データ２５ａに追加することで、データ６３ａを生成する。例えば、データ２５ａの１行１列目の商品コードの動的符号「Ａ０００ｈ」と、データ２６ａの１行１列目の動的符号「Ａ０００ｈ」とが一致する。このため、データ処理部２３２は、データ６３ａの１行４列目に、データ２６ａの１行２列目の動的符号「Ａ１００ｈ」を登録する。
【０１０５】
例えば、データ２５ａの２行１列目の商品コードの動的符号「Ａ００１ｈ」と、データ２６ａの２行１列目の動的符号「Ａ００１ｈ」とが一致する。このため、データ処理部２３２は、データ６３ａの２行４列目に、データ２６ａの２行２列目の動的符号「Ａ２００ｈ」を登録する。
【０１０６】
データ処理部２３２は、符号化規則５０ａと、符号化規則５０ｂとを結合することで、符号化規則５０ｃを生成する。この符号化規則５０ｃは、結合後のデータ６３ａに対応する符号化規則となる。
【０１０７】
データ処理部２３２は、動的辞書２５ｂと動的辞書２６ｂとを結合することで、動的辞書６３ｂを生成する。データ処理部２３２は、動的辞書２５ｂおよび動的辞書２６ｂを、符号化ファイルテーブル２２１から取得する。データ処理部２３２は、動的辞書６３ｂを、動的辞書データ２２４に格納する。
【０１０８】
データ処理部２３２は、データ６３ａを符号化ファイル２２５の符号領域に格納し、動的辞書データ２２４を符号化ファイル２２５のトレーラに格納することで、符号化ファイル２２５を生成する。
【０１０９】
続いて、データ処理の要求が「符号化ファイルの演算」である場合のデータ処理部２３２の処理の一例について説明する。係る処理は、図６で説明した処理に対応する。図６を用いて説明する。データ処理部２３２は、データソース１００ａから収集した符号化ファイルに含まれるデータ２７ａを、符号化ファイルテーブル２２１から取得する。
【０１１０】
データ処理部２３２は、合計金額の演算を行う前に、合計金額のカラムを格納するための動的辞書２８ｂを用意する。図６の動的辞書２８ｂには、商品コード「１２４２（Ａ０００ｈ）」に対応する合計金額に割り当てる動的符号「Ｄ０００ｈ」が設定される。商品コード「２３４２（Ａ００１ｈ）」に対応する合計金額に割り当てる動的符号「Ｄ００１ｈ」が設定される。
【０１１１】
さらに、データ処理部２３２は、動的辞書２８ｂで割り当てた動的符号を含むデータ２８ａと、データ２７ａとを結合することで、データ６４ａを生成する。データ処理部２３２は、動的辞書２７ｂと動的辞書２８ｂとを結合することで、動的辞書６４ｂを生成する。
【０１１２】
データ処理部２３２は、上記処理を実行した後、商品コード「１２４２（Ａ０００ｈ）」に対応する合計金額、および、商品コード「２３４２（Ａ００１ｈ）」に対応する合計金額を演算し、算出結果を動的辞書２８ｂに設定する。データ処理部２３２が実行する演算の内容は、図４で説明した内容に対応する。
【０１１３】
データ処理部２３２は、データ６４ａを符号化ファイル２２５の符号領域に格納し、動的辞書６４ｂをトレーラに格納することで、符号化ファイル２２５を生成する。
【０１１４】
配信部２３３は、データ処理部２３２により生成された符号化ファイル２２５を、外部装置９０に配信する処理部である。
【０１１５】
次に、本実施例に係るデータ処理装置２００の処理手順について説明する。図１６は、データ処理装置の処理手順を示すフローチャートである。図１６に示すように、データ処理装置２００の収集部２３１は、外部装置９０から、データ処理の要求を受信する（ステップＳ１０１）。収集部２３１は、データ取得指示をデータソース１００に送信する（ステップＳ１０２）。
【０１１６】
収集部２３１は、符号化ファイルを収集する（ステップＳ１０３）。データ処理装置２００のデータ処理部２３２は、符号化規則管理データ２２３を読み込む（ステップＳ１０４）。データ処理部２３２は、結合処理を実行する（ステップＳ１０５）。データ処理部２３２は、演算処理を実行する（ステップＳ１０６）。
【０１１７】
データ処理装置２００は、処理を終了するか否かを判定する（ステップＳ１０７）。データ処理装置２００は、処理を終了しない場合には（ステップＳ１０７，Ｎｏ）、ステップＳ１０３に移行する。
【０１１８】
データ処理装置２００は、処理を終了する場合には（ステップＳ１０７，Ｙｅｓ）、ステップＳ１０８に移行する。データ処理装置２００の配信部２３３は、符号化ファイルを外部装置９０に配信する（ステップＳ１０８）。
【０１１９】
次に、図１６のステップＳ１０５に示した結合処理の処理手順について説明する。図１７は、結合処理の処理手順を示すフローチャートである。図１７に示すように、データ処理装置２００のデータ処理部２３２は、結合する方向が行方向である場合には（ステップＳ２０１，Ｙｅｓ）、ステップＳ２０２に移行する。データ処理部２３２は、結合する方向が行方向でない場合には（ステップＳ２０１，Ｎｏ）、ステップＳ２０５に移行する。
【０１２０】
データ処理部２３２は、符号化規則に該当するデータ同士を結合する（ステップＳ２０２）。データ処理部２３２は、動的辞書に重複があるか否かを判定する（ステップＳ２０３）。データ処理部２３２は、動的辞書に重複がある場合には（ステップＳ２０３，Ｙｅｓ）、動的符号を調整し（ステップＳ２０４）、ステップＳ２０５に移行する。データ処理部２３２は、動的辞書に重複がない場合には（ステップＳ２０３，Ｎｏ）、ステップＳ２０５に移行する。
【０１２１】
データ処理部２３２は、結合する方向が列方向である場合には（ステップＳ２０５，Ｙｅｓ）、ステップＳ２０６に移行する。データ処理部２３２は、結合する方向が列方向でない場合には（ステップＳ２０５，Ｎｏ）、結合処理を終了する。
【０１２２】
データ処理部２３２は、カラムを追加する（ステップＳ２０６）。データ処理部２３２は、符号化規則を更新する（ステップＳ２０７）。図１７で説明した処理は、図３〜図５で説明した処理に対応するものである。
【０１２３】
次に、図１６のステップＳ１０６に示した演算処理の処理手順について説明する。図１８は、演算処理の処理手順を示すフローチャートである。図１８に示すように、データ処理装置２００のデータ処理部２３２は、演算結果を格納する領域を、動的辞書に設定する（ステップＳ３０１）。
【０１２４】
データ処理部２３２は、演算結果に割り当てる動的符号を設定する（ステップＳ３０２）。データ処理部２３２は、演算対象のカラムに割り当てられた動的符号の数値を動的辞書から取得する（ステップＳ３０３）。
【０１２５】
データ処理部２３２は、動的辞書から取得した数値を基にして、演算を行う（ステップＳ３０４）。データ処理部２３２は、演算結果を動的辞書に格納する（ステップＳ３０５）。図１８で説明した処理は、図６で説明した処理に対応するものである。
【０１２６】
次に、本実施例に係るデータ処理装置２００の効果について説明する。データ処理装置２００は、データソース１００からカラム毎に動的符号化された符号化ファイルを取得し、特定の符号化規則に基づいて符号化データを符号化状態のまま、結合・演算等のデータ処理を実行する。このため、複数のデータソース１００からの符号化ファイルそれぞれについての解析処理を行うことなく、対象のデータ同士のデータ処理を高速に行うことができる。
【０１２７】
データソース１００から収集する符号化ファイルのトレーラには、単語又は数値と動的符号との関係を示す動的辞書の情報が含まれている。このため、データ処理装置２００は、かかる動的辞書を参照することで、符号化データを符号化状態のまま、結合・演算等のデータ処理を実行することができる。
【０１２８】
データ処理装置２００は、数値の演算を行う場合には、演算結果に割り当てる動的符号を事前に設定しておき、演算対象となる各数値を、数値に対応する動的符号と動的辞書とを基に特定し、演算を行う。また、データ処理装置２００は、演算結果を、事前に設定しておいた動的符号に対応付けて、動的辞書に登録する。このような処理を実行することで、図７で説明したように、符号化ファイルの伸長、カラム分割、数値変換（テキストからバイナリおよびバイナリからテキストへの変換）を省略できるため、演算処理を高速に行うことができる。
【０１２９】
データ処理装置２００は、複数の符号化ファイルを結合する場合に、各符号かファイルの動的辞書の結合も行う。ここで、データ処理装置２００は、結合した動的辞書に動的符号の重複が有る場合には、動的符号の調整を行う。このため、同一の動的符号に複数の単語、数値が対応付けられることを抑止することができる。
【０１３０】
次に、上記実施例に示したデータ処理装置２００と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図１９は、データ処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【０１３１】
図１９に示すように、コンピュータ３００は、各種演算処理を実行するＣＰＵ３０１と、ユーザからのデータの入力を受け付ける入力装置３０２と、ディスプレイ３０３とを有する。また、コンピュータ３００は、記憶媒体からプログラム等を読み取る読み取り装置３０４と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインタフェース装置３０５とを有する。コンピュータ３００は、通信装置３０６を有する。また、コンピュータ３００は、各種情報を一時記憶するＲＡＭ３０７と、ハードディスク装置３０８とを有する。そして、各装置３０１〜３０８は、バス３０９に接続される。
【０１３２】
ハードディスク装置３０８は、収集プログラム３０８ａ、データ処理プログラム３０８ｂ、配信プログラム３０８ｃを有する。ＣＰＵ３０１は、収集プログラム３０８ａ、データ処理プログラム３０８ｂ、配信プログラム３０８ｃを読み出してＲＡＭ３０７に展開する。
【０１３３】
収集プログラム３０８ａは、収集プロセス３０７ａとして機能する。データ処理プログラム３０８ｂは、データ処理プロセス３０７ｂとして機能する。配信プログラム３０８ｃは、配信プロセス３０７ｃとして機能する。
【０１３４】
収集プロセス３０７ａの処理は、収集部２３１の処理に対応する。データ処理プロセス３０７ｂの処理は、データ処理部２３２の処理に対応する。配信プロセス３０７ｃの処理は、配信部２３３の処理に対応する。
【０１３５】
なお、各プログラム３０８ａ〜３０８ｃについては、必ずしも最初からハードディスク装置３０８に記憶させておかなくても良い。例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ３００が各プログラム３０８ａ〜３０８ｃを読み出して実行するようにしても良い。
【０１３６】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１３７】
（付記１）コンピュータに
複数のデータソースにそれぞれ蓄積されたデータを用いたデータ処理の要求を受信し、
前記複数のデータソースそれぞれに対して、前記要求に対応するデータ取得指示をそれぞれ送信し、
前記複数のデータソースから、前記データ取得指示に対応し、特定の符号化規則により符号化された符号化データをそれぞれ受信し、
前記符号化規則、および、前記複数のデータソースから受信した符号化データを用いて、符号化状態でデータ処理を実行させる
ことを特徴とするデータ処理プログラム。
【０１３８】
（付記２）前記データ処理は、前記複数のデータソースからそれぞれ受信したデータの結合または前記データに含まれる数値の演算を含み、前記複数のデータソースから受信するデータには、符号化対象のデータと、前記符号化対象のデータに割り当てた動的符号との関係を示す動的辞書の情報が含まれることを特徴とする付記１に記載のデータ処理プログラム。
【０１３９】
（付記３）前記データ処理に前記数値の演算が含まれる場合には、前記動的辞書に格納された数値同士の演算結果を、別途、前記動的辞書に格納する処理を更に実行することを特徴とする付記２に記載のデータ処理プログラム。
【０１４０】
（付記４）前記複数のデータソースから受信する各動的辞書の情報を比較し、同一の動的符号が各動的辞書に含まれる場合には、動的符号を調整する処理を更に実行することを特徴とする付記２に記載のデータ処理プログラム。
【０１４１】
（付記５）前記複数のデータソースで実行される符号化は、デリミタで区分された複数のカラムを有するレコードを複数有するデータに対して、カラム毎に符号化されていることを特徴とする付記１〜４のいずれか一つに記載のデータ処理プログラム。
【０１４２】
（付記６）コンピュータが実行するデータ処理方法であって、
複数のデータソースにそれぞれ蓄積されたデータを用いたデータ処理の要求を受信し、
前記複数のデータソースそれぞれに対して、前記要求に対応するデータ取得指示をそれぞれ送信し、
前記複数のデータソースから、前記データ取得指示に対応し、特定の符号化規則により符号化された符号化データをそれぞれ受信し、
前記符号化規則、および、前記複数のデータソースから受信した符号化データを用いて、符号化状態でデータ処理を行う
ことを特徴とするデータ処理方法。
【０１４３】
（付記７）前記データ処理は、前記複数のデータソースからそれぞれ受信したデータの結合または前記データに含まれる数値の演算を含み、前記複数のデータソースから受信するデータには、符号化対象のデータと、前記符号化対象のデータに割り当てた動的符号との関係を示す動的辞書の情報が含まれることを特徴とする付記６に記載のデータ処理方法。
【０１４４】
（付記８）前記データ処理に前記数値の演算が含まれる場合には、前記動的辞書に格納された数値同士の演算結果を、別途、前記動的辞書に格納する処理を更に実行することを特徴とする付記７に記載のデータ処理方法。
【０１４５】
（付記９）前記複数のデータソースから受信する各動的辞書の情報を比較し、同一の動的符号が各動的辞書に含まれる場合には、動的符号を調整する処理を更に実行することを特徴とする付記７に記載のデータ処理方法。
【０１４６】
（付記１０）前記複数のデータソースで実行される符号化は、デリミタで区分された複数のカラムを有するレコードを複数有するデータに対して、カラム毎に符号化されていることを特徴とする付記６〜９のいずれか一つに記載のデータ処理方法。
【０１４７】
（付記１１）複数のデータソースにそれぞれ蓄積されたデータを用いたデータ処理の要求を受信し、前記複数のデータソースそれぞれに対して、前記要求に対応するデータ取得指示をそれぞれ送信し、前記複数のデータソースから、前記データ取得指示に対応し、特定の符号化規則により符号化された符号化データをそれぞれ受信する収集部と、
前記符号化規則、および、前記複数のデータソースから受信した符号化データを用いて、符号化状態でデータ処理を行うデータ処理部と
を有することを特徴とするデータ処理装置。
【０１４８】
（付記１２）前記データ処理部が実行する前記データ処理は、前記複数のデータソースからそれぞれ受信したデータの結合または前記データに含まれる数値の演算を含み、前記複数のデータソースから受信するデータには、符号化対象のデータと、前記符号化対象のデータに割り当てた動的符号との関係を示す動的辞書の情報が含まれることを特徴とする付記１１に記載のデータ処理装置。
【０１４９】
（付記１３）前記データ処理部は、前記データ処理に前記数値の演算が含まれる場合には、前記動的辞書に格納された数値同士の演算結果を、別途、前記動的辞書に格納する処理を更に実行することを特徴とする付記１２に記載のデータ処理装置。
【０１５０】
（付記１４）前記データ処理部は、前記複数のデータソースから受信する各動的辞書の情報を比較し、同一の動的符号が各動的辞書に含まれる場合には、動的符号を調整する処理を更に実行することを特徴とする付記１２に記載のデータ処理装置。
【０１５１】
（付記１５）前記複数のデータソースで実行される符号化は、デリミタで区分された複数のカラムを有するレコードを複数有するデータに対して、カラム毎に符号化されていることを特徴とする付記１１〜１４のいずれか一つに記載のデータ処理装置。
【符号の説明】
【０１５２】
９０  外部装置
１００ａ，１００ｂ，１００ｃ  データソース
２００  データ処理装置
【図１】
2018180645.tif 000003
【図２】
2018180645.tif 000004
【図３】
2018180645.tif 000005
【図４】
2018180645.tif 000006
【図５】
2018180645.tif 000007
【図６】
2018180645.tif 000008
【図７】
2018180645.tif 000009
【図８】
2018180645.tif 000010
【図９】
2018180645.tif 000011
【図１０】
2018180645.tif 000012
【図１１】
2018180645.tif 000013
【図１２】
2018180645.tif 000014
【図１３】
2018180645.tif 000015
【図１４】
2018180645.tif 000016
【図１５】
2018180645.tif 000017
【図１６】
2018180645.tif 000018
【図１７】
2018180645.tif 000019
【図１８】
2018180645.tif 000020
【図１９】
2018180645.tif 000021
【図２０】
2018180645.tif 000022