JP2016018366A - データ処理装置およびデータ処理方法 - Google Patents

データ処理装置およびデータ処理方法 Download PDF

Info

Publication number
JP2016018366A
JP2016018366A JP2014140419A JP2014140419A JP2016018366A JP 2016018366 A JP2016018366 A JP 2016018366A JP 2014140419 A JP2014140419 A JP 2014140419A JP 2014140419 A JP2014140419 A JP 2014140419A JP 2016018366 A JP2016018366 A JP 2016018366A
Authority
JP
Japan
Prior art keywords
data
dimensional array
input
array
file
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
JP2014140419A
Other languages
English (en)
Other versions
JP6415877B2 (ja
Inventor
翼 青木
Tasuku Aoki
翼 青木
洋一 島田
Yoichi Shimada
洋一 島田
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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2014140419A priority Critical patent/JP6415877B2/ja
Publication of JP2016018366A publication Critical patent/JP2016018366A/ja
Application granted granted Critical
Publication of JP6415877B2 publication Critical patent/JP6415877B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】コーディング作業の負担を軽減しつつ、データベースに対するデータ検索および保存を柔軟に行う。
【解決手段】手続の実行条件を記述した動作仕様とデータ保持用の2次元配列の生成条件を記述した配列生成仕様を含むプロパティファイル12と、配列生成仕様により2次元配列を生成する配列領域生成部131と、動作仕様によってデータファイルを入力し第1の2次元配列に格納するデータファイル入力部132と、動作仕様によって検索クエリを生成する検索クエリ生成部133と、検索クエリを実行し第2の2次元配列に格納するDB入力部134と、動作仕様によって第2の2次元配列のデータを変換し第3の2次元配列へ格納するデータ変換部135と、動作仕様と第3の2次元配列によって保存クエリを生成しデータベースへ出力するDB出力部136と、動作仕様を読み込み、手続を処理順序で実行させる制御を行う制御部130と、を備えるデータ処理装置。
【選択図】図1

Description

本実施形態は、データ処理装置およびデータ処理方法に関する。
近年、スマートグリッドやホームエネルギーマネジメントシステム(HEMS)による消費エネルギーの最適化をはじめとして、公共交通システムや公共サービスなどの社会的インフラシステムを統合的に管理・制御するスマートコミュニティの実用化が進められている。
特開平4−273544号公報 特開2006−277642号公報 特開平9−330255号公報
スマートコミュニティでは、個別に構築されている複数のシステムが各々に管理しているデータを横断的に活用する必要がある。しかし、個々のシステムでは互いに異なるデータベースが使われている。異なるデータベースを併用する場合には、個別にSQL文を実行し、複数の検索結果データに対して結合、並べ替えおよび集計などの処理をアプリケーション側で行わなければならず、システム開発者は、データベースの仕組みや実装方法の違いを考慮した上でプログラムを作成する必要がある。
また、スマートコミュニティは、クラウド上で実現されるが、クラウドではリレーショナルデータベースの他にKVS(key value store)型などのデータベースを組み合わせた複合データベースが使われることが多い。更に、CSV(comma separated values)形式のデータファイルも使われることもある。このため、複数のデータ形式やデータアクセス方式が共存するクラウド環境における開発効率の更なる向上が求められている。
そこで、本発明は、上記従来技術の問題に鑑み、スマートコミュニティをクラウド上で実現する際のコーディングの作業の負担を軽減でき、複合データベースに対するデータ検索およびデータ保存を柔軟に行うことができるデータ処理装置およびデータ処理方法を提供する。
本実施形態のデータ処理装置は、データファイル入力、データベース入力、データ変換、データファイル出力およびデータベース出力を含む手続の実行条件を処理順序および処理種別に対応付けて記述した動作仕様と前記手続の実行時におけるデータ保持用の2次元配列の生成条件を記述した配列生成仕様を含むプロパティファイルと、前記配列生成仕様に基づいて所定数の前記2次元配列を生成する配列領域生成部と、前記データファイル入力の動作仕様に基づいてデータファイルを入力し、第1の2次元配列に格納するデータファイル入力部と、前記データベース入力の動作仕様に基づいてデータベースに対する検索クエリを生成する検索クエリ生成部と、前記生成された検索クエリを実行し、検索結果データを第2の2次元配列に格納するDB入力部と、前記データ変換の動作仕様に基づいて前記第2の2次元配列のデータを変換し、変換データを第3の2次元配列へ格納するデータ変換部と、前記データベース出力の動作仕様と前記第3の2次元配列に基づいて保存クエリを生成し、前記第3の2次元配列のデータを前記データベースへ出力するDB出力部と、前記データファイル出力の動作仕様と前記第3の2次元配列に基づいて前記第3の2次元配列のデータを他のデータファイルへ出力するデータファイル出力部と、前記動作仕様を読み込み、前記手続を前記処理順序で実行させる制御を行う制御部と、を備えることを特徴とする。
本発明の一実施形態に係るデータ処理装置が適用されるスマートコミュニティシステムの全体構成例を示すブロック図。 気象情報サーバからデータ処理装置へ送信される気象情報CSVファイルの具体例を示す図。 KVSに保存されるパルス信号の具体例を示す図。 RDBに記憶されているパルスと電力量の変換表の具体例を示す図。 プロパティファイルに記述される配列生成の仕様の具体例を示す図。 プロパティファイルに記述される手続き(入力、変換、出力)の仕様の具体例を示す図。 データ処理装置のハードウェア構成例を示すブロック図。 データ処理装置の入出力フレームワークの処理の具体例を示すフローチャート。 配列領域生成処理の具体例を示すフローチャート。 CSVファイル入力処理の具体例を示すフローチャート。 プロパティファイルとCSVファイルに基づいて生成された2次元配列の具体例を示す図。 クエリ生成処理の具体例を示すフローチャート。 RDBに予め記憶されているテーブルの具体例を示す図。 図13に示すテーブルから生成された2次元配列の具体例を示す図。 検索クエリの生成方法を説明する図。 図6に示すプロパティファイルの順序3について生成・実行される検索クエリを示す図。 DB入力処理の具体例を示すフローチャート。 図16に示す検索クエリの実行結果を格納する2次元配列“consumption”の値の具体例を示す図。 データ変換処理の具体例を示すフローチャート。 行・列変換指定無しの時の領域コピーの方法を説明する図。 行・列変換指定時の領域コピーの方法を説明する図。 繰り返し回数を指定した時の領域コピーの方法を説明する図。 図6に示すプロパティファイルの順序4の処理が終了した時点での2次元配列“result_data”の値の具体例を示す図。 図6に示すプロパティファイルの順序5の処理が終了した時点での2次元配列“result_data”の値の具体例を示す図。 図6に示すプロパティファイルの順序6の処理が終了した時点での2次元配列“result_data”の値の具体例を示す図。 図6に示すプロパティファイルの順序7の処理が終了した時点での2次元配列“result_data”の値の具体例を示す図。 DB出力処理の具体例を示すフローチャート。 図6に示すプロパティファイルの順序8で生成・実行される保存クエリを示す図。 図6に示すプロパティファイルの順序8の処理が終了した時点でのRDB上のresult_dataテーブルの値の具体例を示す図。 CSV出力処理の具体例を示すフローチャート。 図6に示すプロパティファイルの順序9の処理が終了した後のCSVファイルの具体例を示す図。
以下、本実施形態に係るデータ処理装置について図面を参照して詳細に説明する。図1は、本実施形態に係るデータ処理装置1が適用されるスマートコミュニティシステムの全体構成例を示すブロック図である。ここでは、データ処理装置1に対して、気象情報サーバ2と電力計3がネットワーク(図示省略する)を介して接続されることでシステムが構築されている。
データ処理装置1は、本システムの中核をなすサーバコンピュータであり、データストア11、プロパティファイル12および入出力フレームワーク13を備えている。データストア11は、リレーショナルデータベース(以下、RDB(relational database)という。)111とキー・バリュー・ストア型データベース(以下、KVS(key value store)という。)112を含む複合データベースである。
気象情報サーバ2は、観測地点の気温などを定期的に計測した値をCSV形式の気象情報として送信する外部サーバである。図2は、気象情報サーバ2からデータ処理装置1へ送信される気象情報CSVファイルの具体例を示す図である。ここでは、日時と気温(℃)の関係が行単位で記録されている。
電力計3は、固有の電力計IDが割当てられており、一定の電力量を使用する度にパルス信号を発生するセンサである。データ処理装置1は、電力計3からのパルス信号を受信すると、電力計IDとパルス信号の発生時刻の組み合わせをKVS112内に保存する。図3は、KVS112に保存されるデータの具体例を示す図であり、パルス日時(pulse_time)と電力計ID(meter_id)をデータ項目に含んでいる。以下、このデータテーブルをpulse_timeテーブルという。
図4は、RDB111に記憶されているパルスレートと電力量の変換表の具体例を示す図である。同図に示されるように、パルス信号1回が示す電力量の値は予めRDB111側に保存されている。例えば、電力計IDが“152”の場合、1パルス当たりの電力量は0.186kwhである。以下、このテーブルをpulse_rateテーブルという。
本システムでは、データ処理装置1が上記のデータを入力として、入出力フレームワーク13によって実績値を算出して接続先のクライアントマシン(図示省略する)の画面上に表示、あるいは帳票ファイル(例えばCSVファイル)の出力を行う。このとき、入出力フレームワーク13はプロパティファイル12を参照する。
プロパティファイル12は、データファイル入力、データベース入力、データ変換、データファイル出力およびデータベース出力を含む手続の実行条件を処理順序および処理種別に対応付けて記述した動作仕様と手続の実行時におけるデータ保持用の2次元配列の生成条件を記述した配列生成仕様を含んでいる。プロパティファイル12はXML形式、JSON形式、CSV形式、その他様々なもので実装可能である。例えば上記の表をCSVファイルとして実装することができる。
図5は、プロパティファイル12に記述される配列生成の仕様の具体例を示す図である。ここでは、2次元配列の配列名称に対して列数が定義されているが、行数については定義されていない。また、図6は、プロパティファイル12に記述される手続き(入力、変換、出力)の仕様の具体例を示す図である。ここでは、図中の1行が1つの手続きの仕様を示している。各行の動作仕様の詳細については後述する。
図1に示すように、入出力フレームワーク13は、制御部130、配列領域生成部131、CSVファイル入力部132、検索クエリ生成部133、DB入力部134、データ変換部135、DB出力部136およびCSVファイル出力部137を含むプログラム群である。
制御部130は、プロパティファイル12に記述されている動作仕様を読み込み、CSVファイル入力部132、検索クエリ生成部133、DB入力部134、データ変換部135、DB出力部136およびCSVファイル出力部137をそれぞれ呼び出して、手続を処理順序で実行させる制御を行う。また、制御部130は、プロパティファイル12に記述されている配列生成仕様を読込み、配列領域生成部131を呼び出す制御も行う。
配列領域生成部131は、配列生成仕様に基づいて所定数の2次元配列を生成する。
CSVファイル入力部132は、データファイル入力の動作仕様に基づいてデータファイルとしてCSVファイルを入力し、第1の2次元配列に格納する。CSVファイル入力部132は、データファイル入力手段の一例であり、データファイルの形式はCSVファイルだけに限られない。図6の例では、順序1の行がデータファイル入力の動作仕様であり、配列“weather”が第1の2次元配列に相当する。
検索クエリ生成部133は、データベース入力の動作仕様に基づいてデータストア11(複合データベース)に対する検索クエリを生成する。図6の例では、順序2および順序3の行がデータベース入力の動作仕様であり、3列目がDB接続情報、4列目がクエリ生成時に参照する参照用配列、6列目が検索用クエリ、7列目がクエリ生成用データである。
クエリ生成用データは、クエリ先頭部(“select [項目名]from [テーブル名]”の部分)と、クエリ結合部(“union all”の部分)およびクエリ末尾部(“group by”の部分)から構成されている。
DB入力部134は、検索クエリ生成部133で生成された検索クエリを実行し、検索結果データを第2の2次元配列に格納する。図6の順序3では、配列“consumption”が第2の2次元配列に相当する。尚、DB入力部134には、RDB111とKVS112双方を単一の問合せできるデータベース統合エンジンが組み込まれているものとする。データベース統合エンジンの具体例としては、http://www.toshiba.co.jp/tech/review/2013/09/68_09pdf/r01.pdf
等がある。
データ変換部135は、データ変換の動作仕様に基づいて第2の2次元配列のデータを変換し、変換データを第3の2次元配列へ格納する。図6の例では、順序4〜7の行がデータ変換の動作仕様であり、3列目が変換種別(領域のコピー/書き込み)、4列目が変換元配列名、5列目が変換元矩形領域情報、6列目が変換先矩形領域情報、6列目が行・列変換指定(yes/no)、7列目が変換先配列名である。また、順序4〜7の動作仕様では、配列“result_data”が第3の2次元配列に相当する。変換元矩形領域指定情報は、変換元となる第2の2次元配列における開始行番号、開始列番号、行数および列数で定義されている。他方、変換先矩形領域指定情報は、変換先となる第3の2次元配列における開始行番号、開始列番号、変換先繰り返し回数、変換先繰り返し間隔で定義されている。
DB出力部136は、データベース出力の動作仕様と第3の2次元配列に基づいて保存クエリを生成し、第3の2次元配列のデータをデータストア11へ出力する。図6の例では、順序8の行がデータ変換の動作仕様であり、3列目がDB接続情報、4列目が登録対象となる値を格納するデータ元配列名、5列目が保存用クエリである。DB出力部136は、保存用クエリのvalue部分に配列“result_data”のデータを順次格納することで保存クエリを生成する。
CSVファイル出力部137は、データファイル出力の動作仕様と第3の2次元配列に基づいて第3の2次元配列のデータをCSVファイルへ出力する。CSVファイル出力部137は、データファイル出力手段の一例であり、データファイルの形式はCSVファイルだけに限られない。
図7は、データ処理装置1のハードウェア構成例を示すブロック図である。同図に示されるように、データ処理装置1は、CPU(Central Processing Unit)31、ROM(Read Only Memory)32、RAM(Random Access Memory)33、入出力インターフェース34、システムバス35、入力装置36、表示装置37、補助記憶装置38および通信装置39から構成されたサーバコンピュータである。
CPU31は、ROM32やRAM33に格納されたプログラムやデータなどを用いて各種の演算処理を実行する処理装置である。ROM32は、コンピュータを機能させるための基本プログラムや環境ファイルなどを記憶する読み取り専用の記憶装置である。RAM33は、CPU31が実行するプログラムおよび各プログラムの実行に必要なデータを記憶する記憶装置であり、高速な読み出しと書き込みが可能である。入出力インターフェース34は、各種のハードウェアとシステムバス35との接続を仲介する装置である。システムバス35は、CPU31、ROM32、RAM33および入出力インターフェース34で共有される情報伝達路である。
また、入出力インターフェース34には、入力装置36、表示装置37、補助記憶装置38、および通信装置39などのハードウェアが接続されている。入力装置36は、ユーザからの入力を処理する装置である。表示装置37は、ユーザに対して演算結果や作成画面などを表示する装置である。補助記憶装置38は、プログラムやデータを蓄積する大容量の記憶装置である。
以下、上記のように構成されたデータ処理装置1の動作を図面に基づいて詳細に説明する。図8は、データ処理装置1の入出力フレームワーク13の処理の具体例を示すフローチャートであり、制御部130において実行される。
S101において、制御部20は、配列生成仕様および動作仕様がそれぞれ記述されているプロパティファイル12を読み込む。
S102において、制御部130は、プロパティファイル12の配列生成仕様に基づいて配列領域生成部131を呼び出し、配列領域生成処理を実行する。
S103において、制御部130は、処理の順序を表す変数Nに初期値1を設定し、プロパティファイル12の動作仕様に応じた処理の実行制御を開始する。
S104において、制御部130は、S101で読込んだプロパティファイル12の中から順序Nの動作仕様を選択する。
S105において、制御部130は、順序Nの動作仕様の処理種別がCSV入力(CSV_In)であるか否かを判定する。ここで、処理種別がCSV入力であると判定された場合は、S106へ進む。これに対し、処理種別がCSV入力ではないと判定された場合は、S107へ進む。
S106において、制御部130は、CSVファイル入力部132を呼び出し、CSV入力処理を実行後、S115へ進む。
S107において、順序Nの動作仕様の処理種別がデータベース入力(DB_In)であるか否かを判定する。ここで、処理種別がデータベース入力であると判定された場合は、S108へ進む。これに対し、処理種別がデータベース入力ではないと判定された場合は、S110へ進む。
S108において、制御部130は、検索クエリ生成部133を呼び出し、クエリ生成処理を行う。
S109において、制御部130は、DB入力部134を呼び出し、DB入力処理を実行後、S115へ進む。
S110において、制御部130は、順序Nの動作仕様の処理種別がデータ変換(Data_Conv)であるか否かを判定する。ここで、処理種別がデータ変換であると判定された場合は、S111へ進む。これに対し、処理種別がデータ変換ではないと判定された場合は、S112へ進む。
S111において、制御部130は、データ変換部135を呼び出し、データ変換処理を実行後、S115へ進む。
S112において、制御部130は、順序Nの動作仕様の処理種別がデータベース出力(DB_Out)であるか否かを判定する。ここで、処理種別がデータベース出力であると判定された場合は、S113へ進む。これに対し、処理種別がデータベース出力ではないと判定された場合は、CSVファイル出力(CSV_Out)とみなし、S114へ進む。
S113において、制御部130は、DB出力部136を呼び出し、DB出力処理を実行後、S115へ進む。
S114において、制御部130は、CSVファイル出力部137を呼び出し、CSV出力処理を実行後、S115へ進む。
S115において、制御部130は、変数Nを1加算し、S116へ進む。
S116において、制御部130は、変数Nがプロパティファイル12の処理順序の最大値、すなわち、最終処理順序番号を超えた否かを判定する。ここで、処理順序の最大値を超えたと判定された場合には、処理を終了する。これに対し、処理順序の最大値を超えていないと判定された場合には、S105へ戻り、処理を繰り返す。
上記のような処理により、プロパティファイル12に予め定義されている処理順序の通りに所望の処理を実行させることが可能となる。例えば、図6に示すプロパティファイル12の場合には、処理順序が順序1〜9まで記載されているため、CSVファイル入力(順序1)、DB入力(順序2)、DB入力(順序3)、データ変換(順序4)、データ変換(順序5)、データ変換(順序6)、データ変換(順序7)、DB出力(順序8)、CSV出力(順序9)の順に処理を実行させることができる。
図9は、配列領域生成処理の具体例を示すフローチャートであり、図8のS102の処理を詳細に説明するものである。
S201において、配列領域生成部131は、プロパティファイル12内の配列生成の仕様に基づいて生成対象の2次元配列の名称の指定入力を行う。
S202において、配列領域生成部131は、2次元配列の列数の指定入力を行う。
S203において、配列領域生成部131は、S201およびS202で指定された形式の2次元配列を生成し、処理を終了する。
図10は、CSVファイル入力処理の具体例を示すフローチャートであり、図6のS106の処理を詳細に説明するものである。
S301において、CSVファイル入力部132は、プロパティファイル12内のCSV入力に係る動作仕様に基づいてCSVファイルのファイル名を入力する。
S302において、CSVファイル入力部132は、動作仕様に基づいてCSVファイルの文字セットの指定入力を行う。
S303において、CSVファイル入力部132は、動作仕様に基づいてデータの保存先になる2次元配列名を入力する。
S304において、CSVファイル入力部132は、S301で指定されたCSVファイルのデータを行・列を保ったままS303で指定した2次元配列に出力し、処理を終了する。
例えば、図6に示したCSV入力に係る動作仕様(順序1)の場合には、文字セットUTF−8で作成されたファイル“weather_info.CSV”を読み込み、配列“weather”に読み込みデータを保存する。図11は、プロパティファイル12とCSVファイルに基づいて生成された2次元配列の具体例を示す図である。
図12は、クエリ生成処理の具体例を示すフローチャートであり、図6のS108の処理を詳細に説明するものである。
S401において、検索クエリ生成部133は、プロパティファイル12内のDB入力に係る動作仕様に基づいて検索用クエリを入力する。
S402において、検索クエリ生成部133は、動作仕様にクエリ生成用データが入力されているか否かを判定する。ここで、クエリ生成用データの入力有りと判定された場合には、S403へ進む。これに対し、クエリ生成用データの入力無しと判定された場合は、SS414へ進む。
S403において、検索クエリ生成部133は、動作仕様に記述されているクエリ生成用データを入力する。
S404において、検索クエリ生成部133は、動作仕様に記述されている参照用2次元配列名指定を入力する。
S405において、検索クエリ生成部133は、クエリ先頭部に対応する文字列をクエリ断片に対応する変数へ格納する。
S406において、検索クエリ生成部133は、変数Nに初期値1を設定し、ループ処理を開始する。
S407において、検索クエリ生成部133は、変数Nの値が1か否かを判定する。ここで、変数Nが1であると判定された場合は、S408へ進む。これに対し、変数Nが1ではないと判定された場合は、S409へ進む。
S408において、検索クエリ生成部133は、クエリ断片の文字列に続けてクエリ結合部の文字列を連結し、新たなクエリ断片とする。
S409において、検索クエリ生成部133は、クエリ断片の文字列に続けて検索用クエリと2次元配列の該当行から生成した文字列を連結し、新たなクエリ断片とする。
S410において、検索クエリ生成部133は、変数Nを1加算する。
S411において、検索クエリ生成部133は、変数Nの値が参照用2次元配列の最大行数Row_Maxの値を超えたか否かを判定する。ここで、最大行数Row_Maxの値を超えたと判定された場合には、ループ処理を終了し、S412へ進む。これに対し、最大行数Row_Maxの値を超えていないと判定された場合には、S407へ戻る。
S412において、検索クエリ生成部133は、クエリ断片に続けてクエリ末尾部の文字列を連結し、新たなクエリ断片とする。
S413において、検索クエリ生成部133は、S412で生成したクエリ断片を生成クエリ(検索クエリ)としてDB入力部134へ出力し、処理を終了する。
S414において、検索クエリ生成部133は、検索用クエリを生成クエリ(検索クエリ)としてDB入力部134へ出力し、処理を終了する。
図6に示したDB入力に係る動作仕様(順序2)の場合には、指定のドライバによりDBに接続をして、以下のクエリ“select * from hour_of_day”を実行した結果を配列“hour_of_day”に保存する。この配列は順序3のDB入力に係る動作仕様で参照用配列として使用される。尚、RDB111上には、予め“hour_of_day”テーブルが準備されているものとする。図13は、RDB111に予め記憶されているテーブルの具体例を示す図であり、図14は、図13に示すテーブルから生成された2次元配列の具体例を示す図である。
また、DB入力に係る動作仕様(順序3)の場合には、指定のドライバによりDBに接続し、生成した検索クエリを実行した結果は配列“consumption”に保存する。図15は、検索クエリの生成方法を説明する図である。ここでは、生成する検索クエリが、配列“hour_of_day”の内容、検索用クエリとして指定された文字列(以下、Aとする。)、クエリ生成用の3つの指定文字列(以下、順番にB,C,Dとする。)によって組み立てられることが示されている。具体的には、配列“hour_of_day”の行数と同じ数だけAを並べ、Aの間をCで繋ぐ。また、Aの中に指定された“{数値}”の箇所には配列“hour_of_day”の対応する行の数値によって指定される値を格納する。図16は、図6に示すプロパティファイル12の順序3について生成・実行される検索クエリを示す図であり、SQL文の“hours measure_time”の前には参照用配列“hour_of_day”で指定される列の値(0〜23)が格納されている。
図17は、DB入力処理の具体例を示すフローチャートであり、図6のS109の処理を詳細に説明するものである。
S501において、DB入力部134は、プロパティファイル12内のDB入力に係る動作仕様に基づいてDB接続情報を入力する。
S502において、DB入力部134は、同一の動作仕様に記述されているデータ保存先の2次元配列名を入力する。
S503において、DB入力部134は、検索クエリ生成部133が生成した検索クエリを実行し、処理を終了する。図18は、図16に示すクエリの実行結果を格納する2次元配列“consumption”の値の具体例を示す図であり、計測時刻、電力計IDおよび使用電力量の対応関係が格納されている。
図19は、データ変換処理の具体例を示すフローチャートであり、図6のS111の処理を詳細に説明するものである。
S601において、データ変換部135は、プロパティファイル12内のDB入力に係る動作仕様を参照し、変換種別が領域のコピーか否かを判定する。ここで、変換種別が領域のコピーと判定された場合は、S602へ進む。これに対し、変換種別が領域の書き込みと判定された場合は、S609へ進む。
S602において、データ変換部135は、DB入力に係る動作仕様に記述されている変換元2次元配列名を入力する。
S603において、データ変換部135は、同一の動作仕様に記述されているコピー元データの開始行・列番号とコピーする行数・列数を入力する。
S604において、データ変換部135は、同一の動作仕様に記述されている変換先2次元配列名を入力する。
S605において、データ変換部135は、同一の動作仕様に記述されているコピー先領域の開始行・列番号を入力する。
S606において、データ変換部135は、同一の動作仕様に記述されているコピー時の行・列変換指定を入力する。
S607において、データ変換部135は、同一の動作仕様に記述されている繰り返し回数・コピー元繰り返し間隔・コピー先繰り返し間隔を入力する。
S608において、データ変換部135は、コピー元領域の指定の行数・列数の値を指定の繰り返し回数、繰り返し間隔および行・列変換指定に基づいて指定のコピー先領域へコピーし、処理を終了する。
他方、S609において、データ変換部135は、同一の動作仕様に記述されている変換先配列名を入力する。
S610において、データ変換部135は、同一の動作仕様に記述されている書き込み先の行番号・列番号を入力する。
S611において、データ変換部135は、同一の動作仕様に記述されている繰り返し回数・繰り返し間隔を入力する。
S612において、データ変換部135は、同一の動作仕様に記述されている書き込み値を入力する。
S613において、データ変換部135は、指定の書き込み値を指定の行・列の位置から指定の繰り返し回数・繰り返し間隔に基づいて書き込み、処理を終了する。
図20は、行・列変換指定無しの時の領域コピーの方法を説明する図である。ここでは、上欄の変換元2次元配列においてコピー元開始行番号、コピー元開始列番号、コピー行数、コピー列数で定まる矩形領域がコピー元領域であることが示されている。また、下欄の変換先2次元配列においても同様に、コピー先開始行番号、コピー先開始列番号、コピー行数、コピー列数で定まる矩形領域がコピー先領域であることが示されている。
図21は、行・列変換指定時の領域コピーの方法を説明する図である。ここでは、上欄の変換元2次元配列については上記図20の場合と同様であるが、下欄の変換先2次元配列については、コピー行数とコピー列数が逆になることでコピー先領域の範囲が変更されることが示されている。
図22は、繰り返し回数を指定した時の領域コピーの方法を説明する図である。ここでは、上欄の変換元2次元配列においてコピー元繰り返し間隔でコピー元領域がAからBへ移動するとともに、下欄の変換先2次元配列においてコピー先繰り返し間隔でコピー先領域がA′からB′へ移動し、領域Aの値が領域A′、領域Bの値が領域B′にそれぞれコピーされることが示されている。
以下、図6に示した順序4〜順序7のデータ変換の動作仕様に基づく処理について順番に説明する。
先ず、順序4の処理を行った場合は、配列“consumption”の値を使用して配列“result_data”の値を設定する。配列“consumption”の1行1列目から開始して、全行全列の値を配列“result_data”の1行1列目にコピーする処理を1回繰り返し、繰り返し時にはコピー元は1行1列ずつ、コピー先は1行1列ずつ移動しながらコピーを行う。図23は、図6に示すプロパティファイルの順序4の処理が終了した時点での2次元配列“result_data”の値の具体例を示す図である。ここでは、気温は空欄である
続いて、順序5の処理を行った場合は、配列“weather”の値を使用して配列“result_data”の値を設定する。配列“weather”の1行1列目から初めて1行1列の値を配列“result_data”aの1行4列目にコピーする処理を可能な限り繰り返して、繰り返し時にはコピー元は1行0列ずつ、コピー先は3行0列ずつ移動しながらコピーを行う。図24は、図6に示すプロパティファイルの順序5の処理が終了した時点での2次元配列“result_data”の値の具体例を示す図である。ここでは、電力計IDが“152”のもの気温が格納されている。
続いて、順序6の処理を行った場合には、配列“weather”の値を使用して配列“result_data”の値を設定する。配列“weather”の1行1列目から初めて1行1列の値を配列“result_data”の2行4列目にコピーする処理を同一ファイル内で可能な限り繰り返して、繰り返し時にはコピー元は1行0列ずつ、コピー先は3行0列ずつ移動しながらコピーを行う。図25は、図6に示すプロパティファイルの順序6の処理が終了した時点での2次元配列“result_data”の値の具体例を示す図である。ここでは、電力計IDが“3862”のものについて気温が格納されることが示されている。
続いて、順序7の処理を行った場合は、配列“weather”の値を使用して配列“result_dataの値を設定する。配列“weather”の1行1列目から開始して、1行1列の値を配列“result_data”の3行4列目にコピーする処理を可能な限り繰り返して、繰り返し時にはコピー元は1行0列ずつ、コピー先は3行0列ずつ移動しながらコピーを行う。図26は、図6に示すプロパティファイルの順序7の処理が終了した時点での2次元配列“result_data”の値の具体例を示す図である。ここでは、電力計IDが“9417”のものについて気温が格納されることが示されている。
図27は、DB出力処理の具体例を示すフローチャートであり、図6のS113の処理を詳細に説明するものである。
S701において、DB出力部136は、プロパティファイル12のDB出力に係る動作仕様に記述されているDB接続情報を入力する。
S702において、DB出力部136は、同一の動作仕様に記述されているデータ元の2次元配列名を入力する。
S703において、DB出力部136は、同一の動作仕様に記述されている保存用クエリを入力する。
S704において、DB出力部136は、保存用クエリの実行パラメータをS702で指定した2次元配列の値で埋め、保存クエリを生成する。
S705において、DB出力部136は、S704で生成した保存クエリを実行し、処理を終了する。
例えば、図6に示した順序8の処理を行った場合は、配列“result_data”の値を使用してデータストア11への保存処理を行う。指定のクエリは配列“result_data”の1行につき1回発行し、クエリの“{数値}”の箇所は配列“result_data”の対応する行について指定の列の値を参照するものである。図28は、図6に示すプロパティファイルの順序8で生成・実行される保存クエリを示す図である。ここでは、SQL文中のvaluesの中に配列“result_data”が仕様通りに格納されることが示されている。図29は、図6に示すプロパティファイルの順序8の処理が終了した時点でのRDB111上のresult_dataテーブルの値の具体例を示す図である。
図30は、CSV出力処理の具体例を示すフローチャートであり、図6のS114の処理を詳細に説明するものである。
S801において、CSVファイル出力部137は、CSV出力に係る動作仕様に基づいてCSVファイルのファイル名を入力する。
S802において、CSVファイル出力部137は、同一の動作仕様に記述されているCSVファイルの文字セット指定を入力する。
S803において、CSVファイル出力部137は、同一の動作仕様に記述されているデータ元の2次元配列名を入力する。
S804において、CSVファイル出力部137は、S801〜803において指定入力された2次元配列のデータを行・列を保ったままファイルに出力する。
例えば、図6に示す順序9の処理を行った場合は、配列“result_data”の内容をUTF−8でファイル“result_data.CSV”に書き込む。図31は、図6に示すプロパティファイルの順序9の処理が終了した後のCSVファイルの具体例を示す図である。ここでは、図27に示した処理によってRDB111に登録された配列のデータと共通のデータがCSVファイルとして出力されることが示されている。
このように、本実施形態に係るデータ処理装置1によれば、以下のような効果を奏する。
(1)RDB、KVS、CSVなどデータ形式が混在するクラウド環境下において、プロパティファイル12を利用する同一の仕組みによりデータベース間あるいはデータベースとデータファイル間でのデータ入出力が可能になる。このため、スマートコミュニティの開発工数を大幅に低減することができる。
(2)コーディングすることなく、データベース問合せのクエリを動的に生成・発行することができる。すなわち、新たなクエリを生成する場合にはCSVファイルの内容や別のDB検索結果を用いることができ、クエリ内にパラメータを含めることもできる。
以上、本発明の実施形態を説明したが、本実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。本実施形態およびその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…スマートコミュニティサーバ、
2…気象情報サーバ、
3…電力計、
11…データストア、
12…プロパティファイル、
13…入出力フレームワーク、
111…RDB、
112…KVS、
130…制御部、
131…配列領域生成部、
132…CSVファイル入力部、
133…検索クエリ生成部、
134…DB入力部、
135…データ変換部、
136…DB出力部、
137…CSVファイル出力部。

Claims (5)

  1. データファイル入力、データベース入力、データ変換、データファイル出力およびデータベース出力を含む手続の実行条件を処理順序および処理種別に対応付けて記述した動作仕様と前記手続の実行時におけるデータ保持用の2次元配列の生成条件を記述した配列生成仕様を含むプロパティファイルと、
    前記配列生成仕様に基づいて所定数の前記2次元配列を生成する配列領域生成部と、
    前記データファイル入力の動作仕様に基づいてデータファイルを入力し、第1の2次元配列に格納するデータファイル入力部と、
    前記データベース入力の動作仕様に基づいてデータベースに対する検索クエリを生成する検索クエリ生成部と、
    前記生成された検索クエリを実行し、検索結果データを第2の2次元配列に格納するDB入力部と、
    前記データ変換の動作仕様に基づいて前記第2の2次元配列のデータを変換し、変換データを第3の2次元配列へ格納するデータ変換部と、
    前記データベース出力の動作仕様と前記第3の2次元配列に基づいて保存クエリを生成し、前記第3の2次元配列のデータを前記データベースへ出力するDB出力部と、
    前記データファイル出力の動作仕様と前記第3の2次元配列に基づいて前記第3の2次元配列のデータを他のデータファイルへ出力するデータファイル出力部と、
    前記動作仕様を読み込み、前記手続を前記処理順序で実行させる制御を行う制御部と、
    を備えることを特徴とするデータ処理装置。
  2. 前記データベース入力の動作仕様は、クエリ先頭部、クエリ結合部およびクエリ末尾部からなるクエリ生成用データと、クエリ生成時に参照する第4の2次元配列の指定情報と、前記第2の2次元配列の指定情報とを含み、
    前記検索クエリ生成部は、前記参照用2次元配列の最大行数分だけ前記クエリ生成用データの結合を繰り返し、可変長の前記検索クエリを生成することを特徴とする請求項1記載のデータ処理装置。
  3. 前記データ変換の仕様は、変換元となる前記第2の2次元配列における開始行番号、開始列番号、行数および列数で定義される変換元矩形領域指定情報と、変換先となる前記第3の2次元配列における開始行番号、開始列番号、変換先繰り返し回数、変換先繰り返し間隔で定義される変換先矩形領域指定情報とを含むことを特徴とする請求項1または請求項2記載のデータ処理装置。
  4. 前記プロパティファイルは、XML形式、JSON形式またはCSV形式で記述されていることを特徴とする請求項1乃至請求項3のいずれか一項記載のデータ処理装置。
  5. データファイル入力、データベース入力、データ変換、データファイル出力およびデータベース出力を含む手続の実行条件を処理順序および処理種別に対応付けて記述した動作仕様と前記手続の実行時におけるデータ保持用の2次元配列の生成条件を記述した配列生成仕様を含むプロパティファイルを読み込むプロパティファイル読み込みステップと、
    前記動作仕様を読み込み、前記手続を前記処理順序で実行させる制御を行う制御ステップと、
    前記配列生成仕様に基づいて所定数の前記2次元配列を生成する配列領域生成ステップと、
    前記データファイル入力の動作仕様に基づいてデータファイルを入力し、第1の2次元配列に格納するデータファイル入力ステップと、
    前記データベース入力の動作仕様に基づいてデータベースに対する検索クエリを生成する検索クエリ生成ステップと、
    前記生成された検索クエリを実行し、検索結果データを第2の2次元配列に格納するDB入力ステップと、
    前記データ変換の動作仕様に基づいて前記第2の2次元配列のデータを変換し、変換データを第3の2次元配列へ格納するデータ変換ステップと、
    前記データベース出力の動作仕様と前記第3の2次元配列に基づいて保存クエリを生成して実行し、前記第3の2次元配列のデータを前記データベースへ出力するDB出力ステップと、
    前記データファイル出力の動作仕様と前記第3の2次元配列に基づいて前記第3の2次元配列のデータを他のデータファイルへ出力するデータファイル出力ステップと、
    を有することを特徴とするデータ処理方法。
JP2014140419A 2014-07-08 2014-07-08 データ処理装置およびデータ処理方法 Active JP6415877B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014140419A JP6415877B2 (ja) 2014-07-08 2014-07-08 データ処理装置およびデータ処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014140419A JP6415877B2 (ja) 2014-07-08 2014-07-08 データ処理装置およびデータ処理方法

Publications (2)

Publication Number Publication Date
JP2016018366A true JP2016018366A (ja) 2016-02-01
JP6415877B2 JP6415877B2 (ja) 2018-10-31

Family

ID=55233552

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014140419A Active JP6415877B2 (ja) 2014-07-08 2014-07-08 データ処理装置およびデータ処理方法

Country Status (1)

Country Link
JP (1) JP6415877B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004185520A (ja) * 2002-12-06 2004-07-02 Hitachi Ltd データ変換システム
JP2009104276A (ja) * 2007-10-22 2009-05-14 Mitsubishi Electric Corp データ管理装置
JP2011059845A (ja) * 2009-09-08 2011-03-24 Nec Corp データベース操作装置、データベース操作方法、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004185520A (ja) * 2002-12-06 2004-07-02 Hitachi Ltd データ変換システム
JP2009104276A (ja) * 2007-10-22 2009-05-14 Mitsubishi Electric Corp データ管理装置
JP2011059845A (ja) * 2009-09-08 2011-03-24 Nec Corp データベース操作装置、データベース操作方法、及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
片山大河: "データベース統合エンジン 異なるデータベースの横断的な検索を容易に実現", 東芝レビュー VOL.68 NO.9, vol. 68, no. 9, JPN6018009362, 1 September 2013 (2013-09-01), pages 56 - 57, ISSN: 0003760299 *

Also Published As

Publication number Publication date
JP6415877B2 (ja) 2018-10-31

Similar Documents

Publication Publication Date Title
CN108920588B (zh) 一种用于人机交互的知识图谱更新方法及系统
US10353882B2 (en) Packaging data science operations
EP2608074A2 (en) Systems and methods for merging source records in accordance with survivorship rules
US20080147599A1 (en) Load balancing for complex database query plans
CN110377621B (zh) 一种基于计算引擎的界面处理方法及装置
WO2012125166A1 (en) Data source analytics
CN107038218B (zh) 报表处理方法和系统
CN105512162A (zh) 一种基于Storm的流数据实时智能化处理框架
CN109791543B (zh) 执行多表连接操作的控制方法及对应装置
Medvedev et al. Crop simulation model registrator and polyvariant analysis
CN105279269B (zh) 一种支持表自由关联的sql生成方法和系统
CN107657150A (zh) 一种可视化生物信息分析工具生成方法和装置
CN109308309B (zh) 一种数据服务质量评估方法和终端
CN110162537A (zh) 数据查询方法及装置、存储介质以及电子设备
CN105975489A (zh) 一种基于元数据的在线sql代码补全方法
CN108140022A (zh) 数据查询方法和数据库系统
WO2022134878A1 (zh) 数据处理、查询方法、装置、电子设备及存储介质
CN102129457A (zh) 大规模语义数据路径查询的方法
WO2014029847A1 (en) Data processing
Byrd et al. An active-set algorithm for nonlinear programming using parametric linear programming
CN113190576A (zh) 数据处理方法、装置、计算机设备和可读存储介质
JP6415877B2 (ja) データ処理装置およびデータ処理方法
Kabziński et al. Adaptive, observer-based synchronization of different chaotic systems
CN105068879B (zh) 一种查找目标订阅的方法及装置
CN110019274B (zh) 一种数据库系统以及查询数据库的方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170328

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180320

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180420

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180904

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181003

R150 Certificate of patent or registration of utility model

Ref document number: 6415877

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150