(57)【要約】【課題】  受信電文を処理して配信電文として配信する配信サーバに関し、受信電文のデータ項目に対する編集への対応を簡易に行えるようにする。【解決手段】  配信サーバＳは、受信電文のデータ項目を示す受信フィールドＩＤ、当該受信電文のデータ項目に対応した処理内容を示す編集処理ＩＤ、当該処理後のデータの格納先となる直近値テーブル３を示す格納直近値テーブル名、当該直近値テーブル３における格納先のカラムを示す格納カラム名を含むマッピングテーブル２と、前記処理後のデータを受信電文のデータ項目毎に保持する１つ以上の直近値テーブル３と、受信電文に含まれるデータ項目毎に、当該データ項目のデータに対して前記マッピングテーブル２に従って処理を行い、当該処理後のデータを前記マッピングテーブル２に従って直近値テーブル３中のカラムに格納する加工編集処理部５と、を備える。【選択図】  図２
2009123049.tif 000002
【特許請求の範囲】
【請求項１】
受信した電文を処理して配信電文として配信する配信サーバであって、
受信電文のデータ項目を示す情報、当該受信電文のデータ項目に対応した処理内容を示す情報、当該処理後のデータの格納先となる格納先テーブルを示す情報、当該格納先テーブルにおける格納先のカラムを示す情報を含むマッピングテーブルと、
前記処理後のデータを受信電文のデータ項目毎に保持する１つ以上の格納先テーブルと、
受信電文に含まれるデータ項目毎に、当該データ項目のデータに対して前記マッピングテーブルに示された処理内容に従って処理を行い、当該処理後のデータを前記マッピングテーブルに示された格納先テーブル中のカラムに格納する処理手段と、
を備えたことを特徴とする配信サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信した電文の情報を処理して配信電文として配信する配信サーバに関し、特に、受信電文のデータ項目に対する編集への対応作業を簡易に行えるようにする技術に関する。
【背景技術】
【０００２】
複数の情報ベンダ（情報提供元）から提供される電文（例えば、為替や金利・債権などの金融情報）を受信した配信サーバが、当該受信電文に処理を施して所定の格納先に蓄積すると共に、処理結果のデータを配信電文としてリアルタイムに下位の情報処理装置に配信し、また、蓄積済み（リアルタイム情報以外）の各情報については、下位の情報処理装置からの要求に応答して送信する情報配信システムがある。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ここで、受信電文は一般に、データ項目を示す情報（例えば受信フィールドＩＤ）及び当該データ項目のデータ（値）の組を１つ以上含むデータ形式となっている。
そして、従来、配信サーバに上記機能を実現させるための配信プログラム中に、受信電文のデータ項目と当該データ項目のデータの格納先となるテーブル及びカラムとの対応関係を記述することで、これらを直接的にマッピングすることが行われていた。
【０００４】
このため、例えば受信電文にデータ項目を新たに追加する場合には、その格納先となるテーブルに新たにカラムを追加すると共に、配信プログラム中にその対応関係の記述を追加する修正を行い、当該プログラムをコンパイルして得た実行モジュールを配信サーバに再配置（再セットアップ）等する必要が生じていた。そして、受信電文のデータ項目が編集される都度このような作業を行うことは煩わしいことから、配信電文のデータ項目に対する編集への対応作業を簡易に行えるようにすることが望まれていた。
【０００５】
本発明は、上記従来の事情に鑑みなされたものであり、受信電文のデータ項目に対する編集への対応を簡易に行えるようにする技術を提案することを目的としている。
【課題を解決するための手段】
【０００６】
本発明の配信サーバは、受信した電文を処理して配信電文として配信する配信サーバであって、受信電文のデータ項目を示す情報、当該受信電文のデータ項目に対応した処理内容を示す情報、当該処理後のデータの格納先となる格納先テーブルを示す情報、当該格納先テーブルにおける格納先のカラムを示す情報を含むマッピングテーブルと、前記処理後のデータを受信電文のデータ項目毎に保持する１つ以上の格納先テーブルと、受信電文に含まれるデータ項目毎に、当該データ項目のデータに対して前記マッピングテーブルに示された処理内容に従って処理を行い、当該処理後のデータを前記マッピングテーブルに示された格納先テーブル中のカラムに格納する処理手段と、を備えたことを特徴としている。
【０００７】
つまり、受信電文のデータ項目と当該データ項目のデータに対する処理内容やその処理結果の格納先のテーブル及びカラムとの対応関係をマッピングテーブルにて管理するため、受信電文のデータ項目が編集された場合の作業としては、その編集内容に対応してマッピングテーブル（対応関係）を更新すれば足りる。したがって、受信電文のデータ項目に対する編集への対応作業が従来に比べて簡易なものとなる。
【０００８】
なお、マッピングテーブルに保持される各情報は、その対象を識別することが可能な情報であればよく、例えば、受信電文のデータ項目を示す情報としては、データ項目を識別するデータ項目ＩＤやデータ項目名などが該当する。
【０００９】
ここで、受信電文に、当該受信電文が対象とする品目を示す情報（例えば、証券に係る受信電文の場合は、対象とする「銘柄」を示す「銘柄ＩＤ」）を含め、前記格納先テーブルは、各受信電文が対象とする品目単位で受信電文のデータ項目毎のデータを保持するようにしてもよい。
【００１０】
また、前記マッピングテーブルは、受信電文のデータ項目に対応する配信電文のデータ項目を示す情報を含み、前記配信サーバは、配信対象の電文を保持する配信バッファエリアを備え、前記処理手段は、受信電文に含まれるデータ項目毎の処理後のデータを、前記配信バッファエリアにおける前記マッピングテーブルに示された配信電文のデータ項目に対応する領域に格納すると共に、前記処理後のデータと前記マッピングテーブルに示された格納先テーブル中のカラムに既に格納されているデータとを比較し、一致しない場合に、前記処理後のデータを当該格納先に格納し、前記配信サーバは、受信電文中の全てのデータ項目に対する処理の終了後に、前記配信バッファエリアに保持されている電文を配信電文として配信する配信手段を備えるようにしてもよい。
或いは、前記処理手段は、前記処理後のデータと前記マッピングテーブルに示された格納先テーブル中のカラムに既に格納されているデータとを比較し、一致しない場合に、前記処理後のデータを当該格納先に格納すると共に前記配信バッファエリアにおける前記マッピングテーブルに示された配信電文のデータ項目に対応する領域に格納するようにしてもよく、若しくは、比較結果に関わらず、前記処理後のデータを前記格納先テーブル及び前記配信バッファエリアに格納するようにしてもよい。
ここで、前記配信手段は、前記処理後のデータと前記マッピングテーブルに示された格納先テーブル中のカラムに既に格納されているデータとを比較し、１つ以上の不一致があった場合に配信を行ってもよく、若しくは、比較結果に関わらずに配信を行ってもよい。
【００１１】
また、前記配信サーバは、外部から格納先テーブル及び品目を指定する問合せ要求を受信する要求受信手段と、前記要求受信手段により受信された問合せ要求で指定された格納先テーブル中の該当する品目のデータを応答データとして送信する要求応答手段と、を備えるようにしてもよい。
【００１２】
また、前記格納先テーブルに、受信電文に新たに追加され得るデータ項目に対応する予備のカラムを予め設けるようにしてもよい。これにより、受信電文に対する新たなデータ項目の追加の際には、前記予備のカラムと前記新たなデータ項目に関する情報との対応関係を前記マッピングテーブルに設定すれば足りるため、従来のような格納先テーブルへのカラム追加や配信プログラムの編集などの作業を行う必要が無くなる。
なお、前記予備のカラムと前記新たなデータ項目に関する情報との対応関係を設定する領域は、前記マッピングテーブルに予め設けておいてもよく、事後的に拡張（データを追加）して設けてもよい。
【発明の効果】
【００１３】
本発明の配信サーバによると、受信電文のデータ項目と当該データ項目のデータに対する処理内容やその処理結果の格納先のテーブル及びカラムとの対応関係をマッピングテーブルにて管理するため、受信電文のデータ項目が編集された場合の作業としては、その編集内容に対応してマッピングテーブル（対応関係）を更新すれば足りる。したがって、受信電文のデータ項目に対する編集への対応作業が従来に比べて簡易なものとなる。
【発明を実施するための最良の形態】
【００１４】
本発明を、一実施形態に基づいて具体的に説明する。
図１は、本発明の一実施形態に係る情報配信システムのシステム構成図である。
本例の情報配信システムでは、複数の情報配信元Ｐ（Ｐ１〜Ｐｎ）から各フロントサーバＦ（Ｆ１〜Ｆｎ）を介して送信される為替や金利・債権などの各種金融情報が、金融情報配信サーバＳにより、文字コード変換や桁数調整のようなフォーマット編集などの加工編集処理が施されて表示用データに整形され、ネットワークＮを介して接続された複数の端末Ｒ（Ｒ１〜Ｒｍ）へリアルタイムに配信され、又は、各端末Ｒからの要求に応じて、最新データや過去データ、日足・週足・月足のようなチャートのデータが要求元の端末Ｒに返信されて、各端末Ｒにより出力（ディスプレイ画面への表示出力や紙媒体等への印刷出力）される。また、金融情報配信サーバＳでは、日付切替時に内部又は外部に設けた大容量ＤＢ（データベース）に過去データを蓄積する処理なども行っている。
なお、上記の各端末Ｒは、専用端末又は汎用ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）上で端末プログラムを動作させることにより構成されている。
【００１５】
金融情報配信サーバＳは、各情報配信元Ｐ（上位システム）から送信される各種金融情報（電文）を受信する受信処理部４、受信した電文を各端末Ｒに表示可能な形式に加工・編集する加工編集処理部５、編集処理後のデータを配信電文として各端末Ｒ（下位システム）に配信する配信処理部７、端末Ｒからの最新データの要求等に応答して該当データを返信する問合せ・応答処理部８といった各処理部と、編集処理後のデータが一時的に（少なくとも端末Ｒに配信されるまで）格納される配信バッファエリア６、各種情報が永続的に格納されるメモリ型又はディスク型のＤＢ１といった各記憶部とを備えている。
なお、ＤＢ１には、後述するマッピングテーブル２及び直近値テーブル（格納先テーブル）３が定義されている。
【００１６】
情報配信元Ｐから受信する電文には、当該受信電文が対象とする品目を示す情報が含まれると共に、受信電文のデータ項目を示す情報及び当該データ項目のデータを組にしたデータセットが１つ以上含まれる。例えば、株式に関する受信電文には、図２に示すように、当該受信電文が対象とする品目（株式の銘柄）を示す銘柄ＩＤ、受信電文のデータ項目を示す受信フィールドＩＤ（例えば「始値」を示す“１”）及び当該データ項目のデータ（「始値」のバイナリ値）のデータセット、などが含まれている。
【００１７】
直近値テーブル３は、受信電文の編集処理後のデータの格納先となるテーブルであり、情報配信元Ｐから電文を受信する都度、当該受信電文の内容に応じて格納データが更新される。本例では、株式データの直近値が格納される株式テーブルや、為替データの直近値が格納される為替テーブルなど、格納対象のデータの種別に応じて複数設けられている。
【００１８】
マッピングテーブル２には、受信電文のデータ項目を示す受信フィールドＩＤ、当該データ項目のデータに対する処理内容を示す編集処理ＩＤ、当該処理後のデータの格納先となる直近値テーブル３を示す格納直近値テーブル名、当該処理後のデータの格納先となる直近値テーブル３中のカラムを示す格納カラム名、受信電文のデータ項目に対応する配信電文のデータ項目を示す配信フィールドＩＤ、を含むマッピングデータが格納される。
図２のマッピングテーブル２には、例えば、受信電文中の受信フィールドＩＤ“１”のデータ（「始値」のバイナリ値）に対して、バイナリ値から文字列に変換する処理を行うこと、その処理後のデータ（文字列）の格納先の直近値テーブル名は“株式テーブル”、カラム名は“始値”であること、送信電文においては送信フィールドＩＤ“１００１”のデータとすること、等を示すマッピングデータが格納されている。
【００１９】
本例の金融情報配信サーバＳによる受信電文の編集処理を、図２を参照しつつ、図５の処理フローに従って説明する。
なお、以下の説明においては、株式の銘柄ＩＤ“ＭＭＭ”、受信フィールドＩＤ“１”（始値）及びそのデータ“ｘｘｘ”（文字列“３５０”のバイナリ値）のデータセット等が受信電文に含まれている場合を例に説明する。
【００２０】
金融情報配信サーバＳは、受信処理部４により情報配信元Ｐから電文を受信すると（ステップＳ１１）、加工編集処理部５により、当該受信電文に含まれるデータ項目毎（受信フィールドＩＤ毎）に以下の処理（ステップＳ１２〜Ｓ１４）を行う。
【００２１】
加工編集処理部５は、受信電文中のデータ項目（データセット）の１つを処理対象として、当該データセット中のデータに対して編集処理を実行する（ステップＳ１２）。具体的には、当該データセット中の受信フィールドＩＤ“１”をキーにマッピングテーブル２を参照して対応するマッピングデータを特定し、当該マッピングデータに設定されている編集処理ＩＤに従って、「始値」のバイナリ値“ｘｘｘ”に対して処理（バイナリ値から文字列に変換）を実行し、「始値」の値である文字列“３５０”を処理後データとして得る。
【００２２】
次に、加工編集処理部５は、前記取得した処理後データにより直近値テーブル３を更新する（ステップＳ１３）。具体的には、前記特定したマッピングデータに設定されている格納直近値テーブル名“株式テーブル”及び格納カラム名“始値”と受信電文中の銘柄ＩＤ“ＭＭＭ”とにより特定される格納先、すなわち、株式の直近値テーブル３である「株式テーブル」における銘柄ＩＤ“ＭＭＭ”のレコード（図２の株式テーブルの斜線部分）の「始値」カラムに、処理後データである文字列“３５０”が格納される。なお、本例では、格納先に既に存在していた（格納されていた）データと、格納対象の処理後データとを比較し、一致しない場合にのみ、その格納先に処理後データを格納している。
【００２３】
また、加工編集処理部５は、処理後データにより直近値テーブル３を更新する際、配信バッファエリア６の更新も併せて行う（ステップＳ１４）。具体的には、配信バッファエリア６に、受信電文中の銘柄ＩＤ“ＭＭＭ”、前記特定したマッピングデータに設定されている送信フィールドＩＤ“１００１”、処理後データ“３５０”が格納される。
【００２４】
その後、加工編集処理部５は、受信電文中に未処理のデータ項目が存在するか否かを判定する（ステップＳ１５）。
ステップＳ１５の判定を行った結果、未処理のデータ項目が存在する場合には、そのデータ項目について上記のステップＳ１２〜Ｓ１４の処理を行う。
【００２５】
ステップＳ１５の判定を行った結果、未処理のデータ項目が存在しない場合、すなわち受信電文中の全てのデータ項目に対する処理が終了した場合には、配信処理部７が、配信バッファエリア６に形成されたデータを配信電文として各端末Ｒに配信する（ステップＳ１６）。例えば、受信データ中に「始値」、「高値」、「安値」等の複数のデータ項目が含まれている場合において、「始値」の処理後データのみがその格納先に既に存在していたデータと不一致であった場合には、配信バッファエリア６に、“ＭＭＭ”（銘柄ＩＤ）、“１００１”（送信フィールドＩＤ）、“３５０”（始値）のみが格納され、配信電文として送出される。
【００２６】
ここで、上記例では、格納先に存在していたデータと処理後データとの不一致を条件に、当該格納先及び配信バッファエリア６へ処理後データを格納しているが、例えば、前記格納先への処理後データの格納はデータ不一致を条件に行う一方、配信バッファエリア６への処理後データの格納は無条件に行ってもよく、或いは、一致・不一致に関わらずに、格納先及び配信バッファエリア６への処理後データの格納を行ってもよい。
また、配信バッファエリア６に形成されたデータの配信電文としての配信は、上記のデータ不一致が１つ以上あった場合に行ってもよく、或いは、一致・不一致に関わらずに行ってもよい。
【００２７】
次に、本例の金融情報配信サーバＳによる問合せ応答処理を、図３を参照しつつ、図６の処理フローに従って説明する。
金融情報配信サーバＳの問合せ・応答処理部８は、端末Ｒから問合せ要求を受信すると（ステップＳ２１）、まず、当該問合せ要求により指定された直近値テーブル３を特定する（ステップＳ２２）。図３では、問合せ要求で指定された「株式テーブル」が特定されている。
そして、前記特定した直近値テーブル３（株式テーブル）における、前記問合せ要求により指定された銘柄ＩＤ（例えば“ＭＭＭ”）のレコード（図３の株式テーブルの斜線部分）を特定する（ステップＳ２３）。
【００２８】
その後、前記特定したレコード中の各データ（始値、高値、安値など）について、それぞれのカラム名をキーにマッピングテーブル２を参照して対応するマッピングデータを特定し、当該マッピングデータに設定されている送信フィールドＩＤ及び当該レコード中の対応するデータを組にしたデータセットを各カラム毎に生成し、当該生成した全てのデータセットを含む応答電文を生成する（ステップＳ２４）。そして、当該生成した応答電文を要求元の端末Ｒに対して返信する（ステップＳ２５）。
【００２９】
次に、本例の受信電文のデータ項目の拡張（追加）に対応するための作業を、図４を参照して説明する。
同図では、株式の直近値テーブル３である株式テーブルに、「予備１」〜「予備ｎ」のカラムを予め設けてある。そして、受信電文に新たなデータ項目の追加がなされた際には、ユーザは、金融情報配信サーバＳ又はこれにネットワーク等を介して接続された他の操作端末を操作して、当該新たなデータ項目に関するマッピングデータをマッピングテーブル２に追加し、当該マッピングデータにおいて、当該新たなデータ項目と予め設けた予備のカラムとを対応付ける設定を行う。図４では、受信フィールドＩＤ“９９”として「気配」のデータ項目が追加された場合に、株式テーブル（直近値テーブル３）中の未だ受信電文のデータ項目に関連付けられていない予備の各カラム（「予備１」〜「予備ｎ」）の中から選択した「予備１」を、気配に関する処理後データの格納先に設定している。
なお、本例では、マッピングデータを事後的に（新たなデータ項目の追加の際）に追加しているが、予備の各カラムに関するマッピングデータ（ただし、受信電文のデータ項目との関連付けはしない）を予め用意しておいてもよい。
【００３０】
図７は、本例に係る金融情報配信サーバＳの主要なハードウェア構成を示している。
すなわち、本例の金融情報配信サーバＳは、各種演算処理を行うＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１、ＣＰＵ２１の作業領域となるＲＡＭ（Ｒａｎｄｏｍ−Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２２、基本的な制御プログラムを記憶するＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）２３、本発明に係る各機能を実現するためのプログラム等を記憶するＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２４、利用者からの情報の入力を受け付けるマウス・キーボード等の機器とのインターフェースである入力Ｉ／Ｆ２５、利用者に対する情報を表示出力する液晶ディスプレイ等の機器とのインターフェースである出力Ｉ／Ｆ２６、上位システム（情報配信元Ｐ）との通信インターフェースである第１通信Ｉ／Ｆ２７、下位システム（端末Ｒ）との通信インターフェースである第２通信Ｉ／Ｆ２８、等のハードウェア資源を有するコンピュータで構成されている。
そして、本発明に係る配信プログラムをＨＤＤ２４から読み出してＲＡＭ２２に展開し、これをＣＰＵ２１により実行させることで、各処理部４〜８を金融情報配信サーバＳのコンピュータに実現している。
【００３１】
以上のように、本例に係る金融情報配信サーバＳは、受信電文のデータ項目と当該データ項目のデータに対する処理内容やその処理結果の格納先のテーブル及びカラムとの対応関係をマッピングテーブル３にて管理しており、このマッピングテーブル３と配信プログラムの実行により実現された各処理部４〜８とによって、情報配信元Ｐから提供された電文に応じて各端末Ｒに配信電文を送信し、また、端末Ｒからの要求に応答して該当データを送信する等の従来の配信サーバと同様な機能を実現している。そして、受信電文のデータ項目が編集された場合には、その編集内容に対応してマッピングテーブル３を更新すれば足りるため、その対応作業が従来に比べて簡易なものとなる。
【００３２】
ここで、本発明に係るシステムや装置などの構成としては、必ずしも以上に示したものに限られず、種々な構成が用いられてもよい。また、本発明は、例えば、本発明に係る処理を実行する方法或いは方式や、このような方法や方式を実現するためのプログラムや当該プログラムを記録する記録媒体などとして提供することも可能であり、また、種々なシステムや装置として提供することも可能である。
また、本発明の適用分野としては、必ずしも以上に示したものに限られず、本発明は、種々な分野に適用することが可能なものである。
また、本発明に係るシステムや装置などにおいて行われる各種の処理としては、上記のようなソフトウェア構成に限られず、例えば各機能手段が独立したハードウエア回路として構成されてもよい。
また、本発明は上記プログラムを格納したフロッピー（登録商標）ディスクやＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ等のコンピュータにより読み取り可能な記録媒体や当該プログラム（自体）として把握することもでき、当該プログラムを当該記録媒体からコンピュータに入力して実行させることにより、本発明に係る処理を遂行させることができる。
【図面の簡単な説明】
【００３３】
【図１】本発明の一実施形態に係る情報配信システムのシステム構成図である。
【図２】本発明の一実施形態に係る受信電文の編集処理を説明する図である。
【図３】本発明の一実施形態に係る問合せ応答処理を説明する図である。
【図４】本発明の一実施形態に係る受信電文の項目拡張を説明する図である。
【図５】本発明の一実施形態に係る受信電文の編集処理の処理フロー図である。
【図６】本発明の一実施形態に係る問合せ応答処理の処理フロー図である。
【図７】本発明の一実施形態に係る配信サーバのハードウェア構成図である。
【符号の説明】
【００３４】
Ｐ１〜Ｐｎ：情報配信元、  Ｆ１〜Ｆｎ：フロントサーバ、  Ｓ：配信サーバ、  Ｒ１〜Ｒｎ：端末、  Ｎ：ネットワーク、  １：メモリＤＢ、  ２：マッピングテーブル、  ３：直近値テーブル、  ４：受信処理部、  ５：加工編集処理部、  ６：配信バッファエリア、  ７：配信処理部、  ８：問合せ・応答処理部
【図１】
2009123049.tif 000003
【図２】
2009123049.tif 000004
【図３】
2009123049.tif 000005
【図４】
2009123049.tif 000006
【図５】
2009123049.tif 000007
【図６】
2009123049.tif 000008
【図７】
2009123049.tif 000009