[go: up one dir, main page]

JP2018180645A - データ処理プログラム、データ処理方法およびデータ処理装置 - Google Patents

データ処理プログラム、データ処理方法およびデータ処理装置 Download PDF

Info

Publication number
JP2018180645A
JP2018180645A JP2017074745A JP2017074745A JP2018180645A JP 2018180645 A JP2018180645 A JP 2018180645A JP 2017074745 A JP2017074745 A JP 2017074745A JP 2017074745 A JP2017074745 A JP 2017074745A JP 2018180645 A JP2018180645 A JP 2018180645A
Authority
JP
Japan
Prior art keywords
data
data processing
encoded
dynamic
column
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.)
Granted
Application number
JP2017074745A
Other languages
English (en)
Other versions
JP6787231B2 (ja
Inventor
寿秀 中津
Toshihide Nakatsu
寿秀 中津
片岡 正弘
Masahiro Kataoka
正弘 片岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017074745A priority Critical patent/JP6787231B2/ja
Priority to US15/938,672 priority patent/US10367523B2/en
Publication of JP2018180645A publication Critical patent/JP2018180645A/ja
Application granted granted Critical
Publication of JP6787231B2 publication Critical patent/JP6787231B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】複数のデータソースからのデータそれぞれについての解析処理を行うことなく、対象のデータ同士のデータ処理を高速に行うこと。【解決手段】データ処理装置200は、複数のデータソース100にそれぞれ蓄積されたデータを用いたデータ処理の要求を受信し、複数のデータソース100それぞれに対して、要求に対応するデータ取得指示をそれぞれ送信する。データ処理装置200は、複数のデータソース100から、データ取得指示に対応し、特定の符号化規則により符号化された符号化データをそれぞれ受信する。データ処理装置200は、符号化規則、および、複数のデータソース100から受信した符号化データを用いて、符号化状態でデータ処理を実行する。【選択図】図1

Description

本発明は、データ処理プログラム等に関する。
従来、複数のデータソースに蓄積された圧縮ファイルを取得して、結合や演算等のデータ処理を行う情報システムがある。
図20は、従来の情報システムの一例を説明するための図である。図20に示すシステムは、データソース10a,10b、ETL(Extraction Transformation and Loading)20を有する。ETL20は、データソース10a,10bに接続される。ETL20は、図示しない他のデータソースに接続されていても良い。
データソース10aは、CSV(Comma Separated Values)ファイルF1をZIPに基づいて圧縮し、圧縮した圧縮ファイルF1’を記憶部に蓄積する。データソース10bは、CSVファイルF2をZIPに基づいて圧縮し、圧縮した圧縮ファイルF2’を記憶部に蓄積する。データソース10aは、ETL20からの取得要求に応じて、圧縮ファイルF1’をETL20に送信する。データソース10bは、ETL20からの取得要求に応じて、圧縮ファイルF2’をETL20に送信する。
ETL20は、圧縮ファイルF1’,F2’の取得要求をデータソース10a,10bに送信することで、圧縮ファイルF1’,F2’を取得する。ETL20は、圧縮ファイルF1’,F2’に対して、結合や演算等のデータ処理を実行し、演算結果となるCSVファイルF3を生成する。以下において、ETL20の処理の一例について説明する。
圧縮ファイルF1’,F2’は、カンマ(あるいはカラム)単位で圧縮されていない。このため、ETL20は、圧縮ファイルF1’,F2’を伸長することで、CSVファイルF1,F2を得た後に、字句解析を行い、結合・演算等のデータ処理を行う。図20に示す例では、ETL20は、マスタデータM1を基にして、各商品コードの合計金額を演算する。
例えば、ETL20が、CSVファイルF1,F2を結合すると、商品コード「1242」、商品名「キャンディ」について、数量は合計「20」個となる。単価は「50」であるため、合計金額が「1000(20×50)」となる。同様にして、商品コード「2342」、商品名「チョコレート」について、数量は合計「30」個となり、単価が「500」であるため、合計金額が「15000(30×500)」となる。
ETL20は、上記のように、圧縮ファイルF1’、F2’を伸長し、字句解析を行った後に、結合・演算等の処理を実行することで、CSVファイルF3を生成する。そして、ETL20は、CSVファイルF3をZIPに基づいて圧縮することで、圧縮ファイルF3’を得る。ETL20は、図示しないデータ処理の要求元となる外部装置に、圧縮ファイルF3’を送信する。
特開2011−145883号公報 特開2011−090526号公報
しかしながら、上述した従来技術では、複数のデータソースからのデータそれぞれについての解析処理を行う必要があり、対象のデータ同士のデータ処理を高速に行うことができないという問題がある。
すなわち、従来技術による情報システムでは、各圧縮ファイルを受信した場合に、圧縮ファイルを伸長し、字句解析してからでないと、結合・演算等のデータ処理を行うことができない。係る問題は、圧縮ファイルとして、演算に利用するデータのみを受信する場合であっても同様に発生する。
1つの側面では、本発明は、複数のデータソースからのデータ同士のデータ処理において、データ受信後の解析処理を削減し、対象のデータ同士のデータ処理を高速に行うことができるデータ処理プログラム、データ処理方法およびデータ処理装置を提供することを目的とする。
第1の案では、コンピュータは下記の処理を実行する。コンピュータは、複数のデータソースにそれぞれ蓄積されたデータを用いたデータ処理の要求を受信し、複数のデータソースそれぞれに対して、要求に対応するデータ取得指示をそれぞれ送信する。コンピュータは、複数のデータソースから、データ取得指示に対応し、特定の符号化規則により符号化された符号化データをそれぞれ受信する。コンピュータは、符号化規則、および、複数のデータソースから受信した符号化データを用いて、符号化状態でデータ処理を実行する。
複数のデータソースからのデータ同士のデータ処理において、データ受信後の解析処理を削減し、対象のデータ同士のデータ処理を高速に行うことができる。
図1は、本実施例に係るシステムの一例を示す図である。 図2は、符号化ファイルの一例を説明するための図である。 図3は、データ処理装置が実行するデータ処理の一例を示す図(1)である。 図4は、データ処理装置が実行するデータ処理の一例を示す図(2)である。 図5は、データ処理装置が実行するデータ処理の一例を示す図(3)である。 図6は、データ処理装置が実行するデータ処理の一例を示す図(4)である。 図7は、本実施例に係るデータ処理装置の効果を説明するための図である。 図8は、データソースの構成を示す機能ブロック図である。 図9は、対象ファイルのデータ構造の一例を示す図である。 図10は、符号化規則データのデータ構造の一例を示す図である。 図11は、動的辞書データのデータ構造の一例を示す図である。 図12は、データソースの符号化処理の一例を示す図である。 図13は、データ処理装置の構成を示す機能ブロック図である。 図14は、符号化ファイルテーブルのデータ構造の一例を示す図である。 図15は、符号化規則管理データのデータ構造の一例を示す図である。 図16は、データ処理装置の処理手順を示すフローチャートである。 図17は、結合処理の処理手順を示すフローチャートである。 図18は、演算処理の処理手順を示すフローチャートである。 図19は、データ処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。 図20は、従来の情報システムの一例を説明するための図である。
以下に、本願の開示するデータ処理プログラム、データ処理方法およびデータ処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、本実施例に係るシステムの一例を示す図である。図1に示すように、このシステムは、外部装置90と、データソース100a,100b,100cと、データ処理装置200とを有する。データ処理装置200は、外部装置90に接続される。また、データ処理装置200は、データソース100a〜100cに接続される。ここでは、データソース100a〜100cを示すが、このシステムは、その他のデータソースを含んでいても良い。また、以下の説明では、データソース100a〜100cをまとめて適宜、データソース100と表記する。
外部装置90は、データ処理装置200に対して、データソース100に蓄積されたCSV(Comma Separated Values)ファイルを用いたデータ処理の要求を行う装置である。例えば、データ処理の内容には、CSVファイルの結合、数値の演算等が含まれる。
データ処理装置200は、外部装置90からデータ処理の要求を受信した場合に、データソース100に対し、データ処理の要求に対応するデータ取得指示を送信する。例えば、データ取得指示は、取得対象となるCSVファイルのカラムを一意に識別する情報を含む。
データ処理装置200は、データソース100から、データ取得指示に対応し、所定の符号化規則により符号化された符号化ファイルを受信する。データ処理装置200は、所定の符号化規則と、符号化ファイルとを用いて、符号化されたままの状態で、外部装置90に要求されたデータ処理を実行する。データ処理装置200は、データの処理結果を、外部装置90に配信する。
データソース100は、CSVファイルを蓄積する。データソース100は、データ取得指示を、データ処理装置200から受信すると、CSVファイルのうち、データ取得指示に対応するカラム部分を抽出し、所定の符号化規則に従って符号化を行う。データソース100は、符号化した符号化ファイルをデータ処理装置200に送信する。
図2は、符号化ファイルの一例を説明するための図である。図2に示すように、符号化ファイル20は、ヘッダ20aと、符号領域20bと、トレーラ20cとを含む。ヘッダ20aには、各種の制御情報が含まれる。
符号領域20bには、データ取得指示に対応し、所定の符号化規則により符号化されたCSVファイルが含まれる。この符号化されたCSVファイルは、カラム単位で符号化されているものとする。
トレーラ20cは、動的辞書の情報を含む。動的辞書は、カラムに含まれる単語または数値と、動的符号とを対応付けた情報である。符号領域20bに格納された符号化されたCSVファイルの符号化は、トレーラ20cに格納された動的辞書に基づいて行われる。
図2の動的辞書に示す例では、商品コード「1242」、「2342」の動的符号はそれぞれ「A000h」、「A001h」となる。商品名「キャンディ」、「チョコレート」の動的符号はそれぞれ「A700h」、「A701h」となる。数量「20」、「30」の動的符号はそれぞれ「AA00h」、「AA01h」となる。単価「50」、「500」の動的符号はそれぞれ「A100h」、「A200h」となる。
続いて、データ処理装置200が実行するデータ処理の一例について説明する。図3〜図6は、データ処理装置が実行するデータ処理の一例を示す図である。図3について説明する。図3に示す例では、データ処理装置200が、データソース100a,100bから符号化ファイルを取得し、各符号化ファイルを結合する場合について説明する。
データソース100aから取得した符号化ファイルの符号領域には、符号化されたデータ21aが格納され、トレーラには、動的辞書21bが格納されているものとする。データソース100bから取得した符号化ファイルの符号領域には、符号化されたデータ22aが格納され、トレーラには、動的辞書22bが格納されているものとする。
前提として、データソース100a,100bは、符号化規則50aにより、データを符号化しているものとする。符号化規則50aは、CSVファイルに含まれる各カラムのうち、符号化対象のカラムが、商品コード、商品名、数量のデータを有するカラムであり、カラムの並び順を、商品コードのカラム、商品名のカラム、数量のカラムと定義する規則である。
すなわち、データ21a,22aの規則番号(1)のカラムに含まれるデータは、商品コードの動的符号となる。データ21a,22aの規則番号(2)のカラムに含まれるデータは、商品名の動的符号となる。データ21a,22aの規則番号(3)のカラムに含まれるデータは、数量の動的符号となる。
データ処理装置200は、符号化規則50aに基づいて、同一の規則番号に該当するカラムのデータ同士を結合することで、データ60aを生成する。また、データ処理装置200は、動的辞書21bと、動的辞書22bとを結合することで、動的辞書60bを生成する。
データ処理装置200は、データ60aを符号化ファイルの符号領域に格納し、動的辞書60bを符号化ファイルのトレーラに格納することで、符号化ファイルを生成する。データ処理装置200は、生成した符号化ファイルを、外部装置90に配信する。
図3で説明したように、データ処理装置200は、データソース100a,100bから取得した符号化ファイルを符号化状態のまま、符号化規則50aに基づいて結合するので、対象の符号化ファイルの結合を高速に行うことができる。
図4の説明に移行する。図4に示す例では、データ処理装置200が、データソース100a,100bから符号化ファイルを取得し、各符号化ファイルを結合する場合について説明する。
データソース100aから取得した符号化ファイルの符号領域には、符号化されたデータ23aが格納され、トレーラには、動的辞書23bが格納されているものとする。データソース100bから取得した符号化ファイルの符号領域には、符号化されたデータ24aが格納され、トレーラには、動的辞書24bが格納されているものとする。
前提として、データソース100a,100bは、図3で説明した符号化規則50aにより、データを符号化しているものとする。符号化規則50aは、CSVファイルに含まれる各カラムのうち、符号化対象のカラムが、商品コード、商品名、数量のデータを有するカラムであり、カラムの並び順を、商品コードのカラム、商品名のカラム、数量のカラムと定義する規則である。
すなわち、データ23a,24aの規則番号(1)のカラムに含まれるデータは、商品コードの動的符号となる。データ23a,24aの規則番号(2)のカラムに含まれるデータは、商品名の動的符号となる。データ23a,24aの規則番号(3)のカラムに含まれるデータは、数量の動的符号となる。
データ処理装置200は、符号化規則50aに基づいて、同一の規則番号に該当するカラムのデータ23a,24a同士を結合することで、データ61aを生成する。また、データ処理装置200は、動的辞書23bと、動的辞書24bとを結合することで、動的辞書61bを生成する。
データ処理装置200は、動的辞書61bを参照し、動的符号の重複が存在するか否かを判定すると、数量「20」に割り当てられた動的符号「AA00h」と、数量「10」に割り当てられた動的符号「AA00h」とが重複している。このように、動的符号が重複している場合には、データ処理装置200は、動的符号の調整を行う。例えば、データ処理装置200は、数量「10」に割り当てられた動的符号を「AA00h」から「AA02h」に変更する。
データ処理装置200は、動的符号の調整に対応させて、データ61aの動的符号を調整する。例えば、数量「10」に対応する動的符号は、データ61aの3行3列目に位置する動的符号「AA00h」である。データ処理装置200は、この3行3列目の動的符号「AA00h」を動的符号「AA02h」に変更することで、データ62aを生成する。
データ処理装置200は、データ62aを符号化ファイルの符号領域に格納し、動的辞書62bを符号化ファイルのトレーラに格納することで、符号化ファイルを生成する。データ処理装置200は、生成した符号化ファイルを、外部装置90に配信する。
また、図4で説明したように、データ処理装置200は、結合した動的辞書61bに動的符号の重複が存在する場合には、動的符号の調整を行うことで、動的符号の重複を解消する。また、データ処理装置200は、動的符号の調整に合わせて、データ61aの該当する動的符号を変更して、データ62aを得る。このため、動的符号の重複を解消しつつ、符号化ファイルを符号化状態のまま、結合することができる。
図5について説明する。図5に示す例では、データ処理装置200が、データソース100aから符号化ファイルを取得し、符号化ファイルとデータ処理装置200のマスタデータとを結合する場合について説明する。
データソース100aから取得した符号化ファイルの符号領域には、符号化されたデータ25aが格納され、トレーラには、動的辞書25bが格納されているものとする。前提として、データソース100aは、符号化規則50aにより、データを符号化しているものとする。符号化規則50aは、CSVファイルに含まれる各カラムのうち、符号化対象のカラムが、商品コード、商品名、数量のデータを有するカラムであることを定義するものである。また、符号化規則50aは、カラムの並び順を、商品コードのカラム、商品名のカラム、数量のカラムと定義する。
すなわち、データ25aの規則番号(1)のカラムに含まれるデータは、商品コードの動的符号となる。データ25aの規則番号(2)のカラムに含まれるデータは、商品名の動的符号となる。データ25aの規則番号(3)のカラムに含まれるデータは、数量の動的符号となる。
また、データ処理装置200は、符号化規則50bにより、マスタデータを符号化することで、データ26aを生成するものとする。符号化規則50bは、CSVファイルに含まれる各カラムのうち、符号化対象のカラムが、商品コード、単価を有するカラムであり、カラムの並び順を、商品コードのカラム、単価のカラムと定義する規則である。
すなわち、データ26aの規則番号(1)のカラムに含まれるデータは、商品コードの動的符号となる。データ26aの規則番号(4)のカラムに含まれるデータは、単価の動的符号となる。
データ処理装置200は、符号化規則50a,50bに基づいて、同じカラム(商品コード)のデータを比較し、一致したデータ26aに該当するカラム(単価)を、データ25aに追加することで、データ63aを生成する。例えば、データ25aの1行1列目の商品コードの動的符号「A000h」と、データ26aの1行1列目の動的符号「A000h」とが一致する。このため、データ処理装置200は、データ63aの1行4列目に、データ26aの1行2列目の動的符号「A100h」を登録する。
例えば、データ25aの2行1列目の商品コードの動的符号「A001h」と、データ26aの2行1列目の動的符号「A001h」とが一致する。このため、データ処理装置200は、データ63aの2行4列目に、データ26aの2行2列目の動的符号「A200h」を登録する。
データ処理装置200は、符号化規則50aと、符号化規則50bとを結合することで、符号化規則50cを生成する。この符号化規則50cは、結合後のデータ63aに対応する符号化規則となる。
データ処理装置200は、動的辞書25bと動的辞書26bとを結合することで、動的辞書63bを生成する。なお、データ処理装置200は、動的符号と単語との組が同一であるものが複数存在する場合には一つに統合する。
データ処理装置200は、データ63aを符号化ファイルの符号領域に格納し、動的辞書63b、符号化規則50cをトレーラに格納することで、符号化ファイルを生成する。データ処理装置200は、生成した符号化ファイルを外部装置90に配信する。
図5で説明したように、データ処理装置200は、データソース100aから符号化ファイルを取得し、符号化ファイルと符号化されたマスタデータとを符号化状態のまま、符号化規則50a,50bを基にして結合する。このため、対象の符号化ファイルの結合を高速に行うことができる。
図6の説明に移行する。図6に示す例では、データ処理装置200が、データソース100aから符号化ファイルを取得し、符号化状態のまま、所定の演算を実行する場合について説明する。ここでは一例として、データ処理装置200が、商品の数量と単価とを基にして、各商品の合計金額を演算する場合について説明する。
データソース100aから取得した符号化ファイルの符号領域には、符号化されたデータ27aが格納され、トレーラには、動的辞書27bが格納されているものとする。前提として、データソース100aは、符号化規則50dにより、データを符号化しているものとする。符号化規則50dは、CSVファイルに含まれる各カラムのうち、符号化対象のカラムが、商品コード、商品名、単価、数量のデータを有するカラムであることを定義するものである。また、符号化規則50dは、カラムの並び順を、商品コードのカラム、商品名のカラム、単価のカラム、数量のカラムと定義する。
すなわち、データ27aの規則番号(1)のカラムに含まれるデータは、商品コードの動的符号となる。データ27aの規則番号(2)のカラムに含まれるデータは、商品名の動的符号となる。データ27aの規則番号(3)のカラムに含まれるデータは、単価の動的符号となる。データ27aの規則番号(4)のカラムに含まれるデータは、数量の動的符号となる。
また、データ処理装置200は、合計金額の演算を行う前に、合計金額のカラムを格納するための動的辞書28bを用意する。図6の動的辞書28bには、商品コード「1242(A000h)」に対応する合計金額に割り当てる動的符号「D000h」が設定される。商品コード「2342(A001h)」に対応する合計金額に割り当てる動的符号「D001h」が設定される。
さらに、データ処理装置200は、動的辞書28bで割り当てた動的符号を含むデータ28aと、データ27aとを結合することで、データ64aを生成する。データ処理装置200は、動的辞書27bと動的辞書28bとを結合することで、動的辞書64bを生成する。
データ処理装置200は、上記処理を実行した後、商品コード「1242(A000h)」に対応する合計金額、および、商品コード「2342(A001h)」に対応する合計金額を演算し、算出結果を動的辞書28bに設定する。
商品コード「1242(A000h)」に対応する合計金額を演算する処理の一例について説明する。データ処理装置200は、データ27aについて、商品コード「1242」に対応する単価の動的符号が「A100h」であり、数量の動的符号が「AA00h」であるため、動的辞書27bとの比較により、単価「50」、数量「20」を得る。データ処理装置200は、単価「50」と数量「20」とを乗算することで、合計金額「1000」を算出する。データ処理装置200は、演算結果となる合計金額「1000」を動的辞書64bの動的符号「D000h」に対応するカラムに格納する。
商品コード「2342(A001h)」に対応する合計金額を演算する処理の一例について説明する。データ処理装置200は、データ27aについて、商品コード「2342」に対応する単価の動的符号が「A200h」であり、数量の動的符号が「AA01h」であるため、動的辞書27bとの比較により、単価「500」、数量「30」を得る。データ処理装置200は、単価「500」と数量「30」とを乗算することで、合計金額「15000」を算出する。データ処理装置200は、演算結果となる合計金額「15000」を動的辞書64bの動的符号「D001h」に対応するカラムに格納する。
データ処理装置200は、データ64aを符号化ファイルの符号領域に格納し、動的辞書64bをトレーラに格納することで、符号化ファイルを生成する。データ処理装置200は、生成した符号化ファイルを外部装置90に配信する。
図6で説明したように、データ処理装置200は、データソー100aから符号化ファイルを取得し、符号化状態のまま、演算を実行し、演算結果を含む符号化ファイルを生成する。このため、符号化ファイルに対する演算を従来技術と比較して高速に行うことができる。
図7は、本実施例に係るデータ処理装置の効果を説明するための図である。図7に示す処理1Aは、従来技術の処理を示し、処理1Bは、図6で説明したデータ処理装置200の処理を示す。
図7の処理1Aについて説明する。従来技術は、ZIP等で符号化されたデータ29aを収集する。データ29aは、カラム単位で符号化されていないので、従来技術は、データ29aを伸長することで、データ29bを生成する。従来技術は、データ29bの字句解析を行うことで、データ29bをカラム単位に分割し、データ29cを生成する。従来技術は、データ29cの単価および数量の数字列(テキスト)を抽出し、数字列を数値(バイナリ)に変換する。従来技術は、数値を演算することで、演算結果(バイナリ)を得る。従来技術は、演算結果(バイナリ)を数字列(テキスト)に変換する。従来技術では、上記のように、収集、伸長、カラム分割、数字列抽出、数値変換、演算、数字列変換の過程を得ることで、配信先に配信するための演算結果を得ることができる。
図7の処理1Bについて説明する。データ処理装置200は、カラム単位で符号化されたデータ30aを収集する。データ30aは、図6で説明したデータ27aの1行目のレコードに対応するものである。データ処理装置200は、伸長、カラム分割の処理をスキップし、データ30aから数値(バイナリ)を抽出する。抽出した数値に対応する情報は、動的辞書に格納されているため、動的辞書の数値を用いて演算を行い、演算結果を動的辞書に格納する。本実施例に係るデータ処理装置200は、従来技術と比較して、伸長、カラム分割、テキストからバイナリへの変換の処理を実行しないで、配信先に配信するための演算結果を得ることができる。
次に、図1に示したデータソース100aの構成の一例について説明する。データソース100b,100cの構成は、データソース100aと同様である。図8は、データソースの構成を示す機能ブロック図である。図8に示すように、データソース100aは、通信部110と、記憶部120と、制御部130とを有する。
通信部110は、ネットワークを介してデータ処理装置200とデータ通信を実行する処理部である。通信部110は、ネットワークカード等の通信装置に対応する。後述する制御部130は、通信部110を介して、データ処理装置200とデータをやり取りする。
記憶部120は、対象ファイル121、符号化規則データ122、動的辞書データ123、符号化ファイル124を格納する。記憶部120は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
対象ファイル121は、符号化の対象となるCSVファイルである。図9は、対象ファイルのデータ構造の一例を示す図である。図9に示すように、この対象ファイル121は、デリミタで区分された複数のカラムを有するレコードを複数有するデータである。例えば、対象ファイル121は、商品コードに対応するカラム、商品名に対応するカラム、単価に対応するカラム、数量に対応するカラムが含まれる。対象ファイル121は、その他のカラムを含んでいても良い。
符号化規則データ122は、符号化対象となるカラムの種別と、符号化した場合のカラムの並び順を定義する情報である。符号化規則データ122は、図3等で説明した符号化規則50a等に対応する。図10は、符号化規則データのデータ構造の一例を示す図である。図10に示すように、この符号化規則データ122は、規則番号と、カラムの種別とを対応付ける。
図10に示す符号化規則データ122では、対象ファイル121に含まれる各カラムのうち、符号化対象のカラムが、商品コード、商品名、単価、数量のデータを有するカラムであることを定義する。また、符号化規則データ122では、符号化後のカラムの並び順を、商品コードのカラム、商品名のカラム、単価の数量のカラムと定義する。
動的辞書データ123は、カラム毎に、カラムに含まれる単語または数値と、動的符号とを対応付けた情報である。単語または数値に割り当てる動的符号は、符号化時に割り当てられる。図11は、動的辞書データのデータ構造の一例を示す図である。例えば、商品コードのカラムに含まれるコードには、動的符号「A000hからA0FFh」までの動的符号が割り当てられる。商品名のカラムに含まれる単語には、動的符号「A700hからA7FFh」までの動的符号が割り当てられる。数量のカラムに含まれる数値には、動的符号「AA00hからAA01h」までの動的符号が割り当てられる。単価のカラムに含まれる数値には、動的符号「A100hからA2FFh」までの動的符号が割り当てられる。
符号化ファイル124は、後述する符号化部132により生成される情報である。符号化ファイル124のデータ構造は、図2で説明した符号化ファイル20で説明したデータ構造に対応する。符号化ファイル124は、ヘッダ、符号領域、トレーラを有する。
図8の説明に戻る。制御部130は、受付部131と、符号化部132と、送信部133とを有する。制御部130は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、制御部130は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
受付部131は、ネットワークを介して他の装置から各種の情報を受け付け、受け付けた情報を、記憶部120に格納する処理部である。受付部131は、他の装置から対象ファイル121を受け付けた場合には、対象ファイル121を記憶部120に格納する。
また、受付部131は、データ処理装置200から、データ取得指示を受け付ける。データ取得指示には、符号化規則データ122が含まれている。受付部131は、符号化規則データ122を、記憶部120に格納する。
符号化部132は、符号化規則データ122を基にして、対象ファイル121を符号化することで、符号化ファイル124を生成する処理部である。符号化部132は、対象ファイル121を符号化する場合に、カラム単位で動的符号化を行い、カラムに含まれる単語または数値と、動的符号とを対応付けることで、動的辞書データ123を生成する。
図12は、データソースの符号化処理の一例を示す図である。図12に示すように、符号化部132は、対象ファイル121の各カラムの内、符号化規則データ122で定義されたカラム121a,121b,121c,121dを符号化対象のカラムとして選択する。
カラム121aは、符号化規則データ122のカラム種別「商品コード」に対応するカラムである。符号化部132は、商品コード「1242」、「2342」に動的符号「A000h」、「A001h」を割り当てることで、符号化したカラム125aを生成する。符号化部132は、商品コードと、動的符号との関係を、動的辞書データ123に格納する。
カラム121bは、符号化規則データ122のカラム種別「商品名」に対応するカラムである。符号化部132は、商品名「キャンディ」、「チョコレート」に動的符号「A700h」、「A701h」を割り当てることで、符号化したカラム125bを生成する。符号化部132は、商品名と、動的符号との関係を、動的辞書データ123に格納する。
カラム121cは、符号化規則データ122のカラム種別「単価」に対応するカラムである。符号化部132は、単価「50」、「500」に動的符号「A100h」、「A200h」を割り当てることで、符号化したカラム125cを生成する。符号化部132は、単価と、動的符号との関係を、動的辞書データ123に格納する。
カラム121dは、符号化規則データ122のカラム種別「数量」に対応するカラムである。符号化部132は、数量「20」、「30」に動的符号「AA00h」、「AA01h」を割り当てることで、符号化したカラム125dを生成する。符号化部132は、数量と、動的符号との関係を、動的辞書データ123に格納する。
符号化部132は、符号化規則データ122の規則番号で定義された順番に基づいて、カラム125a〜125dを、カラム125a,125b,125c,125dの順に並べることで、データ125を生成する。
符号化部132は、符号化ファイル124の符号領域にデータ125を格納し、トレーラに動的辞書データ123を格納する。また、符号化ファイル124のヘッダに各種の制御情報を格納する。
送信部133は、符号化部132により生成される符号化ファイル124を、データ処理装置200に送信する処理部である。
次に、図1に示したデータ処理装置200の構成の一例について説明する。図13は、データ処理装置の構成を示す機能ブロック図である。図13に示すように、このデータ処理装置200は、通信部210と、記憶部220と、制御部230とを有する。
通信部210は、ネットワークを介してデータソース100または外部装置90とデータ通信を実行する処理部である。通信部210は、ネットワークカード等の通信装置に対応する。後述する制御部230は、通信部210を介して、データソース100または外部装置90とデータをやり取りする。
記憶部220は、符号化ファイルテーブル221、マスタデータ222、符号化規則管理データ223、動的辞書データ224、符号化ファイル225を有する。記憶部220は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
符号化ファイルテーブル221は、各データソース100から収集する各符号化ファイルを格納するテーブルである。図14は、符号化ファイルテーブルのデータ構造の一例を示す図である。図14に示すように、符号化ファイルテーブル221は、識別情報と、符号化ファイルとを対応付ける。識別情報は、符号化ファイルの送信元となるデータソース100を一意に識別する情報である。符号化ファイルは、識別情報に対応するデータソース100から収集した符号化ファイルである。
マスタデータ222は、データ処理装置200が保持するCSVファイルである。マスタデータ222は、デリミタで区分された複数のカラムを有するレコードを複数有するデータである。
符号化規則管理データ223は、符号化規則のデータを含む。図15は、符号化規則管理データのデータ構造の一例を示す図である。図15に示すように、符号化規則管理データ223は、符号化規則データ122と、マスタ符号化規則データ223aとを有する。符号化規則データ122は、符号化対象となるカラムの種別と、符号化した場合のカラムの並び順を定義する情報である。符号化規則データ122は、データソース100に送信される。符号化規則データ122は、図3〜図6に示した符号化規則50a,50dに対応する情報である。
マスタ符号化規則データ223aは、マスタデータ222について、符号化対象となるカラムの種別と、符号化した場合のカラムの並び順を定義する情報である。例えば、マスタ符号化規則データ223aは、図5で説明した符号化規則50bに対応する情報である。
動的辞書データ224は、符号化ファイルテーブル221に格納された各符号化ファイルのトレーラに格納された動的辞書データを結合したデータである。例えば、動的辞書データ224は、図3〜図6に示した動的辞書60b,62b,63b,64bに対応する情報である。
図13の説明に戻る。制御部230は、収集部231と、データ処理部232と、配信部233とを有する。制御部230は、CPUやMPUなどによって実現できる。また、制御部230は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
収集部231は、外部装置90からデータ処理の要求を受信する。外部装置90から受信するデータ処理の要求には、符号化規則データ122と、処理の内容が含まれる。処理の内容には、符号化ファイルの結合、符号化ファイルとマスタデータとの結合、符号化ファイルの演算等の指示情報が含まれる。また、収集部231は、マスタ符号化規則データ223aを、外部装置90から取得しても良い。収集部231は、処理の内容を、データ処理部232に出力する。
収集部231は、外部装置90からデータ処理要求を受信した場合に、データ取得指示を生成する。収集部231は、データ取得指示に、符号化規則管理データ223の符号化規則データ122を格納し、データソース100に出力する。
収集部231は、データソース100から、データ取得指示に対応し、符号化規則データ122に基づき符号化された符号化ファイルを受信し、符号化ファイルテーブル221に格納する。
データ処理部232は、外部装置90から受け付けたデータ処理の要求に対応するデータ処理を実行する処理部である。データ処理部232は、符号化ファイルを符号化状態のままで処理を実行する。一例として、データ処理の要求が「符号化ファイルの結合」、「符号化ファイルとマスタデータとの結合」、「符号化ファイルの演算」である場合について、順に説明する。
まず、データ処理の要求が「符号化ファイルの結合」である場合のデータ処理部232の処理の一例について説明する。係る処理は、図3で説明した処理に対応する。図3を用いて説明を行う。データ処理部232は、データソース100aから収集した符号化ファイルに含まれるデータ21aと、データソース100bから収集した符号化ファイルに含まれるデータ22aとを、符号化ファイルテーブル221から取得する。
データ処理部232は、符号化規則50aに基づいて、同一の規則番号に該当するカラムのデータ同士を結合することで、データ60aを生成する。また、データ処理装置200は、動的辞書21bと、動的辞書22bとを結合することで、動的辞書60bを生成する。データ処理部232は、動的辞書21bおよび動的辞書22bを、符号化ファイルテーブル221から取得する。データ処理部232は、動的辞書60bを、動的辞書データ224に格納する。
データ処理部232は、データ60aを符号化ファイル225の符号領域に格納し、動的辞書データ224を符号化ファイル225のトレーラに格納することで、符号化ファイル225を生成する。
なお、データ処理部232は、図4で説明したように、結合した動的辞書の動的符号に重複が存在する場合には、動的符号の調整を行う。
続いて、データ処理の要求が「符号化ファイルとマスタデータとの結合」である場合のデータ処理部232の処理の一例について説明する。係る処理は、図5で説明した処理に対応する。図5を用いて説明する。データ処理部232は、データソース100aから収集した符号化ファイルに含まれるデータ25aを、符号化ファイルテーブル221から取得する。また、データ処理部232は、マスタデータ222を、マスタ符号化規則データ223a(符号化規則50b)に基づき、カラム毎に符号化することで、データ26a、動的辞書26bを生成する。
データ処理部232は、符号化規則50a,50bに基づいて、同じカラム(商品コード)のデータを比較し、一致したデータ26aに該当するカラム(単価)を、データ25aに追加することで、データ63aを生成する。例えば、データ25aの1行1列目の商品コードの動的符号「A000h」と、データ26aの1行1列目の動的符号「A000h」とが一致する。このため、データ処理部232は、データ63aの1行4列目に、データ26aの1行2列目の動的符号「A100h」を登録する。
例えば、データ25aの2行1列目の商品コードの動的符号「A001h」と、データ26aの2行1列目の動的符号「A001h」とが一致する。このため、データ処理部232は、データ63aの2行4列目に、データ26aの2行2列目の動的符号「A200h」を登録する。
データ処理部232は、符号化規則50aと、符号化規則50bとを結合することで、符号化規則50cを生成する。この符号化規則50cは、結合後のデータ63aに対応する符号化規則となる。
データ処理部232は、動的辞書25bと動的辞書26bとを結合することで、動的辞書63bを生成する。データ処理部232は、動的辞書25bおよび動的辞書26bを、符号化ファイルテーブル221から取得する。データ処理部232は、動的辞書63bを、動的辞書データ224に格納する。
データ処理部232は、データ63aを符号化ファイル225の符号領域に格納し、動的辞書データ224を符号化ファイル225のトレーラに格納することで、符号化ファイル225を生成する。
続いて、データ処理の要求が「符号化ファイルの演算」である場合のデータ処理部232の処理の一例について説明する。係る処理は、図6で説明した処理に対応する。図6を用いて説明する。データ処理部232は、データソース100aから収集した符号化ファイルに含まれるデータ27aを、符号化ファイルテーブル221から取得する。
データ処理部232は、合計金額の演算を行う前に、合計金額のカラムを格納するための動的辞書28bを用意する。図6の動的辞書28bには、商品コード「1242(A000h)」に対応する合計金額に割り当てる動的符号「D000h」が設定される。商品コード「2342(A001h)」に対応する合計金額に割り当てる動的符号「D001h」が設定される。
さらに、データ処理部232は、動的辞書28bで割り当てた動的符号を含むデータ28aと、データ27aとを結合することで、データ64aを生成する。データ処理部232は、動的辞書27bと動的辞書28bとを結合することで、動的辞書64bを生成する。
データ処理部232は、上記処理を実行した後、商品コード「1242(A000h)」に対応する合計金額、および、商品コード「2342(A001h)」に対応する合計金額を演算し、算出結果を動的辞書28bに設定する。データ処理部232が実行する演算の内容は、図4で説明した内容に対応する。
データ処理部232は、データ64aを符号化ファイル225の符号領域に格納し、動的辞書64bをトレーラに格納することで、符号化ファイル225を生成する。
配信部233は、データ処理部232により生成された符号化ファイル225を、外部装置90に配信する処理部である。
次に、本実施例に係るデータ処理装置200の処理手順について説明する。図16は、データ処理装置の処理手順を示すフローチャートである。図16に示すように、データ処理装置200の収集部231は、外部装置90から、データ処理の要求を受信する(ステップS101)。収集部231は、データ取得指示をデータソース100に送信する(ステップS102)。
収集部231は、符号化ファイルを収集する(ステップS103)。データ処理装置200のデータ処理部232は、符号化規則管理データ223を読み込む(ステップS104)。データ処理部232は、結合処理を実行する(ステップS105)。データ処理部232は、演算処理を実行する(ステップS106)。
データ処理装置200は、処理を終了するか否かを判定する(ステップS107)。データ処理装置200は、処理を終了しない場合には(ステップS107,No)、ステップS103に移行する。
データ処理装置200は、処理を終了する場合には(ステップS107,Yes)、ステップS108に移行する。データ処理装置200の配信部233は、符号化ファイルを外部装置90に配信する(ステップS108)。
次に、図16のステップS105に示した結合処理の処理手順について説明する。図17は、結合処理の処理手順を示すフローチャートである。図17に示すように、データ処理装置200のデータ処理部232は、結合する方向が行方向である場合には(ステップS201,Yes)、ステップS202に移行する。データ処理部232は、結合する方向が行方向でない場合には(ステップS201,No)、ステップS205に移行する。
データ処理部232は、符号化規則に該当するデータ同士を結合する(ステップS202)。データ処理部232は、動的辞書に重複があるか否かを判定する(ステップS203)。データ処理部232は、動的辞書に重複がある場合には(ステップS203,Yes)、動的符号を調整し(ステップS204)、ステップS205に移行する。データ処理部232は、動的辞書に重複がない場合には(ステップS203,No)、ステップS205に移行する。
データ処理部232は、結合する方向が列方向である場合には(ステップS205,Yes)、ステップS206に移行する。データ処理部232は、結合する方向が列方向でない場合には(ステップS205,No)、結合処理を終了する。
データ処理部232は、カラムを追加する(ステップS206)。データ処理部232は、符号化規則を更新する(ステップS207)。図17で説明した処理は、図3〜図5で説明した処理に対応するものである。
次に、図16のステップS106に示した演算処理の処理手順について説明する。図18は、演算処理の処理手順を示すフローチャートである。図18に示すように、データ処理装置200のデータ処理部232は、演算結果を格納する領域を、動的辞書に設定する(ステップS301)。
データ処理部232は、演算結果に割り当てる動的符号を設定する(ステップS302)。データ処理部232は、演算対象のカラムに割り当てられた動的符号の数値を動的辞書から取得する(ステップS303)。
データ処理部232は、動的辞書から取得した数値を基にして、演算を行う(ステップS304)。データ処理部232は、演算結果を動的辞書に格納する(ステップS305)。図18で説明した処理は、図6で説明した処理に対応するものである。
次に、本実施例に係るデータ処理装置200の効果について説明する。データ処理装置200は、データソース100からカラム毎に動的符号化された符号化ファイルを取得し、特定の符号化規則に基づいて符号化データを符号化状態のまま、結合・演算等のデータ処理を実行する。このため、複数のデータソース100からの符号化ファイルそれぞれについての解析処理を行うことなく、対象のデータ同士のデータ処理を高速に行うことができる。
データソース100から収集する符号化ファイルのトレーラには、単語又は数値と動的符号との関係を示す動的辞書の情報が含まれている。このため、データ処理装置200は、かかる動的辞書を参照することで、符号化データを符号化状態のまま、結合・演算等のデータ処理を実行することができる。
データ処理装置200は、数値の演算を行う場合には、演算結果に割り当てる動的符号を事前に設定しておき、演算対象となる各数値を、数値に対応する動的符号と動的辞書とを基に特定し、演算を行う。また、データ処理装置200は、演算結果を、事前に設定しておいた動的符号に対応付けて、動的辞書に登録する。このような処理を実行することで、図7で説明したように、符号化ファイルの伸長、カラム分割、数値変換(テキストからバイナリおよびバイナリからテキストへの変換)を省略できるため、演算処理を高速に行うことができる。
データ処理装置200は、複数の符号化ファイルを結合する場合に、各符号かファイルの動的辞書の結合も行う。ここで、データ処理装置200は、結合した動的辞書に動的符号の重複が有る場合には、動的符号の調整を行う。このため、同一の動的符号に複数の単語、数値が対応付けられることを抑止することができる。
次に、上記実施例に示したデータ処理装置200と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図19は、データ処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
図19に示すように、コンピュータ300は、各種演算処理を実行するCPU301と、ユーザからのデータの入力を受け付ける入力装置302と、ディスプレイ303とを有する。また、コンピュータ300は、記憶媒体からプログラム等を読み取る読み取り装置304と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインタフェース装置305とを有する。コンピュータ300は、通信装置306を有する。また、コンピュータ300は、各種情報を一時記憶するRAM307と、ハードディスク装置308とを有する。そして、各装置301〜308は、バス309に接続される。
ハードディスク装置308は、収集プログラム308a、データ処理プログラム308b、配信プログラム308cを有する。CPU301は、収集プログラム308a、データ処理プログラム308b、配信プログラム308cを読み出してRAM307に展開する。
収集プログラム308aは、収集プロセス307aとして機能する。データ処理プログラム308bは、データ処理プロセス307bとして機能する。配信プログラム308cは、配信プロセス307cとして機能する。
収集プロセス307aの処理は、収集部231の処理に対応する。データ処理プロセス307bの処理は、データ処理部232の処理に対応する。配信プロセス307cの処理は、配信部233の処理に対応する。
なお、各プログラム308a〜308cについては、必ずしも最初からハードディスク装置308に記憶させておかなくても良い。例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ300が各プログラム308a〜308cを読み出して実行するようにしても良い。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに
複数のデータソースにそれぞれ蓄積されたデータを用いたデータ処理の要求を受信し、
前記複数のデータソースそれぞれに対して、前記要求に対応するデータ取得指示をそれぞれ送信し、
前記複数のデータソースから、前記データ取得指示に対応し、特定の符号化規則により符号化された符号化データをそれぞれ受信し、
前記符号化規則、および、前記複数のデータソースから受信した符号化データを用いて、符号化状態でデータ処理を実行させる
ことを特徴とするデータ処理プログラム。
(付記2)前記データ処理は、前記複数のデータソースからそれぞれ受信したデータの結合または前記データに含まれる数値の演算を含み、前記複数のデータソースから受信するデータには、符号化対象のデータと、前記符号化対象のデータに割り当てた動的符号との関係を示す動的辞書の情報が含まれることを特徴とする付記1に記載のデータ処理プログラム。
(付記3)前記データ処理に前記数値の演算が含まれる場合には、前記動的辞書に格納された数値同士の演算結果を、別途、前記動的辞書に格納する処理を更に実行することを特徴とする付記2に記載のデータ処理プログラム。
(付記4)前記複数のデータソースから受信する各動的辞書の情報を比較し、同一の動的符号が各動的辞書に含まれる場合には、動的符号を調整する処理を更に実行することを特徴とする付記2に記載のデータ処理プログラム。
(付記5)前記複数のデータソースで実行される符号化は、デリミタで区分された複数のカラムを有するレコードを複数有するデータに対して、カラム毎に符号化されていることを特徴とする付記1〜4のいずれか一つに記載のデータ処理プログラム。
(付記6)コンピュータが実行するデータ処理方法であって、
複数のデータソースにそれぞれ蓄積されたデータを用いたデータ処理の要求を受信し、
前記複数のデータソースそれぞれに対して、前記要求に対応するデータ取得指示をそれぞれ送信し、
前記複数のデータソースから、前記データ取得指示に対応し、特定の符号化規則により符号化された符号化データをそれぞれ受信し、
前記符号化規則、および、前記複数のデータソースから受信した符号化データを用いて、符号化状態でデータ処理を行う
ことを特徴とするデータ処理方法。
(付記7)前記データ処理は、前記複数のデータソースからそれぞれ受信したデータの結合または前記データに含まれる数値の演算を含み、前記複数のデータソースから受信するデータには、符号化対象のデータと、前記符号化対象のデータに割り当てた動的符号との関係を示す動的辞書の情報が含まれることを特徴とする付記6に記載のデータ処理方法。
(付記8)前記データ処理に前記数値の演算が含まれる場合には、前記動的辞書に格納された数値同士の演算結果を、別途、前記動的辞書に格納する処理を更に実行することを特徴とする付記7に記載のデータ処理方法。
(付記9)前記複数のデータソースから受信する各動的辞書の情報を比較し、同一の動的符号が各動的辞書に含まれる場合には、動的符号を調整する処理を更に実行することを特徴とする付記7に記載のデータ処理方法。
(付記10)前記複数のデータソースで実行される符号化は、デリミタで区分された複数のカラムを有するレコードを複数有するデータに対して、カラム毎に符号化されていることを特徴とする付記6〜9のいずれか一つに記載のデータ処理方法。
(付記11)複数のデータソースにそれぞれ蓄積されたデータを用いたデータ処理の要求を受信し、前記複数のデータソースそれぞれに対して、前記要求に対応するデータ取得指示をそれぞれ送信し、前記複数のデータソースから、前記データ取得指示に対応し、特定の符号化規則により符号化された符号化データをそれぞれ受信する収集部と、
前記符号化規則、および、前記複数のデータソースから受信した符号化データを用いて、符号化状態でデータ処理を行うデータ処理部と
を有することを特徴とするデータ処理装置。
(付記12)前記データ処理部が実行する前記データ処理は、前記複数のデータソースからそれぞれ受信したデータの結合または前記データに含まれる数値の演算を含み、前記複数のデータソースから受信するデータには、符号化対象のデータと、前記符号化対象のデータに割り当てた動的符号との関係を示す動的辞書の情報が含まれることを特徴とする付記11に記載のデータ処理装置。
(付記13)前記データ処理部は、前記データ処理に前記数値の演算が含まれる場合には、前記動的辞書に格納された数値同士の演算結果を、別途、前記動的辞書に格納する処理を更に実行することを特徴とする付記12に記載のデータ処理装置。
(付記14)前記データ処理部は、前記複数のデータソースから受信する各動的辞書の情報を比較し、同一の動的符号が各動的辞書に含まれる場合には、動的符号を調整する処理を更に実行することを特徴とする付記12に記載のデータ処理装置。
(付記15)前記複数のデータソースで実行される符号化は、デリミタで区分された複数のカラムを有するレコードを複数有するデータに対して、カラム毎に符号化されていることを特徴とする付記11〜14のいずれか一つに記載のデータ処理装置。
90 外部装置
100a,100b,100c データソース
200 データ処理装置

Claims (7)

  1. コンピュータに
    複数のデータソースにそれぞれ蓄積されたデータを用いたデータ処理の要求を受信し、
    前記複数のデータソースそれぞれに対して、前記要求に対応するデータ取得指示をそれぞれ送信し、
    前記複数のデータソースから、前記データ取得指示に対応し、特定の符号化規則により符号化された符号化データをそれぞれ受信し、
    前記符号化規則、および、前記複数のデータソースから受信した符号化データを用いて、符号化状態でデータ処理を実行させる
    ことを特徴とするデータ処理プログラム。
  2. 前記データ処理は、前記複数のデータソースからそれぞれ受信したデータの結合または前記データに含まれる数値の演算を含み、前記複数のデータソースから受信するデータには、符号化対象のデータと、前記符号化対象のデータに割り当てた動的符号との関係を示す動的辞書の情報が含まれることを特徴とする請求項1に記載のデータ処理プログラム。
  3. 前記データ処理に前記数値の演算が含まれる場合には、前記動的辞書に格納された数値同士の演算結果を、別途、前記動的辞書に格納する処理を更に実行することを特徴とする請求項2に記載のデータ処理プログラム。
  4. 前記複数のデータソースから受信する各動的辞書の情報を比較し、同一の動的符号が各動的辞書に含まれる場合には、動的符号を調整する処理を更に実行することを特徴とする請求項2に記載のデータ処理プログラム。
  5. 前記複数のデータソースで実行される符号化は、デリミタで区分された複数のカラムを有するレコードを複数有するデータに対して、カラム毎に符号化されていることを特徴とする請求項1〜4のいずれか一つに記載のデータ処理プログラム。
  6. コンピュータが実行するデータ処理方法であって、
    複数のデータソースにそれぞれ蓄積されたデータを用いたデータ処理の要求を受信し、
    前記複数のデータソースそれぞれに対して、前記要求に対応するデータ取得指示をそれぞれ送信し、
    前記複数のデータソースから、前記データ取得指示に対応し、特定の符号化規則により符号化された符号化データをそれぞれ受信し、
    前記符号化規則、および、前記複数のデータソースから受信した符号化データを用いて、符号化状態でデータ処理を行う
    ことを特徴とするデータ処理方法。
  7. 複数のデータソースにそれぞれ蓄積されたデータを用いたデータ処理の要求を受信し、前記複数のデータソースそれぞれに対して、前記要求に対応するデータ取得指示をそれぞれ送信し、前記複数のデータソースから、前記データ取得指示に対応し、特定の符号化規則により符号化された符号化データをそれぞれ受信する収集部と、
    前記符号化規則、および、前記複数のデータソースから受信した符号化データを用いて、符号化状態でデータ処理を行うデータ処理部と
    を有することを特徴とするデータ処理装置。
JP2017074745A 2017-04-04 2017-04-04 データ処理プログラム、データ処理方法およびデータ処理装置 Expired - Fee Related JP6787231B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017074745A JP6787231B2 (ja) 2017-04-04 2017-04-04 データ処理プログラム、データ処理方法およびデータ処理装置
US15/938,672 US10367523B2 (en) 2017-04-04 2018-03-28 Data processing method and data processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017074745A JP6787231B2 (ja) 2017-04-04 2017-04-04 データ処理プログラム、データ処理方法およびデータ処理装置

Publications (2)

Publication Number Publication Date
JP2018180645A true JP2018180645A (ja) 2018-11-15
JP6787231B2 JP6787231B2 (ja) 2020-11-18

Family

ID=63670108

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017074745A Expired - Fee Related JP6787231B2 (ja) 2017-04-04 2017-04-04 データ処理プログラム、データ処理方法およびデータ処理装置

Country Status (2)

Country Link
US (1) US10367523B2 (ja)
JP (1) JP6787231B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2024540870A (ja) * 2021-10-15 2024-11-06 ログノベーションズ ホールディングス, エルエルシー 符号化/復号システム及び方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293414A (ja) * 1999-04-07 2000-10-20 Hitachi Ltd 異種データソース統合方法
JP2011530234A (ja) * 2008-07-31 2011-12-15 マイクロソフト コーポレーション 大規模なデータストレージのための効率的な列ベースデータの符号化
JP2012504824A (ja) * 2008-10-05 2012-02-23 マイクロソフト コーポレーション 列ベースのデータ符号化構造の問い合わせのための効率的な大規模結合
JP2014016983A (ja) * 2012-04-30 2014-01-30 Sap Ag 部分的マージ
US20150178305A1 (en) * 2013-12-23 2015-06-25 Ingo Mueller Adaptive dictionary compression/decompression for column-store databases
JP2016009425A (ja) * 2014-06-26 2016-01-18 Kddi株式会社 データ仮想化サーバ、データ仮想化サーバにおけるクエリ処理方法及びクエリ処理プログラム
WO2016170594A1 (ja) * 2015-04-21 2016-10-27 株式会社日立製作所 計算機、データベース処理方法、及び集積回路

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100921034B1 (ko) * 2001-11-22 2009-10-08 파나소닉 주식회사 주파수 성분의 계수를 부호화함으로써 얻어진 부호화데이터의 복호화 방법
US7864086B2 (en) * 2008-10-06 2011-01-04 Donald Martin Monro Mode switched adaptive combinatorial coding/decoding for electrical computers and digital data processing systems
JP5549177B2 (ja) 2009-10-22 2014-07-16 富士通株式会社 圧縮プログラム、方法及び装置、並びに解凍プログラム、方法及び装置
JP5487985B2 (ja) 2010-01-14 2014-05-14 富士通株式会社 圧縮装置、方法及びプログラム、並びに展開装置、方法及びプログラム
IT1402222B1 (it) * 2010-10-12 2013-08-28 Selex Communications Spa Metodo per trasmettere valori numerici da una unita' di rilevazione ad una unita' di controllo.
US20120286031A1 (en) * 2012-07-30 2012-11-15 Ariel Inventions, Llc Symbology for unified barcode

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293414A (ja) * 1999-04-07 2000-10-20 Hitachi Ltd 異種データソース統合方法
JP2011530234A (ja) * 2008-07-31 2011-12-15 マイクロソフト コーポレーション 大規模なデータストレージのための効率的な列ベースデータの符号化
JP2012504824A (ja) * 2008-10-05 2012-02-23 マイクロソフト コーポレーション 列ベースのデータ符号化構造の問い合わせのための効率的な大規模結合
JP2014016983A (ja) * 2012-04-30 2014-01-30 Sap Ag 部分的マージ
US20150178305A1 (en) * 2013-12-23 2015-06-25 Ingo Mueller Adaptive dictionary compression/decompression for column-store databases
JP2016009425A (ja) * 2014-06-26 2016-01-18 Kddi株式会社 データ仮想化サーバ、データ仮想化サーバにおけるクエリ処理方法及びクエリ処理プログラム
WO2016170594A1 (ja) * 2015-04-21 2016-10-27 株式会社日立製作所 計算機、データベース処理方法、及び集積回路

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2024540870A (ja) * 2021-10-15 2024-11-06 ログノベーションズ ホールディングス, エルエルシー 符号化/復号システム及び方法
US12386785B2 (en) 2021-10-15 2025-08-12 Lognovations Holdings, Llc Encoding / decoding system and method
US12450199B2 (en) 2021-10-15 2025-10-21 Lognovations Holdings, Llc Encoding / decoding system and method
US12461895B2 (en) 2021-10-15 2025-11-04 Lognovations Holdings, Llc Encoding / decoding system and method
US12505072B2 (en) 2021-10-15 2025-12-23 Lognovations Holdings, Llc Encoding / decoding system and method
US12511261B2 (en) 2021-10-15 2025-12-30 Lognovations Holdings, Llc Encoding / decoding system and method
US12517867B2 (en) 2021-10-15 2026-01-06 Lognovations Holdings, Llc Encoding / decoding system and method

Also Published As

Publication number Publication date
JP6787231B2 (ja) 2020-11-18
US10367523B2 (en) 2019-07-30
US20180287629A1 (en) 2018-10-04

Similar Documents

Publication Publication Date Title
US10747737B2 (en) Altering data type of a column in a database
US11755565B2 (en) Hybrid column store providing both paged and memory-resident configurations
CN104008064B (zh) 用于多级存储器压缩的方法和系统
US11070231B2 (en) Reducing storage of blockchain metadata via dictionary-style compression
CN104040541A (zh) 用于更高效地使用存储器至cpu带宽的技术
CN109981111A (zh) 一种数据压缩编码的方法、装置及存储电子设备
US12111807B2 (en) Optimizing storage and retrieval of compressed data
CN115438114A (zh) 存储格式转换方法、系统、装置、电子设备及存储介质
JP2019504426A (ja) ランダム文字列を生成する方法および装置
CN109471893B (zh) 网络数据的查询方法、设备及计算机可读存储介质
US20210159913A1 (en) Multiple Symbol Decoder
CN111510716B (zh) 通过图像文件的像素变换提高压缩率的方法和系统
US20200210411A1 (en) Data storage in blockchain-type ledger
US11329666B2 (en) Method and system for compressing and/or encrypting data files
TW201535984A (zh) 最佳化資料壓縮器與方法
KR101253700B1 (ko) Ngs 데이터의 고속 압축장치 및 그 방법
CN111159515A (zh) 数据处理方法、装置及电子设备
US20140101215A1 (en) Dpd/bcd to bid converters
CN105608096A (zh) 时间序列数据处理方法及其系统
US20170351461A1 (en) Non-transitory computer-readable storage medium, and data compressing device
JP2018180645A (ja) データ処理プログラム、データ処理方法およびデータ処理装置
US9779148B2 (en) Data conversion system
US20160012064A1 (en) Data conversion device
CN117560013A (zh) 数据压缩方法和电子设备
US12001237B2 (en) Pattern-based cache block compression

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200115

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200923

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200929

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201012

R150 Certificate of patent or registration of utility model

Ref document number: 6787231

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees