JP2006277642A - Data transformation system and program - Google Patents
Data transformation system and program Download PDFInfo
- Publication number
- JP2006277642A JP2006277642A JP2005099719A JP2005099719A JP2006277642A JP 2006277642 A JP2006277642 A JP 2006277642A JP 2005099719 A JP2005099719 A JP 2005099719A JP 2005099719 A JP2005099719 A JP 2005099719A JP 2006277642 A JP2006277642 A JP 2006277642A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory file
- reference source
- conversion
- sql
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
この発明はデータ変換システム及びデータ変換プログラムに係り、特に、本来的な情報処理の前処理として、対象となるデータの構成を必要な形式に変換する技術に関する。 The present invention relates to a data conversion system and a data conversion program, and more particularly, to a technique for converting a configuration of target data into a necessary format as a pre-process for essential information processing.
情報処理の分野においては、データの加工や照合、登録といった本来的な処理の前段階において、対象となるデータに対してデータ項目の並び替えや補充、削除、結合等の変換処理を施し、後続処理の効率化を図ることが行われる。
例えば、下記の特許文献1には、入金予定情報と入金情報との照合処理の前処理として、顧客名称や通貨の統一、あるいは欠落項目の補充等を実行することにより、データ照合処理の自動化を実現する自動照合装置が開示されている。
For example, in
図10は、このようなデータ変換処理を実現するための、従来の一般的なシステム構成を示すブロック図である。
この場合、通信ネットワーク等を介して所定のデータ項目を備えた入力データ60をシステム62が受信すると、データ変換処理部64が変換ルール記憶部66からデータ項目毎に規定された変換ルールを読み出し、これに従ってデータベースサーバ68から必要なデータを取得し、あるいはデータ項目の結合や削除等の加工を施し、出力データ70として後続のシステムに送信する。
FIG. 10 is a block diagram showing a conventional general system configuration for realizing such data conversion processing.
In this case, when the
図11は、この従来のデータ変換システム62を用いてデータ項目の補充等の変換処理を行う際の要領を示す模式図であり、銘柄コード、ファンドコード、証券会社コード等のデータ項目を有する入力データに対し、銘柄名称、ファンド名称、証券会社名称等のデータ項目を補充して出力データを生成する様子が描かれている。
この場合、データ変換処理部64は、入力データの銘柄コードや証券会社コード等を参照元データとしてデータベースサーバ68に送信し、各コードに関連づけられた名称を取得した後、これを出力データの該当項目に埋め込んでいる。
この図が示すように、データ変換システム62は入力データから出力データを生成するに当たり、補充すべきデータ項目毎にデータベースサーバ68への参照を繰り返しており、1件の入力データを処理するために5回もデータベースへの問合せを行っている。
一般に、情報処理において最も時間を要するのはデータベースへの問合せに伴う待ち時間であるため、補充すべきデータ項目の数及び対象となる入力データのレコード件数が増加するにつれて、変換処理に膨大な時間が必要となる。
FIG. 11 is a schematic diagram showing the points when performing conversion processing such as replenishment of data items using the conventional
In this case, the data
As shown in this figure, in generating output data from input data, the
In general, information processing takes the most time to wait for a query to the database. Therefore, as the number of data items to be replenished and the number of records of target input data increases, the conversion process takes a huge amount of time. Is required.
もちろん、特定のデータ形式及びハードウェア構成に的を絞った専用システムを用いるのであれば、ソースコードレベルで様々な効率化手法を講じることにより、全体的な処理の高速化を図ることが可能となる。
例えば、参照元となるデータを所定件分まとめてデータベースサーバに送信し、補充が必要なデータを一度に取得することで、データベースサーバへのアクセス回数を減らし、全体の処理時間を短縮化することも可能である。
Of course, if a dedicated system focused on a specific data format and hardware configuration is used, it is possible to speed up the overall processing by taking various efficiency methods at the source code level. Become.
For example, by sending a predetermined amount of reference source data to the database server and acquiring the data that needs to be replenished at a time, the number of accesses to the database server can be reduced and the overall processing time can be reduced. Is also possible.
しかしながら、専用システムの場合には上記のような処理の高速化の利点が得られる反面、その運用において柔軟性に欠けるという問題がある。
すなわち、上記のようにシステムの動作がプログラムレベルで規定されることとなると、データ項目の構成に変更が生じたり、参照先のデータベースに変更が生じた場合にはソースコードの記述を修正して実行ファイルを生成し直す必要があり、現場の要求に応じてその動作を即座に改変できないという事態が生じる。
However, in the case of a dedicated system, the above-described advantage of speeding up the processing can be obtained, but there is a problem that the operation is not flexible.
In other words, if the system operation is defined at the program level as described above, the source code description should be modified if the data item structure changes or the reference database changes. It is necessary to regenerate the executable file, and a situation occurs in which the operation cannot be immediately modified according to the request of the site.
この発明は、データ変換処理に係る従来の上記問題を解決するために案出されたものであり、柔軟性に優れた汎用的な処理を前提としながらも、高速なデータ変換処理を可能とする技術の実現を目的としている。 The present invention has been devised in order to solve the above-mentioned conventional problems relating to data conversion processing, and enables high-speed data conversion processing while assuming general-purpose processing with excellent flexibility. It aims to realize technology.
上記の目的を達成するため、請求項1に記載したデータ変換システムは、複数の入力データが格納された記憶手段から予め設定された件数分のレコードを抽出し、第1のメモリファイルに格納する手段と、入力データに対する変換ルールを出力データのデータ項目単位で格納しておく変換ルール記憶手段と、この変換ルールに従い、第1のメモリファイルに格納された該当データ項目の各データに対し必要な処理を同時に実行し、第2のメモリファイルの該当箇所に一括して格納する手段と、上記変換ルールにおいて特定のデータ項目のデータに基づいてデータベースから関連データを取得することが規定されている場合に、当該変換ルールを編集し、一括SQL発行テーブルに格納された各参照元データに対応した結果データの一括送信を要求するSQL文を自動生成する手段と、第1のメモリファイルに格納された該当データ項目に係る全データを抽出し、参照元データとして一括SQL発行テーブルに書き出す手段と、上記の編集後SQL文を該当のデータベースに送信し、対応する結果データの送信を要求する手段と、データベースから送信された各結果データと各参照元データとを比較し、参照元データと結果データとが一対一で対応する場合には当該結果データを第2のメモリファイルの該当箇所に格納し、参照元データに対する結果データが複数存在する場合には所定のルールに従って選択された一の結果データのみを第2のメモリファイルの該当箇所に格納し、参照元データに対する結果データが存在しない場合にはデータの欠落を示すコードを第2のメモリファイルの該当箇所に記述する手段と、第2のメモリファイルに必要なデータが揃った時点で、各データを出力データ記憶手段に移動させる手段とを備えたことを特徴としている。 In order to achieve the above object, the data conversion system according to claim 1 extracts a record corresponding to a preset number of cases from a storage unit storing a plurality of input data, and stores it in a first memory file. Means, a conversion rule storage means for storing a conversion rule for input data in units of data items of output data, and a necessary data item for each data item stored in the first memory file according to the conversion rule. When processing is performed simultaneously and means for collectively storing in a corresponding portion of the second memory file, and the above conversion rule stipulates that related data is acquired from a database based on data of a specific data item Edit the conversion rule and request batch transmission of result data corresponding to each reference source data stored in the batch SQL issue table Means for automatically generating a SQL statement, means for extracting all data related to the corresponding data item stored in the first memory file, writing it as a reference source data to a batch SQL issue table, and the edited SQL statement The means for requesting transmission of the corresponding result data transmitted to the corresponding database is compared with each result data transmitted from the database and each reference source data, and the reference source data and the result data correspond one-to-one. In this case, the result data is stored in the corresponding part of the second memory file, and when there are a plurality of result data for the reference source data, only one result data selected according to a predetermined rule is stored in the second memory file. If the result data for the reference source data does not exist, a code indicating data loss is stored in the corresponding location of the second memory file. Means for predicates, is characterized in that when the aligned data required in the second memory file, and means for moving the respective data in the output data storage means.
また、請求項2に記載したデータ変換プログラムは、コンピュータを、複数の入力データが格納された記憶手段から予め設定された件数分のレコードを抽出し、第1のメモリファイルに格納する手段、入力データに対する変換ルールを出力データのデータ項目単位で格納しておく変換ルール記憶手段、この変換ルールに従い、第1のメモリファイルに格納された該当データ項目の各データに対し必要な処理を同時に実行し、第2のメモリファイルの該当箇所に一括して格納する手段、上記変換ルールにおいて特定のデータ項目のデータに基づいてデータベースから関連データを取得することが規定されている場合に、当該変換ルールを編集し、一括SQL発行テーブルに格納された各参照元データに対応した結果データの一括送信を要求するSQL文を自動生成する手段、第1のメモリファイルに格納された該当データ項目に係る全データを抽出し、参照元データとして一括SQL発行テーブルに書き出す手段、上記の編集後SQL文を該当のデータベースに送信し、対応する結果データの送信を要求する手段、データベースから送信された各結果データと各参照元データとを比較し、参照元データと結果データとが一対一で対応する場合には当該結果データを第2のメモリファイルの該当箇所に格納し、参照元データに対する結果データが複数存在する場合には所定のルールに従って選択された一の結果データのみを第2のメモリファイルの該当箇所に格納し、参照元データに対する結果データが存在しない場合にはデータの欠落を示すコードを第2のメモリファイルの該当箇所に記述する手段、第2のメモリファイルに必要なデータが揃った時点で、各データを出力データ記憶手段に移動させる手段として機能させることを特徴としている。 According to a second aspect of the present invention, there is provided a data conversion program comprising: means for extracting a predetermined number of records from a storage means storing a plurality of input data, and storing the records in a first memory file; Conversion rule storage means for storing conversion rules for data in units of data items of output data, and in accordance with the conversion rules, necessary processing is simultaneously executed for each data item of the corresponding data item stored in the first memory file. , Means for collectively storing the data in the corresponding portion of the second memory file, and when the conversion rule stipulates that the related data is acquired from the database based on the data of the specific data item, the conversion rule is SQL statement that requests batch transmission of result data that is edited and corresponding to each reference source data stored in the batch SQL issue table Means for automatic generation, means for extracting all data related to the corresponding data item stored in the first memory file, writing it to the batch SQL issue table as reference source data, and sending the edited SQL statement to the corresponding database , Means for requesting transmission of corresponding result data, each result data transmitted from the database is compared with each reference source data, and when the reference source data and the result data correspond one-to-one, the result data is When there are a plurality of result data corresponding to the reference source data, only one result data selected according to a predetermined rule is stored in the corresponding part of the second memory file, and stored in the corresponding part of the second memory file. Means for describing a code indicating data loss in a corresponding portion of the second memory file when there is no result data for the reference source data; At the time of uniform data required for the second memory file, it is characterized in that to function as a means for moving the respective data in the output data storage means.
請求項1のデータ変換システム及び請求項2のデータ変換プログラムにあっては、入力データに対し1件単位で変換処理を行うのではなく、ある程度まとまった件数単位で処理がなされ、データベースへの照会も同件数単位で実行されるため問合わせの回数を大幅に低減することができ、変換処理全体の高速化を実現することができる。
また、データベースから送信された複数件数分の結果データをそのまま出力データとして採用するのではなく、参照元データと突き合わせて整合化させる機能を備えているため、誤ったデータ列が形成されることを未然に防止することができる。
さらに、各データ項目に係る変換ルールが外部データの形で供給されるため、これらの記述を変更することによって柔軟に変換処理の対象や動作を変更することが可能となる。
しかも、データベースに問合せを行う際には複数のデータを一括して取得するためのSQL文が自動生成されるため、現場のオペレータは従来の逐次処理の場合と同様の手軽さで変換ルールを定義することが可能となる。
In the data conversion system according to
In addition, the result data sent from the database is not directly adopted as output data, but has a function to match and match the reference source data, so that an incorrect data string is formed. It can be prevented in advance.
Furthermore, since conversion rules relating to each data item are supplied in the form of external data, it is possible to flexibly change the object and operation of conversion processing by changing these descriptions.
Moreover, when querying the database, SQL statements for acquiring multiple data at once are automatically generated, so operators in the field can define conversion rules with the same ease as in conventional sequential processing. It becomes possible to do.
図1は、この発明に係るデータ変換システムが組み込まれた約定管理システムの全体構成を示すブロック図であり、銀行等の金融機関内に配置された約定管理システム10は、受信データ変換システム12と、データ照合システム14と、送信データ変換システム16とを備えている。
FIG. 1 is a block diagram showing the overall configuration of a contract management system in which a data conversion system according to the present invention is incorporated. A
この約定管理システム10は、銀行内ネットワーク18やSWIFTネット19、各種データ交換サービスネット20等の通信網を介して銀行内資産運用部署、海外証券会社、海外機関投資家、国内証券会社、国内機関投資家等の取引サーバ22から送信された取引報告書データ及び運用指図書データ間の照合を行い、約定成立が確認できたデータ(照合済み約定データ)を銀行内ネットワーク23を介して銀行内勘定系システム24に受け渡す役割を果たすものである。
This
取引報告書データと運用指図書データとの照合処理自体はデータ照合システム14において実行されるのであるが、その前処理として、受信データ変換システム12において各取引サーバ22から送信されたデータを標準フォーマットのデータ形式に変換する処理が実行される。
すなわち、各取引サーバ22から送信される取引報告書データや運用指図書データはそれぞれ独自のフォーマットを備えており、そのままでは相互に照合不可能であったり、後続の処理に繋げられない事態が生じるため、受信データ変換システム12において事前に汎用的な標準フォーマットに一旦統一される。
具体的には、以下の変換処理が実行される。
(1) 各受信データのデータ項目の並びを標準の並びに変換する。
(2) 各受信データのデータコードを標準的なデータコードに変換する(例えば、銘柄コードを外部コードから社内コードに変換する)。
(3) 各受信データに存在しないデータ項目が標準フォーマットにおいて要求されている場合に、不足しているデータ項目を外部のデータベース等から補充する。
The verification process itself between the transaction report data and the operation instruction data is executed in the
That is, the transaction report data and operation instruction data transmitted from each
Specifically, the following conversion process is executed.
(1) Convert the order of data items of each received data into a standard sequence.
(2) The data code of each received data is converted into a standard data code (for example, the stock code is converted from an external code to an in-house code).
(3) When a data item that does not exist in each received data is requested in the standard format, the missing data item is supplemented from an external database or the like.
このように、受信データ変換システム12において各受信データが標準フォーマットに予め統一されるため、データ照合システム14における照合処理は極めて効率的に実行可能となる。
データ照合システム14における照合が完了した取引データ(運用指図書データ及び取引報告書データの組合せ)は、上記のように銀行内勘定系システム24に送信され、そこにおいて様々な処理に利用されるのであるが、その前に送信データ変換システム16において、標準フォーマットから銀行内勘定系システム24が要求する独自フォーマットに再度変換される。
In this way, since each received data is unified in advance in the standard format in the received
Transaction data (combination of operation instruction data and transaction report data) that has been verified in the
この発明に係るデータ変換システムは、このような約定管理システム10における受信データ変換システム12及び送信データ変換システム16として好適に利用できる。
図2に示すように、このデータ変換システム30は、対象データ取込部32と、変換処理部34と、変換データ登録部36と、入力データ記憶部38と、基本設定記憶部40と、変換ルール記憶部42と、出力データ記憶部44と、第1のメモリファイル46と、第2のメモリファイル48と、一括SQL発行テーブル50とを備えている。
The data conversion system according to the present invention can be suitably used as the reception
As shown in FIG. 2, the
上記対象データ取込部32、変換処理部34及び変換データ登録部36は、システム30を構成するコンピュータのCPUが、OS及び専用のアプリケーションプログラムに従って必要な処理を実行することによって実現される。
また、入力データ記憶部38、基本設定記憶部40、変換ルール記憶部42及び出力データ記憶部44は、同コンピュータのハードディスク内に設けられており、第1のメモリファイル46、第2のメモリファイル48及び一括SQL発行テーブル50は、同コンピュータの内部メモリ内に設定される。
The target
The input
上記入力データ記憶部38内の所定のディレクトリには、外部の取引サーバ22から送信された取引データ等が入力データとして蓄積されている。
また、基本設定記憶部40には、一括処理をすべき入力データのレコード数が予め設定されている。
さらに、変換ルール記憶部42には、入力データに対する変換処理の内容が出力データのデータ項目単位で規定されている。
In a predetermined directory in the input
In the basic
Further, the conversion
つぎに、図3のフローチャートに従い、このデータ変換システム30における処理手順を説明する。
まず、対象データ取込部32が起動し、基本設定記憶部40を参照して一度に取り込むべきレコードの件数を取得する(S10)。
例えば、基本設定記憶部40に一括処理の単位として「300件」が設定されていた場合、対象データ取込部32は入力データ記憶部38の特定ディレクトリから300件のレコードをまとめて抽出し、第1のメモリファイル46に格納する(S12)。
図4はこの場合のイメージを示すものであり、第1のメモリファイル46に項目1〜項目nを備えたREC 1〜REC 300のレコードがセットされた状態が描かれている。
Next, a processing procedure in the
First, the target
For example, when “300 cases” is set as a unit of batch processing in the basic
FIG. 4 shows an image in this case, in which a record of
つぎに変換処理部34が起動し、変換ルール記憶部42に格納された変換ルールをデータ項目単位で読み出して内容を解析すると共に(S14)、その内容に従って必要な処理を実行する。
ここで、例えば入力データの項目1に記述された銘柄コードをキーとして外部のデータベースから対応する銘柄名称を取得すべき旨のルールが変換ルール記憶部42に規定されている場合(S16)、変換処理部34はまず変換ルール自体を一括処理に対応したものに編集する。
すなわち、変換ルール記憶部42内に格納された変換ルール(要求SQL文)はレコードを逐次的に変換処理することを要求する内容であるため、変換処理部34はこれを編集し、一括SQL発行テーブル50に格納された各銘柄コードに対応する銘柄名称をデータベースサーバから一度に取得するためのSQL文(一括SQL発行テーブルとのJOIN型SQL文)を自動生成する(S18)。
Next, the
Here, for example, when the rule that the corresponding brand name should be acquired from an external database is defined in the conversion
In other words, the conversion rule (request SQL statement) stored in the conversion
つぎに変換処理部34は、第1のメモリファイル46から300件分の銘柄コードを抽出し、一括SQL発行テーブル50に格納する(S20)。
つぎに変換処理部34は、編集後のSQL文をデータベースサーバ52に送信し、対応データの一括送信を要求する(S22)。
これを受けたデータベースサーバ52は、編集後SQL文に従い一括SQL発行テーブル50に格納された各銘柄コードに対応する銘柄名称を銘柄データベースから抽出し、変換処理部34に送信する。
なお、上記の一括SQL発行方式については、後に詳細に説明する。
Next, the
Next, the
Receiving this, the
The batch SQL issue method will be described in detail later.
つぎに変換処理部34は、データベースサーバ52から送信された各データに対し、整合化処理を実行する(S24)。
すなわち、データベースサーバ52から送信された各データは、必ずしも一括SQL発行テーブル50に格納された参照元データ(銘柄コード)と一対一で対応しているとは限らず、データの欠落や重複が生じている可能性がある。
例えば、300件分の銘柄コードに対してデータベースサーバ52から300件分の銘柄名称が送信されたとしても、実際には同一の銘柄コードに対して複数の銘柄名称が返されたり、ある銘柄コードに対しては対応の銘柄名称が送信されない場合もあり、単純に件数が一致すれば事足りるという問題ではない。
これらの不整合はデータベースサーバ52側の不備等によって生じるものであるが、このままの状態で参照元の銘柄コードに形式的に連結させると誤ったデータ列が形成されてしまうため、所定のルールに従い取得データの適否を判定し、必要な修正を施した上で第2のメモリファイル48に格納する仕組みを備えている(S26)。
Next, the
That is, each data transmitted from the
For example, even if 300 brand names are sent from the
These inconsistencies are caused by deficiencies on the
図5はこの整合化処理の一例を示すものであり、同図(a)に示すように、データベースサーバ52から参照元レコード番号1について結果−1のデータが返された場合、参照元データと参照結果データとの一対一の対応関係が認められるため、同図(b)に示すように、変換処理部34はこの結果−1をそのまま第2のメモリファイル48の新項目2として格納する。
これに対し、参照元レコード番号5については、結果−2と結果−3が重複して返されたため、所定のルールに従って何れか一つの結果データのみが採用される。ここでは、先頭の結果データを採用するというルールに従い、変換処理部34は結果−2を第2のメモリファイル48上に新項目2として格納する。
また、参照元レコード2〜4については結果データが返されず、該当データが欠落していることが明らかであるため、変換処理部34は参照元データ2〜4についてはデータ欠落を意味する「null」を第2のメモリファイル48に格納する。
FIG. 5 shows an example of this matching processing. As shown in FIG. 5A, when data of result-1 is returned for the reference
On the other hand, for reference
Further, since the result data is not returned for the
以上のようにして一つの項目について300件分の処理が完了すると、次のデータ項目について再び300件単位で変換処理が繰り返される(S28、S14〜S26)。
そして、第2のメモリファイル48上に必要なデータ項目に係るデータが300件分揃った時点で、変換データ登録部36はこれらを出力データ記憶部44に格納する(S30)。
続いて、対象データ取込部32によって次の対象レコードが入力データ記憶部38から300件分取り込まれ、必要な変換処理が繰り返される(S32、S12〜S30)。
When the processing for 300 items is completed for one item as described above, the conversion processing is repeated again in units of 300 for the next data item (S28, S14 to S26).
Then, at the time when 300 pieces of data related to the necessary data items are collected on the
Subsequently, the target
上記においては、あるデータ項目のデータに基づいて対応するデータをデータベースサーバ52から補充する例を説明したが、データ項目によってはそのまま第2のメモリファイル48の所定項目に当てはめることや(単純移送)、異なるデータ項目のデータ同士を結合させること(文字列結合)が変換ルールとして規定されており、データベースサーバ52に照会する必要がない場合もある。
このような場合、変換処理部34は多数の参照元データを一括SQL発行テーブル50に格納したりSQL文を編集することなく、またデータベースサーバ52に照会することもなく、必要な加工処理を施した後に対応データを第2のメモリファイル48上の必要な位置に格納すれば足りる(S34)。
例えば図4に示すように、入力データの項目1に該当する「銘柄コード」は、変換後もそのまま項目1として維持されるため、変換処理部34はこれらのデータを第1のメモリファイル46の項目1から第2のメモリファイル48の新項目1にそのままコピーする。
この場合でも、まとまった件数単位で一括処理できるため、1件のレコード単位で処理する場合に比べ高速化が図れる。
In the above, an example in which the corresponding data is replenished from the
In such a case, the
For example, as shown in FIG. 4, since the “brand code” corresponding to the
Even in this case, since batch processing can be performed in a unit of the number of cases, the processing speed can be increased as compared with the case of processing in units of one record.
ここで、上記した一括SQL発行処理方式の具体例について説明する。
図6は、変換ルールの編集例を示すものであり、極めて簡素な要求SQL文に基づき、比較的複雑な一括SQL文が生成される様子が描かれている。
図7のフローチャートに示すように、まず変換処理部34は、要求SQL文にORDER及びUNIONが存在するか否かを検査する(S40)。ORDER及びUNIONの有無によって、後述の通り一括SQL文の編集内容が異なるため、予め存在チェックを行っておくものである。
Here, a specific example of the batch SQL issue processing method described above will be described.
FIG. 6 shows an example of editing a conversion rule, and shows a state in which a relatively complicated batch SQL statement is generated based on an extremely simple request SQL statement.
As shown in the flowchart of FIG. 7, first, the
つぎに変換処理部34は、要求SQL文から所定のキーワードを検索し(S42)、各キーワードに合わせて一括SQL文を編集すると共に、一括SQL発行テーブルのホスト配列編集を実行する(S46)。
以下に、各キーワードに係る編集内容を説明する。
Next, the
Below, the edit content concerning each keyword is demonstrated.
まず、キーワードが「SELECT」の場合、直後に「W_PACK_SQL. SQL_RECORD_NO,」を編集する(図6の(1))。ここで「W_PACK_SQL」は一括SQL発行テーブルのことであり、一括SQL発行時の取得カラムに第1のメモリファイル46のレコード番号を追加する内容となる。ただし、WHERE条件内でのSELECT文(サブクエリ)の場合、上記の編集は行われない。
また、キーワードが「FROM」の場合、直後に「W_PACK_SQL,」を編集することにより、一括SQL発行テーブルとのJOIN型SQL文となされる(図6(2))。ただし、WHERE条件内でのSELECT文(サブクエリ)の場合、上記の編集は行われない。
キーワードが「WHERE」の場合、直後に「W_PACK_SQL. CUST_NO=:V1 AND W_PACK_SQL. WORK_ID=:V2 AND W_PACK_SQL.JOBLIST_ID=:V3 AND W_PACK_SQL.RULE_NO=:V4 AND(」を編集する(図6の(3))。ここで、V1〜V4は一括SQL発行テーブルの抽出条件キーを指定するものである。ただし、WHERE条件内でのSELECT文(サブクエリ)の場合、上記の編集は行われない。
キーワードが「;[n];」の場合、nに対応した項目値を第1のメモリファイル46から取得して一括SQL発行テーブルのホスト配列エリアに編集する。この際、「;[n];」(項目番号)を対応する一括SQL発行テーブルのカラム名に置き換えて一括SQL文に編集する(図6の(4))。
First, when the keyword is “SELECT”, “W_PACK_SQL.SQL_RECORD_NO,” is edited immediately ((1) in FIG. 6). Here, “W_PACK_SQL” is a batch SQL issue table, and is the content of adding the record number of the
Also, when the keyword is “FROM”, “W_PACK_SQL,” is edited immediately after that to make a JOIN type SQL statement with the batch SQL issue table (FIG. 6 (2)). However, in the case of a SELECT statement (subquery) within the WHERE condition, the above editing is not performed.
If the keyword is “WHERE”, immediately edit “W_PACK_SQL. CUST_NO =: V1 AND W_PACK_SQL.WORK_ID =: V2 AND W_PACK_SQL.JOBLIST_ID =: V3 AND W_PACK_SQL.RULE_NO =: V4 AND (” ((3 Here, V1 to V4 specify the extraction condition key of the batch SQL issue table, but the above editing is not performed in the case of a SELECT statement (subquery) within the WHERE condition.
When the keyword is “; [n];”, the item value corresponding to n is acquired from the
つぎに、予め検査しておいた「ORDER」、「UNION」の存在有無の組合せに応じて編集後SQL文の末尾に下記の編集を行う。
(1)要求SQL文に「ORDER」及び「UNION」の何れも存在しない場合
編集後SQL文の末尾に「)ORDR BY W_PACK_SQL. SQL_RECORD_NO」を編集する(図6(5))。
(2)要求SQL文に「ORDER」がなく「UNION」のみが存在する場合
処理無し(UNIONが存在する場合には取得カラムの順序が保証されるためORDER編集は不要となる)。
(3)要求SQL文に「ORDER」のみが存在し「UNION」がない場合
編集後SQL文の末尾に「)ORDR BY W_PACK_SQL. RECORD_NO, TBL-A. ITEM-1,…」を編集する。「TBL-A. ITEM-1,…」は、指定されたORDER条件をそのまま展開することを意味している(ASC, DESC展開もそのまま展開)。
(4)要求SQL文に「ORDER」及び「UNION」の両者が存在する場合
編集後SQL文の末尾に「)ORDR BY W_PACK_SQL. RECORD_NO, ITEM-1,…」を編集する。「ITEM-1,…」は、指定されたORDER条件をそのまま展開することを意味している(ASC, DESC展開もそのまま展開)。
Next, the following editing is performed at the end of the edited SQL sentence according to the combination of the presence / absence of “ORDER” and “UNION” checked in advance.
(1) When neither “ORDER” nor “UNION” exists in the request SQL statement Edit “) ORDR BY W_PACK_SQL.SQL_RECORD_NO” at the end of the edited SQL statement (FIG. 6 (5)).
(2) When there is no "ORDER" in the request SQL statement and only "UNION" exists No processing (If there is a UNION, the order of the acquisition columns is guaranteed, so ORDER editing is not necessary).
(3) When only "ORDER" exists in the request SQL statement and "UNION" does not exist Edit ") ORDR BY W_PACK_SQL. RECORD_NO, TBL-A. ITEM-1, ..." at the end of the edited SQL statement. "TBL-A. ITEM-1, ..." means that the specified ORDER condition is expanded as it is (ASC, DESC expansion is also expanded as it is).
(4) When both "ORDER" and "UNION" exist in the request SQL statement Edit ") ORDR BY W_PACK_SQL. RECORD_NO, ITEM-1, ..." at the end of the edited SQL statement. “ITEM-1,...” Means that the specified ORDER condition is expanded as it is (ASC and DESC expansion are also expanded as they are).
全てのキーワードに関して上記の編集処理が完了すると(S44)、一括SQL発行テーブルのホスト配列が、一括SQL発行テーブルに一括挿入される(S48)。
図8は、項目2の変数値が第1のメモリファイル46から一括SQL発行テーブルのホスト配列エリアにおけるITEM01にセットされ、それが一括SQL発行テーブル50に一括挿入されるイメージが描かれている。
この際、項目番号と一括SQL発行テーブル50のカラム名との対比表58がメモリ上に作成される。
When the above editing process is completed for all keywords (S44), the host array of the batch SQL issue table is batch inserted into the batch SQL issue table (S48).
FIG. 8 shows an image in which the variable value of
At this time, a comparison table 58 between the item numbers and the column names of the batch SQL issue table 50 is created on the memory.
最後に、一括SQL文が一括FETCHによってデータベースサーバ52に発行され、その結果が第2のメモリファイル48に格納される(S50)。
図9は、この一括SQL文の発行から結果取得までの処理手順を示すフローチャートである。
S64の「OPEN CURSOR文」発行時に、一括SQL発行テーブルの抽出キーが指定される。
以下に、OPEN CURSOR文の具体例を示す。
「EXEC SQL
OPEN CUR01 USING :CUST-NO, :WORK-ID, :JOBLIST-ID, :RULE-NO
END-EXEC」
これは、一括SQL発行テーブルの抽出条件キーをセットして実行することを意味している(V1〜V4の実値を指定)。
Finally, a batch SQL statement is issued to the
FIG. 9 is a flowchart showing a processing procedure from issuance of the batch SQL statement to acquisition of the result.
When issuing the "OPEN CURSOR statement" in S64, the extraction key for the batch SQL issue table is specified.
A specific example of an OPEN CURSOR statement is shown below.
"EXEC SQL
OPEN CUR01 USING: CUST-NO,: WORK-ID,: JOBLIST-ID,: RULE-NO
END-EXEC "
This means that the extraction condition key of the batch SQL issue table is set and executed (the actual value of V1 to V4 is specified).
このデータ変換システム30にあっては、入力データについて1件単位で変換処理を行うのではなく、ある程度まとまった件数単位でデータベースサーバ52への照会が実行されるため、問合わせの回数を大幅に低減することができ、その分変換処理の高速化を実現することができる。
例えば、図11に示したデータ変換例の場合、従来の逐次変換方式によれば300件のレコードを変換するに際しデータベースサーバに対し合計1,500回(300件×5回)の照会が必要となるが、この発明による一括変換方式であれば僅か5回で済む計算となる。
この一括変換処理の対象となるレコードの件数は、コンピュータに搭載されたメモリ容量と対象となる入力データのデータ量との兼ね合いで決定され、予め基本設定記憶部40内に設定される。
In this
For example, in the case of the data conversion example shown in FIG. 11, according to the conventional sequential conversion method, a total of 1,500 times (300 times × 5 times) is required for the database server when converting 300 records. In the case of the batch conversion method according to the present invention, the calculation is only required 5 times.
The number of records to be subjected to the batch conversion process is determined in consideration of the memory capacity installed in the computer and the data amount of the target input data, and is set in the basic
このデータ変換システム30の場合、上記のように一度に変換処理すべきレコードの件数、及び各データ項目に係る変換ルールが外部データの形でシステムに与えられるため、これらの記述を変更することによって簡単に処理対象や動作を変更することが可能となる。
しかも、データベースに問合せを行う際には複数のデータを一括して取得するためのSQL文が自動生成されるため、現場のオペレータは従来の逐次処理の場合と同様の手軽さで変換ルール(要求SQL文)を定義することが可能となる。
さらに、データベースサーバ52から送信された複数件数分のデータについて自動的に整合化する機能を備えているため、誤ったデータ列が形成されることを未然に防止できる。
In the case of this
In addition, when querying the database, SQL statements for acquiring multiple data at once are automatically generated, so operators in the field can use conversion rules (requests as easily as in conventional sequential processing). SQL statement) can be defined.
Furthermore, since a function for automatically aligning a plurality of pieces of data transmitted from the
上記においては、このデータ変換システム30を約定管理システム10の受信データ変換システム12に適用した例を説明したが、送信データ変換システム16に適用することも可能である。
この場合、変換対象となる入力データはデータ照合システム14から出力された照合済の標準データであり、変換後の出力データは銀行内勘定系システム24が要求する独自フォーマットのデータとなる。
これを実現するためには、変換ルール記憶部42に標準データを変換するためのルールを出力データのデータ項目単位で登録しておけばよい。
また、このデータ変換システム30は、変換ルール記憶部42の変換ルール及び基本設定記憶部40の設定値を書き換えることにより、約定管理システム10以外のシステムにおいても適用可能である。
In the above, the example in which the
In this case, the input data to be converted is the collated standard data output from the
In order to realize this, a rule for converting standard data may be registered in the conversion
The
上記においては、対象データ取込部32が、変換対象となる入力データをシステム30のローカルディスク内に設けられた入力データ記憶部38から取り込む例を説明したが、この発明はこれに限定されるものではない。
例えば、対象データ取込部32は、リモートマシンの所定のディレクトリに生成されたファイルをFTPにより監視・検知する機能を用い、他のコンピュータのディスクから所定件数分のレコードを抽出し、第1のメモリファイル46に格納することも可能である。
あるいは、対象データ取込部32は、MQ(メッセージキューイングシステム)で伝送されたキュー内メッセージを監視・検知する機能を用い、このキュー領域から所定件数分のレコードを抽出し、第1のメモリファイル46に格納することも可能である。
In the above, the example in which the target
For example, the target
Alternatively, the target
10 約定管理システム
12 受信データ変換システム
14 データ照合システム
16 送信データ変換システム
18 銀行内ネットワーク
19 SWIFTネット
20 各種データ交換サービスネット
22 取引サーバ
23 銀行内ネットワーク
24 銀行内勘定系システム
30 データ変換システム
32 対象データ取込部
34 変換処理部
36 変換データ登録部
38 入力データ記憶部
40 基本設定記憶部
42 変換ルール記憶部
44 出力データ記憶部
46 第1のメモリファイル
48 第2のメモリファイル
50 一括SQL発行テーブル
52 データベースサーバ
58 項目番号と一括SQL発行テーブルのカラム名との対比表
10 Contract management system
12 Received data conversion system
14 Data verification system
16 Transmission data conversion system
18 Bank network
19 SWIFT Net
20 Various data exchange service nets
22 Trading server
23 Bank network
24 Bank account system
30 Data conversion system
32 Target data import section
34 Conversion processor
36 Conversion data register
38 Input data storage
40 Basic setting memory
42 Conversion rule storage
44 Output data storage
46 First memory file
48 Second memory file
50 Bulk SQL issue table
52 Database server
58 Comparison table between item number and column name of batch SQL issue table
Claims (2)
入力データに対する変換ルールを出力データのデータ項目単位で格納しておく変換ルール記憶手段と、
この変換ルールに従い、第1のメモリファイルに格納された該当データ項目の各データに対し必要な処理を同時に実行し、第2のメモリファイルの該当箇所に一括して格納する手段と、
上記変換ルールにおいて特定のデータ項目のデータに基づいてデータベースから関連データを取得することが規定されている場合に、当該変換ルールを編集し、一括SQL発行テーブルに格納された各参照元データに対応した結果データの一括送信を要求するSQL文を自動生成する手段と、
第1のメモリファイルに格納された該当データ項目に係る全データを抽出し、参照元データとして一括SQL発行テーブルに書き出す手段と、
上記の編集後SQL文を該当のデータベースに送信し、対応する結果データの送信を要求する手段と、
データベースから送信された各結果データと各参照元データとを比較し、参照元データと結果データとが一対一で対応する場合には当該結果データを第2のメモリファイルの該当箇所に格納し、参照元データに対する結果データが複数存在する場合には所定のルールに従って選択された一の結果データのみを第2のメモリファイルの該当箇所に格納し、参照元データに対する結果データが存在しない場合にはデータの欠落を示すコードを第2のメモリファイルの該当箇所に記述する手段と、
第2のメモリファイルに必要なデータが揃った時点で、各データを出力データ記憶手段に移動させる手段とを備えたことを特徴とするデータ変換システム。 Means for extracting records for a preset number of cases from a storage means for storing a plurality of input data, and storing the records in a first memory file;
Conversion rule storage means for storing conversion rules for input data in units of data items of output data;
In accordance with this conversion rule, means for simultaneously executing necessary processing for each data item of the corresponding data item stored in the first memory file, and collectively storing in the corresponding portion of the second memory file;
When the above conversion rule stipulates that related data is acquired from the database based on the data of a specific data item, the conversion rule is edited and each reference source data stored in the batch SQL issue table is supported A means for automatically generating SQL statements that request batch transmission of the result data
Means for extracting all data relating to the corresponding data item stored in the first memory file and writing it as a reference source data in a batch SQL issue table;
Means for sending the edited SQL statement to the corresponding database and requesting transmission of the corresponding result data;
Each result data transmitted from the database is compared with each reference source data, and when the reference source data and the result data correspond one-to-one, the result data is stored in a corresponding portion of the second memory file, When there are a plurality of result data for the reference source data, only one result data selected according to a predetermined rule is stored in the corresponding location of the second memory file, and when there is no result data for the reference source data Means for describing a code indicating data loss in a corresponding portion of the second memory file;
A data conversion system comprising: means for moving each data to an output data storage means when necessary data is prepared in the second memory file.
複数の入力データが格納された記憶手段から予め設定された件数分のレコードを抽出し、第1のメモリファイルに格納する手段、
入力データに対する変換ルールを出力データのデータ項目単位で格納しておく変換ルール記憶手段、
この変換ルールに従い、第1のメモリファイルに格納された該当データ項目の各データに対し必要な処理を同時に実行し、第2のメモリファイルの該当箇所に一括して格納する手段、
上記変換ルールにおいて特定のデータ項目のデータに基づいてデータベースから関連データを取得することが規定されている場合に、当該変換ルールを編集し、一括SQL発行テーブルに格納された各参照元データに対応した結果データの一括送信を要求するSQL文を自動生成する手段、
第1のメモリファイルに格納された該当データ項目に係る全データを抽出し、参照元データとして一括SQL発行テーブルに書き出す手段、
上記の編集後SQL文を該当のデータベースに送信し、対応する結果データの送信を要求する手段、
データベースから送信された各結果データと各参照元データとを比較し、参照元データと結果データとが一対一で対応する場合には当該結果データを第2のメモリファイルの該当箇所に格納し、参照元データに対する結果データが複数存在する場合には所定のルールに従って選択された一の結果データのみを第2のメモリファイルの該当箇所に格納し、参照元データに対する結果データが存在しない場合にはデータの欠落を示すコードを第2のメモリファイルの該当箇所に記述する手段、
第2のメモリファイルに必要なデータが揃った時点で、各データを出力データ記憶手段に移動させる手段として機能させることを特徴とするデータ変換プログラム。
Computer
Means for extracting records for a preset number of cases from storage means for storing a plurality of input data, and storing the records in a first memory file;
Conversion rule storage means for storing conversion rules for input data in units of data items of output data;
In accordance with this conversion rule, means for simultaneously executing necessary processing for each data of the corresponding data item stored in the first memory file and storing the data in a corresponding portion of the second memory file in a batch,
When the above conversion rule stipulates that related data is acquired from the database based on the data of a specific data item, the conversion rule is edited and each reference source data stored in the batch SQL issue table is supported To automatically generate SQL statements that request batch transmission of the result data
Means for extracting all data related to the corresponding data item stored in the first memory file and writing it as a reference source data in a batch SQL issue table;
Means for sending the above edited SQL statement to the corresponding database and requesting transmission of the corresponding result data;
Each result data transmitted from the database is compared with each reference source data, and when the reference source data and the result data correspond one-to-one, the result data is stored in a corresponding portion of the second memory file, When there are a plurality of result data for the reference source data, only one result data selected according to a predetermined rule is stored in the corresponding location of the second memory file, and when there is no result data for the reference source data Means for describing a code indicating data loss in a corresponding portion of the second memory file;
A data conversion program which functions as means for moving each data to output data storage means when necessary data is prepared in the second memory file.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005099719A JP4603401B2 (en) | 2005-03-30 | 2005-03-30 | Data conversion system and data conversion program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005099719A JP4603401B2 (en) | 2005-03-30 | 2005-03-30 | Data conversion system and data conversion program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006277642A true JP2006277642A (en) | 2006-10-12 |
JP4603401B2 JP4603401B2 (en) | 2010-12-22 |
Family
ID=37212297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005099719A Expired - Fee Related JP4603401B2 (en) | 2005-03-30 | 2005-03-30 | Data conversion system and data conversion program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4603401B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011053891A (en) * | 2009-09-01 | 2011-03-17 | Toshiba Corp | Method and program for storing communication data in relational database |
CN104778200A (en) * | 2015-01-13 | 2015-07-15 | 东莞中山大学研究院 | Heterogeneous processing big data retrieval method combining historical data |
WO2023021863A1 (en) * | 2021-08-19 | 2023-02-23 | 株式会社Yuimedi | Conversion system, conversion program, and conversion method |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750608A (en) * | 2012-05-22 | 2012-10-24 | 山西优府信息技术开发有限公司 | Batch registering system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08272660A (en) * | 1995-03-29 | 1996-10-18 | Nec Corp | Data base inquiry statement generator |
JP2000076288A (en) * | 1998-09-01 | 2000-03-14 | Oki Electric Ind Co Ltd | Database management system |
JP2000285188A (en) * | 1999-03-31 | 2000-10-13 | Nkk Corp | Automatic collating device and storage medium recording program therefor |
JP2005011049A (en) * | 2003-06-19 | 2005-01-13 | Nec Soft Ltd | Database integration device |
-
2005
- 2005-03-30 JP JP2005099719A patent/JP4603401B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08272660A (en) * | 1995-03-29 | 1996-10-18 | Nec Corp | Data base inquiry statement generator |
JP2000076288A (en) * | 1998-09-01 | 2000-03-14 | Oki Electric Ind Co Ltd | Database management system |
JP2000285188A (en) * | 1999-03-31 | 2000-10-13 | Nkk Corp | Automatic collating device and storage medium recording program therefor |
JP2005011049A (en) * | 2003-06-19 | 2005-01-13 | Nec Soft Ltd | Database integration device |
Non-Patent Citations (1)
Title |
---|
CSNG200900400061, 川田 純, "リレーショナルデータベース上のXMLビューに対する外部関数を考慮した問合せ処理", 第13回データ工学ワークショップ(DEWS2002)論文集 [online], 20020515, JP, 電子情報通信学会データ工学研究専門委員会 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011053891A (en) * | 2009-09-01 | 2011-03-17 | Toshiba Corp | Method and program for storing communication data in relational database |
CN104778200A (en) * | 2015-01-13 | 2015-07-15 | 东莞中山大学研究院 | Heterogeneous processing big data retrieval method combining historical data |
WO2023021863A1 (en) * | 2021-08-19 | 2023-02-23 | 株式会社Yuimedi | Conversion system, conversion program, and conversion method |
JP7498536B2 (en) | 2021-08-19 | 2024-06-12 | 株式会社Yuimedi | CONVERSION SYSTEM, CONVERSION PROGRAM, AND CONVERSION METHOD |
Also Published As
Publication number | Publication date |
---|---|
JP4603401B2 (en) | 2010-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112199366B (en) | Data table processing method, device and equipment | |
US11593369B2 (en) | Managing data queries | |
CN100380376C (en) | Method and system for delivering dynamic information in a network | |
CN100501731C (en) | System and method for delayed fetching of designated members of a user defined type | |
CN111400408A (en) | Data synchronization method, device, equipment and storage medium | |
CN102402596B (en) | A kind of reading/writing method of master slave separation database and system | |
US20120284255A1 (en) | Managing data queries | |
US8661022B2 (en) | Database management method and system | |
US20090198703A1 (en) | Intelligent data storage system | |
CN102122289A (en) | Dispatching conflicting data changes | |
CN105550206B (en) | The edition control method and device of structured query sentence | |
CN102270155A (en) | Application program example and inquiry storage | |
CN103810272A (en) | Data processing method and system | |
JP4603401B2 (en) | Data conversion system and data conversion program | |
CN101211361B (en) | Information processing apparatus, information processing system and information processing method | |
CN116016628A (en) | API gateway buried point analysis method and device | |
CN100527131C (en) | Interdynamic access method and tool of IMS data base | |
JP5096775B2 (en) | Data processing system | |
US20080082516A1 (en) | System for and method of searching distributed data base, and information management device | |
CN116501761A (en) | Query optimization method, device and storage medium | |
JP5064791B2 (en) | Form data search device, form data search method and program | |
CN110928923A (en) | Data storage method and system based on block chain | |
US11442758B2 (en) | Integration flow execution renew | |
CN100507906C (en) | Redundancy-free provision of multi-purpose data | |
US20240112278A1 (en) | Enhanced intake of bank bai files |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070920 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100518 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100716 |
|
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: 20100928 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101001 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131008 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |