JP2006171800A - データ集計装置、その方法、及びプログラム - Google Patents
データ集計装置、その方法、及びプログラム Download PDFInfo
- Publication number
- JP2006171800A JP2006171800A JP2004358947A JP2004358947A JP2006171800A JP 2006171800 A JP2006171800 A JP 2006171800A JP 2004358947 A JP2004358947 A JP 2004358947A JP 2004358947 A JP2004358947 A JP 2004358947A JP 2006171800 A JP2006171800 A JP 2006171800A
- Authority
- JP
- Japan
- Prior art keywords
- data
- file
- files
- program
- item
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
Abstract
【課題】 複数のアプリケーションにより蓄積されたファイル(データ)から必要なデータを自動的に取得するための技術を提供する。
【解決手段】 マスタファイルMから状態遷移テーブルである置換オートマトンAを生成し、そのオートマトンAを用いて、マスタファイルM、ジャーナルファイルMから必要なデータを抽出してまとめたテンポラリファイルTを生成する。TRIE構造の統計ヒドラHは、集計条件SCを参照して、テンポラリファイルTから生成する。集計条件SCで指定された操作は、統計ヒドラHに存在するノードのなかで着目するノードを変更しながら行う。それによって得られた集計結果をまとめて集計結果ファイルKを生成する。
【選択図】図3A
【解決手段】 マスタファイルMから状態遷移テーブルである置換オートマトンAを生成し、そのオートマトンAを用いて、マスタファイルM、ジャーナルファイルMから必要なデータを抽出してまとめたテンポラリファイルTを生成する。TRIE構造の統計ヒドラHは、集計条件SCを参照して、テンポラリファイルTから生成する。集計条件SCで指定された操作は、統計ヒドラHに存在するノードのなかで着目するノードを変更しながら行う。それによって得られた集計結果をまとめて集計結果ファイルKを生成する。
【選択図】図3A
Description
本発明は、一つ以上のファイルから必要なデータを抽出、或いは生成して別ファイルにまとめるための技術に関する。
企業などの組織では、業務をより効率的に行えるように、アプリケーション・プログラム(以下「アプリケーション」と略記)が広く用いられている。業務内容によってアプリケーションに要求される機能は異なる。このこともあって、組織の大部分は、多くのアプリケーションを用いている。
アプリケーションは通常、入力できるデータ(ファイル)、出力できるデータ(ファイル)を独自の立場で想定して開発される。このため、或るアプリケーションで出力されたデータ(ファイル)は別のアプリケーションでは扱えないのが普通である。このことから、組織のなかには、図1に示すように、データウェアハウス(DWH)を構築したDWHサーバを用意して、アプリケーション間のデータの受け渡しを可能とさせているところが存在する。図1中、それぞれ4つ示す「基幹業務システム」、及び「マートサーバ」はアプリケーションを搭載したデータ処理装置に相当する。例えばPOS(Point Of Sales)データやHHT(Hand Held Terminal)データなどは、基幹業務システムで蓄積されるデータに相当する。
DWHサーバは、各基幹業務システムのデータを格納したデータウェアハウスから抽出されるデータマートを各マートサーバに提供する。それにより、各基幹業務システムで生成・蓄積されたデータは、例えば図2に示すように各マートサーバに提供される。
データウェアハウスは、リレーショナル・データベース(RDB)技術を前提としている。RDBでは、データ構造を表形式で表現する。各表は、アプリケーションとデータの独立性を高めるために、管理対象となる元データ(非正規化データ)の冗長性を極力排除し、関連性の強いデータだけをまとめるのが普通である。そのようにして、データを正規化することにより、データウェアハウスでは正規化されたデータのみを対象に処理を行わせるのが普通となっていた。
マートサーバ(アプリケーション)に必要なデータマートは随時、変更される。データウェアハウスでは、正規化したデータを対象とすることから、その変更に合わせた正規化を新たに行わなくてはならない。その変更により必要となる非正規化データを事前にデータクレンジング(形式統一、重複排除、など)しなければならない。
従来、そのデータクレンジングは、ETL(Extract/Transform/Load)ツールなどを用いて行うようになっていた。そのため、データマートの変更に容易に対応できず、高いコストが掛かっていた。
データウェアハウスが管理するデータはアプリケーションにより生成されるものである。そのため、データマートの変更はアプリケーションのアップデートでも対応することができる。しかし、そのアップデートには、長い時間とコストが掛かるのが普通である。このことから、アプリケーションのアップデート等を行うことなく対応できるようにすることが重要であると考えられる。
データウェアハウスのなかには、1つのファイルを対象に、そのファイルに格納されているデータの操作を行うツールが用意されているものがある。しかし、図2に示すように、複数の基幹業務システムのデータを含んでいるデータマートは少なくないのが実情である。これは、その用意されたツールを利用できる状況は非常に限られていることを意味する。このことから、複数のファイルに対応できるようにすることは非常に重要であると考えられる。
複数のファイルへの対応は、複数のアプリケーションをサポートすることを意味する。複数のアプリケーションにより蓄積されたファイル(データ)から必要なデータを得られるようにすれば、一般的に高価なデータウェアハウス(RDB)自体も不要にできると考えられる。
特開平10−105576号公報
特開平6−309343号公報
本発明は、複数のアプリケーションにより蓄積されたファイル(データ)から必要なデータを自動的に取得するための技術を提供することを目的とする。
本発明の第1の態様のデータ集計装置は、一つ以上のファイルにそれぞれ格納されているデータのなかで必要なデータを抽出して別ファイルに格納できるものであり、必要なデータの項目を示す項目情報を取得する情報取得手段と、情報取得手段が取得した項目情報を基に、一つ以上のファイルから必要なデータを抽出して別ファイルに格納するデータ併合手段と、を具備する。
なお、上記データ併合手段は、複数のファイルから必要なデータを抽出する場合、少なくとも一つのファイルに格納されている必要なデータから状態遷移テーブルを作成し、残りのファイルに格納されている必要なデータを該状態遷移テーブルにより抽出する、ことが望ましい。また、情報取得手段は、項目情報の他に、必要なデータを対象に行うべき操作を示す操作情報を取得することができ、データ併合手段は、情報取得手段が操作情報を取得した場合、項目情報を基に必要なデータを一時ファイルに格納し、該一時ファイルに格納した必要なデータを対象に該操作情報が示す操作を行い、該操作によって得られたデータを該必要なデータのうちの少なくとも一つとともに別ファイルに格納する、ことが望ましい。
本発明の第2の態様のデータ集計装置は、複数のファイルにそれぞれ格納されているデータを操作して得られるデータを別ファイルに格納できるものであり、データを対象に行うべき操作、及び該操作の対象となるデータを示す操作情報を取得する情報取得手段と、情報取得手段が取得した操作情報を基に、複数のファイルから操作の対象となるデータを抽出して操作を行う操作手段と、操作手段が操作を行うことにより得られたデータを別ファイルに出力するデータ出力手段と、を具備する。
本発明の第1の態様のデータ集計方法は、一つ以上のファイルにそれぞれ格納されているデータのなかで必要なデータを抽出して別ファイルに格納するための方法であって、必要なデータの項目を示す項目情報を基に、一つ以上のファイルから必要なデータを抽出して別ファイルに格納するプログラムを用意し、プログラムに項目情報を与えて実行させることにより、一つ以上のファイルから必要なデータを抽出させて別ファイルに格納させる。
なお、上記プログラムは、項目情報の他に、必要なデータを対象に行うべき操作を示す操作情報に対応させ、そのプログラムに項目情報、及び操作情報を与えて実行させることにより、一つ以上のファイルから必要なデータを抽出させるとともに、該必要なデータを対象に該操作情報が示す操作を行わせ、該操作によって得られたデータを該必要なデータのうちの少なくとも一つとともに別ファイルに格納させる、ことが望ましい。
また、そのプログラムとして、項目情報に対応させた第1のプログラム、及び操作情報に対応させた第2のプログラム、をそれぞれ用意し、第2のプログラムによる操作情報が示す操作は、第1のプログラムが生成するファイルに格納されたデータを対象に行わせる、ことが望ましい。
本発明の第2の態様のデータ集計方法は、複数のファイルにそれぞれ格納されているデータを操作して得られるデータを別ファイルに格納するための方法であって、データを対象に行うべき操作、及び該操作の対象となるデータを示す操作情報を基に、複数のファイルから操作の対象となるデータを抽出して操作を行うプログラムを用意し、プログラムに操作情報を与えて実行させることにより、複数のファイルから操作の対象となるデータを抽出して操作を行わせ、該操作によって得られたデータを別ファイルに格納させる。
本発明の第1の態様のプログラムは、一つ以上のファイルにそれぞれ格納されているデータのなかで必要なデータを抽出して別ファイルに格納できるデータ集計装置に実行させることを前提とし、必要なデータの項目を示す項目情報を取得する機能と、取得する機能により取得した項目情報を基に、一つ以上のファイルから必要なデータを抽出して別ファイルに格納する機能と、を実現させる。
本発明の第2の態様のプログラムは、複数のファイルにそれぞれ格納されているデータを操作して得られるデータを別ファイルに格納できるデータ集計装置に実行させることを前提とし、データを対象に行うべき操作、及び該操作の対象となるデータを示す操作情報を取得する機能と、取得する機能により取得した操作情報を基に、複数のファイルから操作の対象となるデータを抽出して操作を行う機能と、操作を行う機能によって操作を行うことにより得られたデータを別ファイルに出力する機能と、を実現させる。
本発明は、一つ以上のファイルにそれぞれ格納されているデータのなかで必要なデータの項目を示す項目情報を基に、一つ以上のファイルから必要なデータを自動的に抽出して別ファイルに格納する。そのため、複数のアプリケーションによって生成・蓄積されたファイルにそれぞれ格納させているデータであっても、そのなかで必要なデータを容易に得ることができる。必要なデータの変更は、項目情報の変更により容易に対応することができる。
本発明は、データを対象に行うべき操作、及び該操作の対象となるデータを示す操作情報を基に、複数のファイルから操作の対象となるデータを自動的に抽出して操作を行い、その操作を行うことにより得られたデータを別ファイルに出力する。そのため、複数のアプリケーションによって生成・蓄積されたファイルにそれぞれ格納させているデータから必要なデータを容易に得ることができる。必要なデータの変更は、操作情報の変更により容易に対応することができる。
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図3Aは、本実施の形態によるデータ集計装置が行う処理の概要を説明する図であり、図4は、そのデータ集計装置の構成を説明する図である。本実施の形態では、図4に示すように、集計装置100はネットワークを介して接続された端末装置10のユーザに対してサービスを提供するサーバーとして実現されている。
図3Aは、本実施の形態によるデータ集計装置が行う処理の概要を説明する図であり、図4は、そのデータ集計装置の構成を説明する図である。本実施の形態では、図4に示すように、集計装置100はネットワークを介して接続された端末装置10のユーザに対してサービスを提供するサーバーとして実現されている。
先ず、図3Aを参照して、データ集計装置(以下「集計装置」と略記)100が行う処理の概要について説明する。その図3Aは、或る基幹業務システムで生成・蓄積されたジャーナルファイルJ、及び業務の最も基本となるデータを格納しているマスタファイルMから必要なデータを抽出する場合のものである。ジャーナルファイルJには、ファクトデータが格納されている。各ファイルJ、Mにそれぞれ格納されているデータは非正規化データである。
置換オートマトンAは、1981年に発表された文字列照合エンジン・SIGMAで採用されたアルゴリズムを利用して生成される状態遷移テーブルである。その生成は、例えばマスタファイルMに格納されたデータのなかで主キーとなるデータをスライスし、スライスしたデータを予め設定の操作情報に基づく変換後DFA構造で表現することで行われる。そのようにして生成されるオートマトンは、複数のデータからなるデータ列の数が多くなってもデータ探査は一度のみ、すなわち検索時間は常に一定という特長を持っている。操作情報によるジャーナルファイルJの主ノード指定機能により、1件のジャーナルレコードからデータ生成単位が繰り返し出現した場合には、その出現ノード単位にテンポラリレコードを生成する。
ジャーナルファイルJ、マスタファイルMから必要なデータを抽出する場合、先ず、マスタファイルMから上述したようにして置換オートマトンAを生成する(シーケンスS1)。そのオートマトンAは、各枝葉の終端ノード部分には必要なデータ、即ち条件に合致したデータを格納する領域を確保して生成する。次に、ジャーナルファイルJに格納されているファクトデータを先頭から最終まで逐次的に一方向に置換オートマトンAに流す(シーケンスS2)。このとき置換オートマトンAに格納されるファクトデータは指定の形式に置換される。そのファクトデータはそれぞれ、例えば1つのノードとして扱われる。その後、各ファイルJ、Mのデータを置換して併合した形のテンポラリファイルTを生成する(シーケンスS3)。
テンポラリファイルTを生成すると、次に、そのファイルTに格納されたデータを先頭から最終まで逐次的に読み込み、上記SIGMAアルゴリズムを利用してTRIE構造Hを生成する(シーケンスS4)。そのTRIE構造Hは、置換オートマトンAの応用技術で生成される状態遷移テーブルである。集計条件SCから特定される各枝葉の終端ノード部分には他のデータを格納する領域を確保している。図中、生成したTRIE構造(状態遷移テーブル)Hは「統計ヒドラ」と表記している。以降、その表記を用いる。
上記集計条件SCは、例えば統計処理の対象となるデータ、その内容を示すものである。統計処理としては、データ数のカウント、数値の合計、或いは最大値、若しくは最小値の抽出、などの操作が代表的なものである。統計ヒドラHに確保した領域は、統計処理により得られるデータの格納に用いられる。
図3Bは、マスタファイルMに格納されたデータ例を説明する図であり、図3Cは、そのマスタファイルM、及び集計条件SCから作成される統計ヒドラHの構成例を説明する図である。
図3Bに示すマスタファイルMは、タグ「ELM」、及び「ID」が配置されたルート要素「REC」をそれぞれレコードとして格納したものである。ここでは、各タグはそれぞれ項目に相当する。
図3Cに示す統計ヒドラHは、タグ「ELM」のデータ(図中「BAA」等が相当)を主キーにして作成した場合のものである。図中の集計域は、統計処理用に確保した領域に相当する。図3Cに示すような集計域の確保は、集計条件SCにより統計処理をタグ「ELM」毎、及びそのタグ「ELM」とタグ「ID」の組み合わせ毎にそれぞれ行うことを指定された場合に行われる。それにより、データが異なるタグ「ELM」毎、及び何れかのデータが異なるタグ「ELM」とタグ「ID」の組み合わせ毎に集計域が確保されている。
全てのレコードを対象にした統計処理を更に行う場合には、根に集計域が確保される。各集計域は遷移するノードの何れかに必ず存在することから、根に近いほうのノードでの統計処理結果はそれよりも遠いノードでの統計処理結果をまとめたものとすることができる。
統計ヒドラHの生成後は、根から終端ノードに着目するノードを順次、移行させながら、集計条件SCで指定された統計処理を行い、その統計処理により得られるデータを格納することにより、集計結果ファイルKを生成する(シーケンスS5)。そのファイルKが端末装置10のユーザに提供される。
上述したようにして生成される集計結果ファイルKは、ジャーナルファイルJ、マスタファイルMから抽出した必要なデータ、及び統計処理により得たデータを正規化してまとめたものである。図1では、マートサーバに与えるマートデータに相当する。そのため、データウェアハウスが用意されていなくとも、端末装置10のユーザは複数の基幹業務システム(アプリケーション)でそれぞれ生成・蓄積されたファイルのデータを活用することができる。それらのファイルからのデータの抽出、及びそのデータを用いた統計処理は自動的に行われる。このため、それらのファイルのデータは容易に得ることができる。それにより、マートデータの変更などにも容易、且つ迅速に対応することができる。
次に、図4を参照して、上述したようにして集計結果ファイルKを生成する集計装置100の機能構成について詳細に説明する。
その集計装置100には、図中、200−1、200−2、及び200−nを付したデータ集計装置サブノード(以降「サブノード」と略記する)200が複数、接続されている。図3Aに概要を示す処理は、サブノード200によって行われる。図4では、サブノード200−1が有するジャーナルファイルには符号として「J1」を付すことにより、サブノード200とそれが有するジャーナルファイルJの関係を表している。これは、テンポラリファイルT、及び集計結果ファイルKにおいても同様である。
その集計装置100には、図中、200−1、200−2、及び200−nを付したデータ集計装置サブノード(以降「サブノード」と略記する)200が複数、接続されている。図3Aに概要を示す処理は、サブノード200によって行われる。図4では、サブノード200−1が有するジャーナルファイルには符号として「J1」を付すことにより、サブノード200とそれが有するジャーナルファイルJの関係を表している。これは、テンポラリファイルT、及び集計結果ファイルKにおいても同様である。
端末装置10のユーザは、データを抽出すべきファイル、そのデータの項目、抽出したデータに対して行うべき統計処理などを指定する集計命令を集計装置100に通知して、集計結果ファイルKの生成を行わせる。その集計命令は、ネットワークを介して集計装置100に送信され、集計命令通知部102により各サブノード200に送信される。ここでは混乱を避けるために、特に断らない限り、サブノード200は一つのみを想定して以降の説明を行うこととする。
データ配布部101は、集計命令で指定されたジャーナルファイルJをサブノード200に送信する。そのファイルJは、サブノード200のデータ受取部201によって受信され、保存される。集計命令通知部102から送信された集計命令は、集計命令受取部202によって受信される。集計装置100が管理、或いは取得したマスタファイルM1、Mnは、例えば集計命令での指定に応じてサブノード200に送信される。
サブノード200のデータ併合置換部203は、集計命令受取部200が受信した集計命令に従い、集計装置100から送信されたジャーナルファイルJ、マスタファイルMから抽出すべきデータを抽出してテンポラリファイルTを生成する。それにより、図3Aに示すシーケンスS1〜3は、データ併合置換部203によって実現される。
集計命令受取部202が受信した集計命令の一部はデータ集計部204に送られる。その集計部204は、受け取った集計命令、及びテンポラリファイルTから統計ヒドラH(図3C)を生成し、その集計命令で指定された統計処理を行うことにより集計結果ファイルKを生成する。それにより、図3Aに示すシーケンスS4、S5は、データ集計部204によって実現される。生成された集計結果ファイルKは、集計結果通知部205によって集計装置100に送信される。
集計装置100には、集計命令を送信したサブノード200からそれぞれ集計結果ファイルKが送信される。集計装置100の集計結果併合部103は、各サブノード200から送信された集計結果ファイルKを一つにまとめることで併合する。そのようにして得られた集計結果ファイルK、或いはそれについての情報は、集計結果応答部104によって端末装置10に送信される。
このようにして、集計装置100は、ネットワークを介して接続された端末装置10のユーザに対し、そのユーザが必要とするデータを複数のファイルから抽出して提供するサービスを行う。
図5は、その集計装置100を実現できるコンピュータのハードウェア構成の一例を示す図である。集計装置100は複数のコンピュータ(データ処理装置)により実現させても良いが、ここでは図5に構成を示す1台のコンピュータによって実現されていることを前提として説明することとする。サブノード200を含め、1台のコンピュータによって実現させても良い。
図5に示すコンピュータは、CPU51、メモリ52、入力装置53、出力装置54、外部記憶装置55、媒体駆動装置56、及びネットワーク接続装置57を有し、これらがバス58によって互いに接続された構成となっている。同図に示す構成は一例であり、これに限定されるものではない。
CPU51は、コンピュータ全体を制御する中央処理装置である。
メモリ52は、データを一時的に格納するRAM等のメモリである。外部記憶装置55、若しくは媒体駆動装置56がアクセスする可搬記録媒体MDに記憶されているプログラム、あるいはデータが一時的に格納される。CPU51は、プログラムをメモリ52に読み出して実行することにより、全体の制御を行う。
メモリ52は、データを一時的に格納するRAM等のメモリである。外部記憶装置55、若しくは媒体駆動装置56がアクセスする可搬記録媒体MDに記憶されているプログラム、あるいはデータが一時的に格納される。CPU51は、プログラムをメモリ52に読み出して実行することにより、全体の制御を行う。
入力装置53は、例えば、キーボード、マウス等の入力機器と接続されているか、或いはそれらを有するものである。そのような入力機器に対するユーザの操作を検出し、その検出結果をCPU51に通知する。
出力装置54は、例えばディスプレイと接続されているか、或いはそれを有するものである。CPU51の制御によって送られてくるデータをディスプレイ上に出力させる。
ネットワーク接続装置57は、例えばイントラネットやインターネット等のネットワークを介して、他の装置と通信を行うためのものである。外部記憶装置55は、例えばハードディスク装置である。主に各種データやプログラムの保存に用いられる。
ネットワーク接続装置57は、例えばイントラネットやインターネット等のネットワークを介して、他の装置と通信を行うためのものである。外部記憶装置55は、例えばハードディスク装置である。主に各種データやプログラムの保存に用いられる。
記憶媒体駆動装置56は、フレキシブル・ディスク、光ディスク(ここではCD−ROM、CD−R、及びDVD等を含む)、或いは光磁気ディスク等の可搬型の記録媒体MDにアクセスするものである。
図4に示す集計装置100を構成する各部101〜104は、例えば及びバス58によって接続されたCPU51、メモリ、外部記憶装置55、及びネットワーク接続装置57によって実現される。それらを有するコンピュータによってサブノード200も実現させることができる。
次に、図6〜図17に示す説明図を参照して、上記集計装置100で行われる処理、及びその処理を行わせるための方法について具体的に説明する。
図6、及び図7は、マスタファイルMのデータ構成を説明する図である。それらのファイルMは、XML形式でデータを記述した場合のものである。タグ名「Mst1」「Mst2」の各要素はそれぞれ1レコードに相当する。以降、便宜的に、図6、及び図7にそれぞれ示すマスタファイルMはマスタファイルM1、M2と表記する。
図6、及び図7は、マスタファイルMのデータ構成を説明する図である。それらのファイルMは、XML形式でデータを記述した場合のものである。タグ名「Mst1」「Mst2」の各要素はそれぞれ1レコードに相当する。以降、便宜的に、図6、及び図7にそれぞれ示すマスタファイルMはマスタファイルM1、M2と表記する。
図8は、ジャーナルファイルJのデータ構成を説明する図である。そのファイルJも同様に、XML形式でデータを記述した場合のものである。タグ名「jnl」の各要素はそれぞれ1レコードに相当する。
図9は、ジャーナルファイルJの他のデータ構成を説明する図である。そのデータ構成は、図8に示すジャーナルファイルJと同じ内容を別の方法で記述した場合のものである。レコードによって異なるデータはタグ名「meisai」の要素としてまとめられている。
図10は、図6、図7にそれぞれ示すマスタファイルM1、M2、及び図8、或いは図9に示すジャーナルファイルJから生成されるテンポラリファイルTのデータ構成を説明する図である。
テンポラリファイルTは、マスタファイルM、ジャーナルファイルJとは異なり、CSVファイルとしている。そのファイルTには、図10に示すように、先頭行に項目ラベルが、2行目以降にデータがダブルクォーテーションで括りカンマ区切りで出力される。図11は、ジャーナルファイルJのレコード数がより多くなった場合のテンポラリファイルTのデータ構成を説明する図である。
図12は、図11に示すテンポラリファイルTから生成される集計結果ファイルKのデータ構成を説明する図である。
図12において、図11に示されていない項目ラベル、つまり項目ラベル「ValSUM」「ValMAX」及び「CT」は統計処理により得たデータのものである。また、「−」が表記された行は、統計処理により得たデータを出力するために追加されたものである。
図12において、図11に示されていない項目ラベル、つまり項目ラベル「ValSUM」「ValMAX」及び「CT」は統計処理により得たデータのものである。また、「−」が表記された行は、統計処理により得たデータを出力するために追加されたものである。
図12に示す集計結果ファイルKは図11に示すテンポラリファイルTから生成され、そのテンポラリファイルTは、図6、図7にそれぞれ示すマスタファイルM1、M2、及び図8、或いは図9に示すジャーナルファイルJから生成される。ここでは、図6、図7にそれぞれ示すマスタファイルM1、M2、及び図8、或いは図9に示すジャーナルファイルJから図11に示すテンポラリファイルTを生成させ、更に図12に示す集計結果ファイルKを生成させる場合を例にとって、それらの生成を行わせるための方法について具体的に説明する。
本実施の形態では、テンポラリファイルT、集計結果ファイルKの生成をそれぞれ独立して行えるようにしている。このことから、始めにテンポラリファイルTを生成させる方法について具体的に説明する。
図13は、テンポラリファイルTを生成させるためのコマンド例を説明する図である。そのコマンドはC言語の形式で記述するようにしている。図13中、「shunReplace.h」は、テンポラリファイルTを生成するプログラム(関数)が格納されたファイルのファイル名、「xshun_GetReplace」はその関数名である。それにより、テンポラリファイルTを生成するうえでの条件は、図中「*」を付して「LIstDef」「out_file」と表記のその関数「xshun_GetReplace」の引数で定義するようにさせている。
引数LIstDefとしては、対象となるファイル、ファイルから抽出するデータの項目等を定義した連結条件ファイルをアクセスするための情報を指定する。引数out_fileとしては、テンポラリファイルTの出力先を示す情報を指定する。本実施の形態では、それらの情報はフルパスで指定させるようにしている。引数ErrMsgは、エラーメッセージを通知するためのものである。
図14は、連結条件ファイルに格納されたデータ例を説明する図である。それは、図8に示すジャーナルファイルJからテンポラリファイルTを生成させる場合のものである。
図14に表記の「CharCode」「JnlFile」「MstFile」「ListDef」「OutputDef」及び「Jcondition」はそれぞれパラメータ名である。パラメータ「CharCode」としてはキャラクタ識別コード、パラメータ「JnlFile」としてはジャーナルファイルJへのパス、パラメータ「MstFile」としてはマスタファイルMへのパス、パラメータ「ListDef」としては項目ラベルと要素の対応関係、パラメータ「OutputDef」としてはテンポラリファイルTに出力するデータの項目ラベル、パラメータ「Jcondition」としては種類が一致する項目ラベルの関係、をそれぞれ指定するようになっている。
図14に表記の「CharCode」「JnlFile」「MstFile」「ListDef」「OutputDef」及び「Jcondition」はそれぞれパラメータ名である。パラメータ「CharCode」としてはキャラクタ識別コード、パラメータ「JnlFile」としてはジャーナルファイルJへのパス、パラメータ「MstFile」としてはマスタファイルMへのパス、パラメータ「ListDef」としては項目ラベルと要素の対応関係、パラメータ「OutputDef」としてはテンポラリファイルTに出力するデータの項目ラベル、パラメータ「Jcondition」としては種類が一致する項目ラベルの関係、をそれぞれ指定するようになっている。
図14では、パラメータ「JnlFile」に対する記述により、図8に示すジャーナルファイルJはJournalとして仮想的に扱うことを定義している。同様に、パラメータ「MstFile」に対する記述により、図7に示すマスタファイルM2はMaster1、図6に示すマスタファイルM1はMaster2として仮想的に扱うことを定義している。
パラメータ「ListDef」は、仮想的なファイル毎に、そのファイルの要素として格納されたデータの項目ラベルを定義するようになっている。その項目ラベルは「$」を先頭に付した文字列で定義する。それにより、例えば項目ラベル「Kbn」のデータは、ジャーナルファイルJのタグ名「jnl」内に配置されているタグ名「Number」の要素として格納されたデータであることが定義されている。「text()」は、データの型を指定する記述である。これは他でも同様である。パラメータ「ListDef」で定義した項目ラベルのデータがテンポラリファイルTへの出力対象として扱われる。
パラメータ「OutputDef」によるデータの指定は、パラメータ「ListDef」で記述された項目ラベルで行うようにしている。パラメータ「Jcondition」による種類が一致する項目ラベルの関係の記述も同様である。種類が同じデータも格納されたファイル別に異なる項目ラベルを定義しなければならないことから、パラメータ「Jcondition」の記述は複数のファイル間において連結して扱うべきレコートの関係(連結条件)を定義していることになる。
上記パラメータにおいて、パラメータ「CharCode」「MstFile」は省略が可能である。省略が可能なパラメータとしては、他にパラメータ「Jnode」が存在する。そのパラメータ「Jnode」としては、テンポラリファイルTに出力するレコード単位を記述するようにしている。それにより、図9に示すジャーナルファイルJを指定した場合には、図15に示すように、連結条件ファイルにはパラメータ「Jnode」の記述が追加される。その記述は、ルート要素「Jnl」のタグ名「Body」内に配置されたタグ名「Meisai」の要素毎に1レコードを出力させることを表している。
関数「xshun_GetReplace」は、引数で指定された連結条件ファイルを読み込み、例えばそのファイルで指定されたマスタファイルMから置換オートマトンAを生成する。そのマスタファイルMから抽出すべきデータの項目は、パラメータ「ListDef」の記述(出力項目定義)から特定する。マスタファイルM間で連結すべきレコードの関係はパラメータ「Jcondition」の記述(連結条件定義)から特定する。ジャーナルファイルJから抽出すべきデータの項目も同様に、パラメータ「ListDef」「Jcondition」の各記述から特定する。そのようにして特定した項目のデータをジャーナルファイルJから抽出して置換オートマトンAに格納する。
マスタファイルM間で連結すべきレコードの関係がパラメータ「Jcondition」の記述から特定できないこともありうる。その場合には、例えばそのファイルで指定されたマスタファイルMの一つに注目して置換オートマトンAを生成し、残りのマスタファイルMはジャーナルファイルJとして扱うことで対応することができる。
置換オートマトンAに格納したデータは、テンポラリファイルTにパラメータ「OutputDef」として記述された項目ラベルを書き込んでから書き込まれる。それにより、図10、或いは図11に示すようなテンポラリファイルTが出力されることになる。その出力先は、引数out_fileとして指定された場所である。
このようにして、本実施の形態では、端末装置10のユーザは連結条件ファイル、及びテンポラリファイルTの出力先を指定することで所望のテンポラリファイルTを得られるようにしている。それにより、ジャーナルファイルJ、或いはマスタファイルMから抽出させるデータは連結条件ファイルにより変更できるようにさせている。そのための連結条件ファイルの更新は容易であることから、ジャーナルファイルJ、或いはマスタファイルMから抽出させるデータの変更も容易、且つ迅速に行うことができる。
次に、図11に示すテンポラリファイルTから集計結果ファイルKを生成させる方法について具体的に説明する。
図16は、集計結果ファイルKを生成させるためのコマンド例を説明する図である。そのコマンドも同様にC言語の形式で記述するようにしている。図16中、「shunAnalyze.h」は、集計結果ファイルKを生成するプログラム(関数)が格納されたファイルのファイル名、「xshun_GetAnalyze」はその関数名である。集計結果ファイルKを生成するうえでの条件は、図中「*」を付して「CharCode」「in_file」「out_file」「Wcondition」「Gcondition」「Rcondition」「Gstring」と表記のその関数「xshun_GetAnalyze」の引数で定義するようにさせている。
図16は、集計結果ファイルKを生成させるためのコマンド例を説明する図である。そのコマンドも同様にC言語の形式で記述するようにしている。図16中、「shunAnalyze.h」は、集計結果ファイルKを生成するプログラム(関数)が格納されたファイルのファイル名、「xshun_GetAnalyze」はその関数名である。集計結果ファイルKを生成するうえでの条件は、図中「*」を付して「CharCode」「in_file」「out_file」「Wcondition」「Gcondition」「Rcondition」「Gstring」と表記のその関数「xshun_GetAnalyze」の引数で定義するようにさせている。
ファイル「shunAnalyze.h」、及び上記ファイル「shunReplace.h」は、例えば集計装置100、或いはサブノード200に搭載された外部記憶装置55(図5)に格納されている。集計装置100に格納されている場合には、必要に応じてサブノード200にそれらのうちの一方を送信させれば良い。それらのファイルは、記録媒体MDに記録することでアクセスできるようにしても良い。
パラメータCharCodeとしては、文字コード(キャラクタ識別コード)を記述する。パラメータin_fileとしては、テンポラリファイルTのアクセス先を示す情報を記述する。パラメータout_fileとしては、集計結果ファイルKの出力先を示す情報を記述する。パラメータWconditionとしては、テンポラリファイルTから統計処理の対象となるレコードを特定するための検索式を記述する。この記述は省略が可能である。
パラメータGconditionとしては、統計処理(集計)の単位となるグループ式を記述する。パラメータRconditionとしては、統計処理により得たデータ(集計結果)を出力するフォーマットを記述する。そのフォーマットでデータは正規化される。パラメータGstring」としては、集計結果として総計あるいは小計を出力する場合に、対象外となる項目ラベルのデータとして出力させる文字列を記述する。この記述は省略が可能であり、省略時には、図12に示す「−」が出力される。
図17は、グループ式、及び集計式の記述例を説明する図である。
グループ式中に「$」を付して記述の「Kbn」「Number」は、テンポラリファイルTに格納されているデータの項目ラベルである。そのグループ式中に記述される項目ラベルは、そのデータが同じレコードが一つのグループとして集計されることを表している。グループ式中に記述された「}」は、総計を行うレコードのグループをその位置により表している。具体的には、「$Kbn」の直後に記述された「}」は、項目ラベル「Kbn」のデータが同じレコードを一つのグループとして集計することを表している。「$Kbn」の直前に記述された「}」は、項目ラベル「Kbn」のデータに係わらず、つまり全てのレコードを一つのグループとして集計することを表している。
グループ式中に「$」を付して記述の「Kbn」「Number」は、テンポラリファイルTに格納されているデータの項目ラベルである。そのグループ式中に記述される項目ラベルは、そのデータが同じレコードが一つのグループとして集計されることを表している。グループ式中に記述された「}」は、総計を行うレコードのグループをその位置により表している。具体的には、「$Kbn」の直後に記述された「}」は、項目ラベル「Kbn」のデータが同じレコードを一つのグループとして集計することを表している。「$Kbn」の直前に記述された「}」は、項目ラベル「Kbn」のデータに係わらず、つまり全てのレコードを一つのグループとして集計することを表している。
図12において、項目ラベル「Kbn」のデータとして「01」「02」或いは「03」が出力され、且つ項目ラベル「Number」等のデータとして「−」が出力されたレコードは、「$Kbn」の直後に記述された「}」により追加されたものである。項目ラベル「Kbn」のデータとして「−」が出力されたレコードは、「$Kbn」の直前に記述された「}」により追加されたものである。
グループ式には他に、「DESC」「rlen」及び「val」などが記述できるようになっている。
「DESC」はラベル出力する順番を降順に指定するためのものである。「rlen」は関数を示し、例えば「rlen($Kbn,n)」といったように記述する。括弧内の「n」は文字数を指定する整数である。その関数は、項目ラベルのデータとして格納された文字列から、指定された整数分の文字列を抽出するようになっている。「val」も関数を示し、例えば「val($Kbn)」といったように記述する。その関数は、項目ラベルのデータとして格納された文字列から数値のみを抽出するようになっている。
「DESC」はラベル出力する順番を降順に指定するためのものである。「rlen」は関数を示し、例えば「rlen($Kbn,n)」といったように記述する。括弧内の「n」は文字数を指定する整数である。その関数は、項目ラベルのデータとして格納された文字列から、指定された整数分の文字列を抽出するようになっている。「val」も関数を示し、例えば「val($Kbn)」といったように記述する。その関数は、項目ラベルのデータとして格納された文字列から数値のみを抽出するようになっている。
集計式中に「$」を付して記述のシンボルは、グループ式と同様に、テンポラリファイルTに格納されているデータの項目ラベルである。括弧が途中に挿入された「SUN($Val)ValSUM」は、括弧の前のシンボルである「SUM」が関数を表している。その関数は、括弧内に記述された項目ラベルのデータの合計を求めるものである。括弧の後の「ValSUM」は、その合計値の項目ラベルである。括弧の前後に配置されたシンボルが表す意味は他でも同様である。関数MAXは、括弧内に記述された項目ラベルのデータのなかから最大値を抽出するものである。関数Countは、対象となるレコードの件数をカウントするものである。関数としては他に、データの平均値を求める関数Ave、データの最小値を抽出する関数MINなどが用意されている。
集計結果ファイルKに出力する1レコードに格納すべきデータの項目は、集計式によって指定される。その集計式によって指定されるレコードは、グループ式によって指定されたグループ毎に出力される。
関数「xshun_GetAnalyze」は、記述された集計式に従って、グループ式によって指定されたグループ毎に集計を行い、その集計結果を1レコードにまとめて集計結果ファイルKに出力する。それにより、図17に示すグループ式、集計式を記述して図11に示すテンポラリファイルTからの集計結果ファイルKの生成を端末装置10のユーザが指示すると、そのファイルKの内容は図12に示すようなものとなる。
このようにして、本実施の形態では、データを出力すべき項目、その項目のデータに対して行うべき操作、及びその操作を行うべきレコードのグループを指定できるようにしている。そのため、端末装置10のユーザは、テンポラリファイルTから抽出させたデータ、及び操作によって得られたデータを任意に格納させた集計結果ファイルKを取得することができる。
図18は、テンポラリファイル生成処理のフローチャートである。その生成処理は、端末装置10のユーザが図13に示すようなコマンド列を集計装置100に実行させることにより、サブノード200で起動される。次に図18を参照して、その生成処理について詳細に説明する。そのサブノード200には、図14、或いは図15に示すような連結条件ファイル等も集計装置100から送信される。
先ず、ステップS1では、連結条件ファイル中で指定された各マスタファイルMから1レコードを読み出し、パラメータ「Jcondition」として記述された連結条件定義、及びパラメータ「ListDef」として記述された出力項目定義に従って、それらのレコードから抽出すべき項目のデータを抽出する。続くステップS2では、連結条件定義をキーにレコードを連結させ、各レコードから出力項目定義で指定された項目のデータを抽出して置換オートマトンAを1レコード分、作成する。その後はステップS3に移行して、各マスタファイルMから読み出すべきレコードが他に無いか否か判定する。読み出すべきレコードが存在しなかった場合、判定はYESとなってステップS4に移行し、そうでない場合には、判定はNOとなって上記ステップS1に戻る。それにより、別のレコードの読み出しを行う。
マスタファイルMが複数、指定され、それらの間の連結条件が定義されていた場合、或るマスタファイルMから読み出したレコードの内容によってそれと連結させるべきレコードは限定される。このことから、上記ステップS1では、例えば一つのマスタファイルMに着目してレコードを読み出すと、他のマスタファイルMからはそのレコードと連結させるべきレコードを読み出すようにしている。
ステップS4以降では、作成した置換オートマトンAを用いてジャーナルファイルJから必要なデータを抽出し、テンポラリファイルTを出力するための処理が行われる。
先ず、ステップS4では、ジャーナルファイルJから1レコードを読み出し、そのレコード中から、連結条件定義、出力項目定義でそれぞれ指定された要素のデータを抽出する。次のステップS5では、連結条件定義から抽出したデータを用いて置換オートマトンAを参照し、出力項目定義から抽出したデータのなかでオートマトンAに格納すべき出力項目のデータを取得する。その後はステップS6に移行する。
先ず、ステップS4では、ジャーナルファイルJから1レコードを読み出し、そのレコード中から、連結条件定義、出力項目定義でそれぞれ指定された要素のデータを抽出する。次のステップS5では、連結条件定義から抽出したデータを用いて置換オートマトンAを参照し、出力項目定義から抽出したデータのなかでオートマトンAに格納すべき出力項目のデータを取得する。その後はステップS6に移行する。
ステップS6では、取得した出力項目のデータを置換オートマトンAに格納する。次のステップS7では、ジャーナルファイルJに読み出す対象となる他のレコードが存在しないか否か判定する。そのようなレコードが存在しない場合、判定はYESとなり、パラメータ「OutputDef」の記述内容(出力順番定義)に従い、項目ラベル名を1レコード目に格納し、置換オートマトンAに格納したデータを2レコード目以降のレコードに終端ノード別に格納したテンポラリファイルTを指定された出力先(図13)に出力した後、一連の処理を終了する。そうでない場合には、判定はNOとなって上記ステップS4に戻る。それにより、ジャーナルファイルJから別のレコードの読み出しを行う。
図19は、集計結果ファイル生成処理のフローチャートである。その生成処理は、端末装置10のユーザが図16に示すようなコマンド列を集計装置100に実行させることにより、サブノード200で起動される。次に図19を参照して、その生成処理について詳細に説明する。
先ず、ステップS11では、指定されたテンポラリファイルTから1レコードを読み出し、そのレコード中から、検索式、グループ式、及び集計式を考慮して対象となる項目のデータを抽出する。続くステップS12では、その抽出により取得したデータから統計ヒドラH(図3C)をそのデータに応じて作成する。その次に移行するステップS13では、テンポラリファイルTに読み出す対象となる他のレコードが存在しないか否か判定する。そのようなレコードが存在しない場合、判定はYESとなってステップS14に移行し、そうでない場合には、判定はNOとなって上記ステップS11に戻る。
ステップS13でのYESの判定は、テンポラリファイルTから統計ヒドラHに格納すべきデータを全て格納したことを意味する。このことから、ステップS14以降では、統計ヒドラHを用いてデータの集計を行い、その集計結果を集計結果ファイルKとして出力するための処理が行われる。
先ず、ステップS14では、統計ヒドラHで注目するノードを対象に、グループ式、及び集計式により指定されるデータの集計を行う。続くステップS15では、統計ヒドラHに他に注目すべきノードが存在しないか否か判定する。そのようなノードが存在しない場合、つまり行うべき集計を全て行った場合、判定はYESとなってステップS16に移行し、グループ式、集計式に従い、集計結果をレコード単位で出力することで集計結果ファイルKを生成し、生成したファイルKを指定の出力先に出力した後、一連の処理を終了する。そうでない場合には、判定はNOとなってステップS14に戻り、注目するノードを変えて集計を同様に行う。
なお、本実施の形態では、テンポラリファイルTの生成はマスタファイルM、及びジャーナルファイルJを対象に行うようにさせているが、その対象として別のテンポラリファイルT、或いは集計結果ファイルKを指定できるようにしても良い。集計結果ファイルKの生成では、複数のテンポラリファイルTを対象に行えるようにしても良い。別の集計結果ファイルKも対象として指定できるようにしても良い。
本実施の形態では、ユーザの要望により幅広く対応できるように、テンポラリファイルT、集計結果ファイルKはそれぞれ別に生成するようにしているが、マスタファイルM、ジャーナルファイルJから集計結果ファイルKを生成するようにしても良い。そのようにする場合、テンポラリファイルTの出力の有無をユーザが選択できるようにすることが望ましい。
マスタファイルM、ジャーナルファイルJはXML形式でデータが記述されたファイルであるが、それらは別の形式でデータが記述されたファイルであっても良い。CSVファイルであっても良い。どのような項目のデータがどのような形式でどのような形で格納されているかを示す情報を用意することにより、様々な種類のファイルに対応することができる。
(付記1)
一つ以上のファイルにそれぞれ格納されているデータのなかで必要なデータを抽出して別ファイルに格納できる装置であって、
前記必要なデータの項目を示す項目情報を取得する情報取得手段と、
前記情報取得手段が取得した項目情報を基に、前記一つ以上のファイルから必要なデータを抽出して前記別ファイルに格納するデータ併合手段と、
を具備することを特徴とするデータ集計装置。
一つ以上のファイルにそれぞれ格納されているデータのなかで必要なデータを抽出して別ファイルに格納できる装置であって、
前記必要なデータの項目を示す項目情報を取得する情報取得手段と、
前記情報取得手段が取得した項目情報を基に、前記一つ以上のファイルから必要なデータを抽出して前記別ファイルに格納するデータ併合手段と、
を具備することを特徴とするデータ集計装置。
(付記2)
前記データ併合手段は、複数のファイルから必要なデータを抽出する場合、少なくとも一つのファイルに格納されている必要なデータから状態遷移テーブルを作成し、残りのファイルに格納されている必要なデータを該状態遷移テーブルにより抽出する、
ことを特徴とする付記1記載のデータ集計装置。
前記データ併合手段は、複数のファイルから必要なデータを抽出する場合、少なくとも一つのファイルに格納されている必要なデータから状態遷移テーブルを作成し、残りのファイルに格納されている必要なデータを該状態遷移テーブルにより抽出する、
ことを特徴とする付記1記載のデータ集計装置。
(付記3)
前記情報取得手段は、前記項目情報の他に、前記必要なデータを対象に行うべき操作を示す操作情報を取得することができ、
前記データ併合手段は、前記情報取得手段が操作情報を取得した場合、前記項目情報を基に前記必要なデータを一時ファイルに格納し、該一時ファイルに格納した必要なデータを対象に該操作情報が示す操作を行い、該操作によって得られたデータを該必要なデータのうちの少なくとも一つとともに前記別ファイルに格納する、
ことを特徴とする付記1記載のデータ集計装置。
前記情報取得手段は、前記項目情報の他に、前記必要なデータを対象に行うべき操作を示す操作情報を取得することができ、
前記データ併合手段は、前記情報取得手段が操作情報を取得した場合、前記項目情報を基に前記必要なデータを一時ファイルに格納し、該一時ファイルに格納した必要なデータを対象に該操作情報が示す操作を行い、該操作によって得られたデータを該必要なデータのうちの少なくとも一つとともに前記別ファイルに格納する、
ことを特徴とする付記1記載のデータ集計装置。
(付記4)
前記操作情報は、前記別ファイルに出力すべきデータの項目を示す他の項目情報を含み、
前記データ併合手段は、前記一時ファイルに格納したデータのなかで前記別ファイルに格納するデータを前記他の項目情報に従って抽出する、
ことを特徴とする付記3記載のデータ集計装置。
前記操作情報は、前記別ファイルに出力すべきデータの項目を示す他の項目情報を含み、
前記データ併合手段は、前記一時ファイルに格納したデータのなかで前記別ファイルに格納するデータを前記他の項目情報に従って抽出する、
ことを特徴とする付記3記載のデータ集計装置。
(付記5)
複数のファイルにそれぞれ格納されているデータを操作して得られるデータを別ファイルに格納できる装置であって、
前記データを対象に行うべき操作、及び該操作の対象となるデータを示す操作情報を取得する情報取得手段と、
前記情報取得手段が取得した操作情報を基に、前記複数のファイルから操作の対象となるデータを抽出して操作を行う操作手段と、
前記操作手段が前記操作を行うことにより得られたデータを前記別ファイルに出力するデータ出力手段と、
を具備することを特徴とするデータ集計装置。
複数のファイルにそれぞれ格納されているデータを操作して得られるデータを別ファイルに格納できる装置であって、
前記データを対象に行うべき操作、及び該操作の対象となるデータを示す操作情報を取得する情報取得手段と、
前記情報取得手段が取得した操作情報を基に、前記複数のファイルから操作の対象となるデータを抽出して操作を行う操作手段と、
前記操作手段が前記操作を行うことにより得られたデータを前記別ファイルに出力するデータ出力手段と、
を具備することを特徴とするデータ集計装置。
(付記6)
前記操作手段は、前記複数のファイルのうちの一つに格納されている必要なデータから状態遷移テーブルを作成し、残りのファイルに格納されている必要なデータを該状態遷移テーブルにより抽出する、
ことを特徴とする付記5記載のデータ集計装置。
前記操作手段は、前記複数のファイルのうちの一つに格納されている必要なデータから状態遷移テーブルを作成し、残りのファイルに格納されている必要なデータを該状態遷移テーブルにより抽出する、
ことを特徴とする付記5記載のデータ集計装置。
(付記7)
一つ以上のファイルにそれぞれ格納されているデータのなかで必要なデータを抽出して別ファイルに格納するための方法であって、
前記必要なデータの項目を示す項目情報を基に、前記一つ以上のファイルから必要なデータを抽出して前記別ファイルに格納するプログラムを用意し、
前記プログラムに前記項目情報を与えて実行させることにより、前記一つ以上のファイルから必要なデータを抽出させて前記別ファイルに格納させる、
ことを特徴とするデータ集計方法。
一つ以上のファイルにそれぞれ格納されているデータのなかで必要なデータを抽出して別ファイルに格納するための方法であって、
前記必要なデータの項目を示す項目情報を基に、前記一つ以上のファイルから必要なデータを抽出して前記別ファイルに格納するプログラムを用意し、
前記プログラムに前記項目情報を与えて実行させることにより、前記一つ以上のファイルから必要なデータを抽出させて前記別ファイルに格納させる、
ことを特徴とするデータ集計方法。
(付記8)
前記プログラムを、前記項目情報の他に、前記必要なデータを対象に行うべき操作を示す操作情報に対応させ、
前記プログラムに前記項目情報、及び前記操作情報を与えて実行させることにより、前記一つ以上のファイルから必要なデータを抽出させるとともに、該必要なデータを対象に該操作情報が示す操作を行わせ、該操作によって得られたデータを該必要なデータのうちの少なくとも一つとともに前記別ファイルに格納させる、
ことを特徴とする付記7記載のデータ集計方法。
前記プログラムを、前記項目情報の他に、前記必要なデータを対象に行うべき操作を示す操作情報に対応させ、
前記プログラムに前記項目情報、及び前記操作情報を与えて実行させることにより、前記一つ以上のファイルから必要なデータを抽出させるとともに、該必要なデータを対象に該操作情報が示す操作を行わせ、該操作によって得られたデータを該必要なデータのうちの少なくとも一つとともに前記別ファイルに格納させる、
ことを特徴とする付記7記載のデータ集計方法。
(付記9)
前記プログラムとして、前記項目情報に対応させた第1のプログラム、及び前記操作情報に対応させた第2のプログラム、をそれぞれ用意し、
前記第2のプログラムによる前記操作情報が示す操作は、前記第1のプログラムが生成するファイルに格納されたデータを対象に行わせる、
ことを特徴とする付記8記載のデータ集計方法。
前記プログラムとして、前記項目情報に対応させた第1のプログラム、及び前記操作情報に対応させた第2のプログラム、をそれぞれ用意し、
前記第2のプログラムによる前記操作情報が示す操作は、前記第1のプログラムが生成するファイルに格納されたデータを対象に行わせる、
ことを特徴とする付記8記載のデータ集計方法。
(付記10)
前記第2のプログラムは、前記操作情報として、前記別ファイルに出力すべきデータの項目を示す他の項目情報を含む操作情報に対応させる、
ことを特徴とする付記9記載のデータ集計方法。
前記第2のプログラムは、前記操作情報として、前記別ファイルに出力すべきデータの項目を示す他の項目情報を含む操作情報に対応させる、
ことを特徴とする付記9記載のデータ集計方法。
(付記11)
複数のファイルにそれぞれ格納されているデータを操作して得られるデータを別ファイルに格納するための方法であって、
前記データを対象に行うべき操作、及び該操作の対象となるデータを示す操作情報を基に、前記複数のファイルから操作の対象となるデータを抽出して操作を行うプログラムを用意し、
前記プログラムに前記操作情報を与えて実行させることにより、前記複数のファイルから操作の対象となるデータを抽出して操作を行わせ、該操作によって得られたデータを前記別ファイルに格納させる、
ことを特徴とするデータ集計方法。
複数のファイルにそれぞれ格納されているデータを操作して得られるデータを別ファイルに格納するための方法であって、
前記データを対象に行うべき操作、及び該操作の対象となるデータを示す操作情報を基に、前記複数のファイルから操作の対象となるデータを抽出して操作を行うプログラムを用意し、
前記プログラムに前記操作情報を与えて実行させることにより、前記複数のファイルから操作の対象となるデータを抽出して操作を行わせ、該操作によって得られたデータを前記別ファイルに格納させる、
ことを特徴とするデータ集計方法。
(付記12)
一つ以上のファイルにそれぞれ格納されているデータのなかで必要なデータを抽出して別ファイルに格納できるデータ集計装置に実行させるプログラムであって、
前記必要なデータの項目を示す項目情報を取得する機能と、
前記取得する機能により取得した項目情報を基に、前記一つ以上のファイルから必要なデータを抽出して前記別ファイルに格納する機能と、
を実現させるためのプログラム。
一つ以上のファイルにそれぞれ格納されているデータのなかで必要なデータを抽出して別ファイルに格納できるデータ集計装置に実行させるプログラムであって、
前記必要なデータの項目を示す項目情報を取得する機能と、
前記取得する機能により取得した項目情報を基に、前記一つ以上のファイルから必要なデータを抽出して前記別ファイルに格納する機能と、
を実現させるためのプログラム。
(付記13)
複数のファイルにそれぞれ格納されているデータを操作して得られるデータを別ファイルに格納できるデータ集計装置に実行させるプログラムであって、
前記データを対象に行うべき操作、及び該操作の対象となるデータを示す操作情報を取得する機能と、
前記取得する機能により取得した操作情報を基に、前記複数のファイルから操作の対象となるデータを抽出して操作を行う機能と、
前記操作を行う機能によって前記操作を行うことにより得られたデータを前記別ファイルに出力する機能と、
を実現させるためのプログラム。
複数のファイルにそれぞれ格納されているデータを操作して得られるデータを別ファイルに格納できるデータ集計装置に実行させるプログラムであって、
前記データを対象に行うべき操作、及び該操作の対象となるデータを示す操作情報を取得する機能と、
前記取得する機能により取得した操作情報を基に、前記複数のファイルから操作の対象となるデータを抽出して操作を行う機能と、
前記操作を行う機能によって前記操作を行うことにより得られたデータを前記別ファイルに出力する機能と、
を実現させるためのプログラム。
100 データ集計装置
101 データ配布部
102 集計命令通知部
103 集計結果併合部
104 集計結果応答部
200 データ集計装置サブノード
201 データ受取部
202 集計命令受取部
203 データ併合置換部
204 データ集計部
205 集計結果通知部
A 置換オートマトン
H 統計ヒドラ
J、J1 ジャーナルファイル
K、K1 集計結果ファイル
M、M1 マスタファイル
T、T1 テンポラリファイル
101 データ配布部
102 集計命令通知部
103 集計結果併合部
104 集計結果応答部
200 データ集計装置サブノード
201 データ受取部
202 集計命令受取部
203 データ併合置換部
204 データ集計部
205 集計結果通知部
A 置換オートマトン
H 統計ヒドラ
J、J1 ジャーナルファイル
K、K1 集計結果ファイル
M、M1 マスタファイル
T、T1 テンポラリファイル
Claims (10)
- 一つ以上のファイルにそれぞれ格納されているデータのなかで必要なデータを抽出して別ファイルに格納できる装置であって、
前記必要なデータの項目を示す項目情報を取得する情報取得手段と、
前記情報取得手段が取得した項目情報を基に、前記一つ以上のファイルから必要なデータを抽出して前記別ファイルに格納するデータ併合手段と、
を具備することを特徴とするデータ集計装置。 - 前記データ併合手段は、複数のファイルから必要なデータを抽出する場合、少なくとも一つのファイルに格納されている必要なデータから状態遷移テーブルを作成し、残りのファイルに格納されている必要なデータを該状態遷移テーブルにより抽出する、
ことを特徴とする請求項1記載のデータ集計装置。 - 前記情報取得手段は、前記項目情報の他に、前記必要なデータを対象に行うべき操作を示す操作情報を取得することができ、
前記データ併合手段は、前記情報取得手段が操作情報を取得した場合、前記項目情報を基に前記必要なデータを一時ファイルに格納し、該一時ファイルに格納した必要なデータを対象に該操作情報が示す操作を行い、該操作によって得られたデータを該必要なデータのうちの少なくとも一つとともに前記別ファイルに格納する、
ことを特徴とする請求項1記載のデータ集計装置。 - 複数のファイルにそれぞれ格納されているデータを操作して得られるデータを別ファイルに格納できる装置であって、
前記データを対象に行うべき操作、及び該操作の対象となるデータを示す操作情報を取得する情報取得手段と、
前記情報取得手段が取得した操作情報を基に、前記複数のファイルから操作の対象となるデータを抽出して操作を行う操作手段と、
前記操作手段が前記操作を行うことにより得られたデータを前記別ファイルに出力するデータ出力手段と、
を具備することを特徴とするデータ集計装置。 - 一つ以上のファイルにそれぞれ格納されているデータのなかで必要なデータを抽出して別ファイルに格納するための方法であって、
前記必要なデータの項目を示す項目情報を基に、前記一つ以上のファイルから必要なデータを抽出して前記別ファイルに格納するプログラムを用意し、
前記プログラムに前記項目情報を与えて実行させることにより、前記一つ以上のファイルから必要なデータを抽出させて前記別ファイルに格納させる、
ことを特徴とするデータ集計方法。 - 前記プログラムを、前記項目情報の他に、前記必要なデータを対象に行うべき操作を示す操作情報に対応させ、
前記プログラムに前記項目情報、及び前記操作情報を与えて実行させることにより、前記一つ以上のファイルから必要なデータを抽出させるとともに、該必要なデータを対象に該操作情報が示す操作を行わせ、該操作によって得られたデータを該必要なデータのうちの少なくとも一つとともに前記別ファイルに格納させる、
ことを特徴とする請求項5記載のデータ集計方法。 - 前記プログラムとして、前記項目情報に対応させた第1のプログラム、及び前記操作情報に対応させた第2のプログラム、をそれぞれ用意し、
前記第2のプログラムによる前記操作情報が示す操作は、前記第1のプログラムが生成するファイルに格納されたデータを対象に行わせる、
ことを特徴とする請求項6記載のデータ集計方法。 - 複数のファイルにそれぞれ格納されているデータを操作して得られるデータを別ファイルに格納するための方法であって、
前記データを対象に行うべき操作、及び該操作の対象となるデータを示す操作情報を基に、前記複数のファイルから操作の対象となるデータを抽出して操作を行うプログラムを用意し、
前記プログラムに前記操作情報を与えて実行させることにより、前記複数のファイルから操作の対象となるデータを抽出して操作を行わせ、該操作によって得られたデータを前記別ファイルに格納させる、
ことを特徴とするデータ集計方法。 - 一つ以上のファイルにそれぞれ格納されているデータのなかで必要なデータを抽出して別ファイルに格納できるデータ集計装置に実行させるプログラムであって、
前記必要なデータの項目を示す項目情報を取得する機能と、
前記取得する機能により取得した項目情報を基に、前記一つ以上のファイルから必要なデータを抽出して前記別ファイルに格納する機能と、
を実現させるためのプログラム。 - 複数のファイルにそれぞれ格納されているデータを操作して得られるデータを別ファイルに格納できるデータ集計装置に実行させるプログラムであって、
前記データを対象に行うべき操作、及び該操作の対象となるデータを示す操作情報を取得する機能と、
前記取得する機能により取得した操作情報を基に、前記複数のファイルから操作の対象となるデータを抽出して操作を行う機能と、
前記操作を行う機能によって前記操作を行うことにより得られたデータを前記別ファイルに出力する機能と、
を実現させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004358947A JP2006171800A (ja) | 2004-12-10 | 2004-12-10 | データ集計装置、その方法、及びプログラム |
US11/096,267 US20060129515A1 (en) | 2004-12-10 | 2005-03-31 | Data totaling device, method thereof and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004358947A JP2006171800A (ja) | 2004-12-10 | 2004-12-10 | データ集計装置、その方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006171800A true JP2006171800A (ja) | 2006-06-29 |
Family
ID=36585263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004358947A Pending JP2006171800A (ja) | 2004-12-10 | 2004-12-10 | データ集計装置、その方法、及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20060129515A1 (ja) |
JP (1) | JP2006171800A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010108093A (ja) * | 2008-10-28 | 2010-05-13 | Fujitsu Ltd | データ集計などのデータ操作に使用するプログラム、装置および方法 |
US7962524B2 (en) | 2005-06-29 | 2011-06-14 | Fujitsu Limited | Computer program, device, and method for sorting dataset records into groups according to frequent tree |
WO2011132436A1 (ja) * | 2010-04-23 | 2011-10-27 | 株式会社知識構造化研究所 | 論理演算方法、論理演算システム、論理演算プログラム、プログラム自動生成方法、プログラム自動生成装置、プログラム自動生成プログラム、および記録媒体 |
EP2615565A1 (en) | 2012-01-11 | 2013-07-17 | Fujitsu Limited | Full outer join processing apparatus and method |
EP2804140A1 (en) | 2013-05-17 | 2014-11-19 | Fujitsu Limited | Data extraction program, data extraction method, and data extraction device |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070224235A1 (en) * | 2006-03-24 | 2007-09-27 | Barron Tenney | Medical devices having nanoporous coatings for controlled therapeutic agent delivery |
US10417234B2 (en) * | 2016-10-07 | 2019-09-17 | Sap Se | Data flow modeling and execution |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002538545A (ja) * | 1999-03-03 | 2002-11-12 | シーベル システムズ,インコーポレイティド | マーケティング支援データベース管理方法及びシステム及びプログラム製品 |
JP2002366401A (ja) * | 2001-06-06 | 2002-12-20 | Nippon Yunishisu Kk | 統合的データマート構築及び運用支援システム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5724241A (en) * | 1996-01-11 | 1998-03-03 | Western Atlas International, Inc. | Distributed seismic data-gathering system |
US5995963A (en) * | 1996-06-27 | 1999-11-30 | Fujitsu Limited | Apparatus and method of multi-string matching based on sparse state transition list |
JP3234552B2 (ja) * | 1997-09-30 | 2001-12-04 | 松下電器産業株式会社 | 最適化装置及びコンピュータ読取可能な記録媒体 |
-
2004
- 2004-12-10 JP JP2004358947A patent/JP2006171800A/ja active Pending
-
2005
- 2005-03-31 US US11/096,267 patent/US20060129515A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002538545A (ja) * | 1999-03-03 | 2002-11-12 | シーベル システムズ,インコーポレイティド | マーケティング支援データベース管理方法及びシステム及びプログラム製品 |
JP2002366401A (ja) * | 2001-06-06 | 2002-12-20 | Nippon Yunishisu Kk | 統合的データマート構築及び運用支援システム |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7962524B2 (en) | 2005-06-29 | 2011-06-14 | Fujitsu Limited | Computer program, device, and method for sorting dataset records into groups according to frequent tree |
JP2010108093A (ja) * | 2008-10-28 | 2010-05-13 | Fujitsu Ltd | データ集計などのデータ操作に使用するプログラム、装置および方法 |
US8161261B2 (en) | 2008-10-28 | 2012-04-17 | Fujitsu Limited | Method and apparatus for operating data, such as totaling data, etc |
WO2011132436A1 (ja) * | 2010-04-23 | 2011-10-27 | 株式会社知識構造化研究所 | 論理演算方法、論理演算システム、論理演算プログラム、プログラム自動生成方法、プログラム自動生成装置、プログラム自動生成プログラム、および記録媒体 |
EP2615565A1 (en) | 2012-01-11 | 2013-07-17 | Fujitsu Limited | Full outer join processing apparatus and method |
US9195688B2 (en) | 2012-01-11 | 2015-11-24 | Fujitsu Limited | Table processing apparatus and method for joining two tables |
EP2804140A1 (en) | 2013-05-17 | 2014-11-19 | Fujitsu Limited | Data extraction program, data extraction method, and data extraction device |
US9619516B2 (en) | 2013-05-17 | 2017-04-11 | Fujitsu Limited | Computer-readable recording medium, data extraction method, and data extraction device |
Also Published As
Publication number | Publication date |
---|---|
US20060129515A1 (en) | 2006-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111400408B (zh) | 数据同步方法、装置、设备及存储介质 | |
JP4740060B2 (ja) | 重複データ検出プログラム、重複データ検出方法および重複データ検出装置 | |
JP4097263B2 (ja) | ウェブアプリケーションモデル生成装置、ウェブアプリケーション生成支援方法及びプログラム | |
US7107340B2 (en) | System and method for collecting and storing event data from distributed transactional applications | |
US6915306B1 (en) | Automatic generation of data models and accompanying user interfaces | |
JP4774145B2 (ja) | 構造化文書圧縮装置および構造化文書復元装置並びに構造化文書処理システム | |
US7392243B2 (en) | Using permanent identifiers in documents for change management | |
CN1584884B (zh) | 检索结构化文档的数据的设备 | |
US20070005598A1 (en) | Computer program, device, and method for sorting dataset records into groups according to frequent tree | |
US8316034B2 (en) | Analyzing binary data streams to identify embedded record structures | |
US6915303B2 (en) | Code generator system for digital libraries | |
CN109902130A (zh) | 一种数据存储方法、数据查询方法和装置、存储介质 | |
WO2007139039A1 (ja) | 情報分類装置、情報分類方法、及び情報分類プログラム | |
US20060129515A1 (en) | Data totaling device, method thereof and storage medium | |
JP4855080B2 (ja) | スキーマ統合支援装置、スキーマ統合支援装置のスキーマ統合支援方法およびスキーマ統合支援プログラム | |
US8756246B2 (en) | Method and system for caching lexical mappings for RDF data | |
JP5690472B2 (ja) | データ抽出システム | |
US11144580B1 (en) | Columnar storage and processing of unstructured data | |
JP2013054433A (ja) | データ編集装置およびデータ編集方法 | |
JP2005063221A (ja) | 電子メールアーカイブ管理装置および電子メールアーカイブ構造化プログラム | |
Bui et al. | A framework for application of tree-structured data mining to process log analysis | |
JP5238105B2 (ja) | プログラム、及びデータ抽出方法 | |
US10387466B1 (en) | Window queries for large unstructured data sets | |
WO2017072872A1 (ja) | 業務プログラム生成支援システムおよび業務プログラム生成支援方法 | |
US7386570B2 (en) | Method, system and program product for providing high performance data lookup |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071004 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100209 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100810 |