(57)【要約】【課題】  簡易な構成で、多様性のある下流サーバの要求を満たすシステムを構築する。【解決手段】  複数のサーバ間のデータ送信で受信側の下流サーバに異なる用途機能が複数実装されている形態において、受信側である下流サーバの機能追加により、データ連携の制御部分に変更が無いように独立性を保ち、受信側である下流サーバの機能数に伴いデータ連携制御部分の処理負荷及び、データ送信に関わるネットワーク負荷を低減させつつ、受信側である下流サーバの機能が要求するタイミングで必要なデータを参照可能とし、各機能の即時性に合わせ処理を実行可能とする。【選択図】  図１
2006155436.tif 000002
【特許請求の範囲】
【請求項１】
同一ネットワークに接続されているオンライン取引結果を蓄積するDBを保有するサーバ（以降上流サーバと呼ぶ）と上流サーバから送信されたデータを蓄積するDBを保有するサーバ（以降下流サーバ呼ぶ）において、上流サーバに下流サーバヘのデータ送信間隔を管理させる上流サーバ状態管理ファイルとある時間帯において下流サーバに存在する複数のデータ送信先DBのどこにデータを送信するかを管理する時間帯別送信先管理ファイルを保有させ、下流サーバに上流サーバにある時間帯別受信先管理ファイルと時間帯別受信先管理テーブルに該当する時間帯別のデータを受信する為の複数のDBと即時性により必要とするデータの時間帯、時間間隔が異なる複数のアプリケーションを保有させ、上流サーバはサーバのシステム時間と時間帯別送信先管理ファイルを参照、比較して下流サーバの送信先DBを設定し、上流サーバ状態管理ファイルを参照し、設定された時間間隔で下流サーバにデータを送信し、下流サーバは現在の時間帯に受信すべきと設定されているDBでデータを受信し、受信内容を時間帯別受信先管理ファイルにて次の時間帯の受信先DBと設定されているDBへデータを非同期でコピーし、下流サーバにあるアプリケーションは、時間帯別送信先管理テーブルを参照することにより、各アプリケーションが必要とするデータが存在する現在上流サーバの送信先のデータレプリカがあるDBを参照し、各アプリケーションの即時性に合わせ加算的に処理を実行し、更に下流のサーバへ必要なデータを送信することを特徴とするデータ送信及び処理実行の制御方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステム上のデータ送信と処理実行の制御に関する。
【背景技術】
【０００２】
従来、複数のサーバ間でデータを送受信するデータ送信方式に関して、送信先に送信されたデータを扱う機能が異なる用途で複数存在する場合において、一例として特許文献１に記載されるようなデータ連携方式がある。
【０００３】
本方式では、複数のサーバ間でデータを送受信する為のデータ連携装置に関し、特に１つの送信側のサーバにおいて実行されたデータベースの操作に関するデータを、複数の受信側のサーバに転送する為のデータ連携装置を用いた方式で複数存在する受信側の要求の多様性を満たすことを目的としている。
【０００４】
【特許文献１】特開平7−306828号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記の特許文献１においては、複数のサーバ間のデータ送受信に関し、受信側の下流サーバの要求の多様性を満たす為にデータ連携装置を設置し、下流サーバの機能の要求毎にデータを送信する方式である。その際の問題点としては、以下のようなことがあげられる。
【０００６】
（１）下流サーバの機能毎にデータ連携装置に配布バッファが必要であり、必要に応じてメモリの増設、定義の変更が必要であり、下流サーバの機能追加とデータ連携装置との独立性が低いという問題点がある。
【０００７】
（２）下流サーバの機能が多数になると、データ連携装置の処理負荷、及びデータ送信先の多数化によるネットワーク負荷が高まるという問題点がある。
【０００８】
本発明の第１の課題としては、受信側である下流サーバの機能追加により、データ連携の制御部分に変更が無いように独立性を保つこと。第２の課題としては、受信側である下流サーバの機能数に伴いデータ連携制御部分の処理負荷及び、データ送信に関わるネットワーク負荷を低減させること。第３の課題としては、第１と第２の課題を解決しつつ、受信側である下流サーバの機能が要求するタイミングで必要なデータを参照可能とし、各機能の即時性に合わせ処理を実行可能にすることである。
【課題を解決するための手段】
【０００９】
本発明では、受信側である下流サーバに下流サーバの機能が参照できるDB群を設置する。このDB群は、機能がある下流サーバと同一筐体であっても良いし、独立したサーバとなっていてもよい。このDB群には複数のDBから成立しており、本方式においては、このDB群の各DBに対して、時間帯別にどのDBに上流サーバからデータを受信させるか設定することが出来る。システム設計者は、システム全体の機能と時間軸を考慮した要件に合わせて、DB数と時間帯別にどのDBにデータを送信するかを決めることができる。また、本方式においては、上流サーバからデータを受信したDBの次の時間帯にデータを受信すると設定されているDBに非同期でデータをコピーし、レプリケートする。このことにより、上流サーバからデータを受信し続けているDBと下流サーバの各機能が参照するDBは異なるため、処理の負荷分散が実現され性能面での優位性がある。上流サーバには、データ送信間隔、送信先のDBのID、送信先のDB数を管理する状態管理ファイルと時間帯別にどのDBにデータを送信すべきかを設定する時間帯別送信先管理ファイルがある。上流サーバは起動時に上流サーバでの設定をもとに下流サーバに同じく状態管理ファイルと時間帯別受信先管理ファイルを作成する。上流サーバのデータ送信制御プログラムは上流サーバにある２つの管理ファイルを基にデータを送信し、下流サーバの各機能は、下流サーバにあるデータ読込先制御プログラムを呼び出し、呼び出されたデータ読込先制御プログラムは下流サーバにある２つの管理ファイルを基に適切なDB参照先を各機能に示す。下流サーバに設置した、１つの制御プログラムと２つの管理ファイルは受信DB群に１つ存在すればよい。つまり、下流サーバの各機能毎になくともよい。本発明が、上記で述べた方式でデータ送受信をすることにより、先で述べた第１の課題であるデータ送受信に関わる管理ファイルの簡素化および下流サーバの機能追加との独立性の確保を実現している。また、第２の課題の処理負荷、ネットワーク負荷に関しても、参照先DBの一元化、および送信先DBと参照先DBの分離による負荷分散を実現している。最後に第３の課題である、受信側である下流サーバの機能が要求するタイミングで必要なデータを参照可能とし、各機能の即時性に合わせ処理を実行可能にすることを第１、第２の課題を解決しつつ実現している。
【発明の効果】
【００１０】
本発明によれば、より簡易な構成で、多様性のある下流サーバの要求を満たすシステムを構築することが可能になる。
【発明を実施するための最良の形態】
【００１１】
本発明の実施の形態について、図面を用いて説明する。本実施の形態は、銀行システムの基幹系システムと情報系システム間のデータ送信及び情報システム上のアプリケーション処理を例に説明するが、本発明はそれに限定されるものではない。
【００１２】
図１は、本発明によるデータ送信及び処理実行の制御方式の概念図を示したものである。
【００１３】
100は、オンラインによる取引が発生する銀行の基幹系サーバであり上流サーバと呼ぶ。200は基幹系から受信したデータをもとに処理を実行する情報系サーバであり下流サーバと呼ぶ。それぞれのサーバはネットワーク600を介して接続される。また、下流サーバの処理結果のデータ送信先として、下流サーバ（2）400と下流サーバ（3）500が存在し、それぞれのサーバはネットワーク700を介して接続される。
【００１４】
上流サーバ100には、入出金などの取引結果をオンラインで格納している現DB110、データ送信制御プログラム120、上流サーバ状態管理ファイル130、時間帯別送信先管理ファイル140、上流サーバシステム時間150が存在する。
【００１５】
下流サーバ200には、上流サーバ100から送信されデータを受信するDB群210が存在し、DB群210は、データ格納場所として、（DB1）220、（DB2）230、（DB3）240、（DB4）250が存在する。各DBは、データを受信すると非同期でDB1であればDB2へ、DB2であればDB３へ、DB３であればDB4へ、DB4であればDB１へ、次の受信DBのIDが示すDBへデータをコピーする。DB1〜4それぞれには、上流サーバ100から受信したデータを格納する取引結果テーブル300と取引結果の集計結果を格納する取引結果集計テーブル310、一時間毎に入出金1,000万以上の取引結果を抽出し、下流サーバ（2）に処理結果をデータ送信するアプリケーション（1）320、店番号毎に一日の取引を集計して下流サーバ3に処理結果をデータ送信するアプリケーション（2）330、データ読込み先制御プログラム260、下流サーバ状態管理ファイル270、時間帯別受信先管理ファイル280、下流サーバシステム時間290が存在する。
【００１６】
上流サーバ100上のデータ送信制御プログラム120は、上流サーバシステム時間150及び、時間帯別送信先管理ファイルを参照して、上流サーバ状態管理ファイルに送信先DBの情報及び送信先DBの数を書き込んでいる。
【００１７】
下流サーバ200上のアプリケーション（1）320及びアプリケーション（2）330は、それぞれのアプリケーションの処理即時性に応じて、データ読込み先制御プログラム260を実行して、DB群210上の（DB1）220、（DB2）230、（DB3）240、（DB4）250のいずれかにアクセスしてデータを処理する。データ読込み先制御プログラムはアプリケーション1とアプリケーション2から呼び出され、下流サーバシステム時間290を参照し、アプリケーションが下流サーバ状態管理ファイル270と時間帯別受信先管理ファイルを参照して、アプリケーションにアクセスすべき受信先DBを返す。
【００１８】
図２は、上流サーバ状態管理ファイル130の構成例であり、下流サーバへデータを送信する時間間隔（秒）を示すフィールドである送信時間間隔131、送信先DBのIDを示すフィールドである送信先DBのID132、送信先DB数を示すフィールドである送信先DB数133で構成されている。
【００１９】
図３は、時間帯別送信先管理ファイル140の構成例であり、送信先DBのIDを示すフィールドである送信先DBのID141、送信先DB名を示すフィールドである送信先DB142、各送信先DBに対する時間帯を示すフィールドとして開始時間143、終了時間144で構成されている。
【００２０】
図４は、下流サーバ状態管理ファイル270の構成例であり、上流サーバからデータが送信されてくる時間間隔（秒）を示すフィールドである送信時間間隔271、受信DBのIDを示すフィールドである受信DBのID272、受信DB数を示すフィールドである受信DB数273で構成されている。
【００２１】
図５は、時間帯別受信先管理ファイル280の構成例であり、受信先DBのIDを示すフィールドである受信先DBのID281、受信DB名を示すフィールドである受信DB282、各受信先DBに対する時間帯を示すフィールドとして開始時間283、終了時間284で構成されている。
【００２２】
図６は、上流サーバシステム時間150の構成例であり、現在の時間を示すシステム時間151、現在の日付を示すシステム日付152で構成される。
【００２３】
図７は、上流サーバシステム時間290の構成例であり、現在の時間を示すシステム時間291、現在の日付を示すシステム日付292で構成される。
【００２４】
図８は、取引結果を格納する取引結果テーブル300の構成例であり、通番301、店番号302、顧客ID303、入金、出金といった取引種別を示すフィールドである取引種別、取引額305、取引が実施された時間を示すフィールドである取引時間306、取引が実施された日付を示すフィールドである取引日307で構成される。
【００２５】
図９は、取引結果を店番号毎に集計して格納する取引結果集計テーブル310の構成例であり、店番号311、店番号毎の取引額を集計して格納する取引額312、取引が実施された日付を示すフィールドである取引日313で構成される。
【００２６】
図１０は、DB群210の時間帯別の様子を示している。今回の場合は、DB群210は、DB1 220、DB2 230、DB3 240、DB4 250を保有している。現在のシステム時間は、0:00:00であるので、受信先DBは、（DB1）220であり、（DB2）230は、（DB1）220が受信したデータのレプリケートを保有している。この様子を図１０の時間帯１は示している。
【００２７】
図１１は、本発明における上流サーバから下流サーバへのデータ送信制御のフローチャートである。
【００２８】
まず、処理10にてシステムを起動する。続けて処理11にてデータ送信制御プログラムを起動する。データ送信制御プログラムは、処理12にて上流サーバシステム時間のシステム時間291を参照する。処理13にて時間帯別送信先管理ファイルを参照して、処理14にて処理12で参照したシステム時間291が開始時間143以上、終了時間144以下となる送信先DBのID141を算出する。今回は、処理12で参照したシステム時間が0:00:00であるので送信先DBのID141は、1となる。処理15にて時間帯別送信先管理ファイルの登録されている送信先DB数より送信先DB数を求める。今回は4となる。処理16では、処理14にて求めた送信先DBのIDを上流サーバ状態管理ファイルの送信先DBのID132に書き込み、処理15にて求めた送信先DB数を送信先DB数133に書き込む。処理17にて上流サーバ状態管理ファイルの内容を下流サーバ状態管理ファイルへコピーする。具体的には、送信時間間隔131の300を送信時間間隔271へ、送信先DBのID132の1を受信DBのID272へ、送信先DB数133の4を受信DB数273へそれぞれコピーする。また、処理18にて時間帯別送信先管理ファイルの内容を時間帯別受信管理ファイルへコピーする。具体的には、１行目のデータを例にあげると、送信先DBのID141の1を受信先DBのID281ヘ、送信先DB142のDB1を受信先DBへ、開始時間143の0:00:00を開始時間283へ、終了時間144の6:00:00を終了時間284へそれぞれコピーする。この処理をファイル内の全行に対して実行する。処理19では上流サーバ状態管理ファイルの送信時間間隔131を参照して、値の秒数だけプログラムをスリープさせる。今回は、300秒スリープする。処理20にて、上流サーバ状態管理ファイルの内容を処理12から15の処理で得られた各値と比較し、１つでも異なる場合は、処理21を実施。同じ場合は、処理22を実施する。処理21は、処理16と同じ処理である。処理22にて、処理20にて参照した現在の時刻より送信時間間隔をさかのぼった時間に現DBに登録されたデータを送信先DBのIDをもとに送信先DBを特定し送信する。今回の場合は、現在の時間は、図６のシステム時間の状態より300秒経過しているので現在時刻は0:05:00であり、時間帯別送信先管理テーブルより、送信先DBのIDは1となり、送信先DBの数も4のままであるので、処理20の判定は同じ場合として処理22を行う。
【００２９】
図１２は、下流サーバにてデータ読込み先の受信DBを特定する処理のフローチャートである。まず、処理30にてデータ読込み先制御プログラム260を起動する。処理31にてプログラムは下流サーバ状態管理ファイル270の受信DBのID272と受信DB数273を参照する。今回は、受信DBのID272が1、受信DB数273が4である。処理32にて、｛（受信DBのID）+1mod（受信DB数）｝の値を求める。今回は、処理31の結果より｛（1）+1  mod  4｝となり、2となる。処理32では、処理31でもとめた値から、時間帯別受信先管理ファイルの受信先DBのIDフィールド281を参照／検索し、受信先DB282を特定する。今回の場合は、受信先DBはDB2と特定される。
【００３０】
図１３は、アプリケーション（1）320のフローチャートである。ここでは、アプリケーション1が、一時間毎にDB群210にアクセスし、対象時間内にて取引結果テーブル300の取引額305が1,000万以上のレコードを抽出して、更に下流の営業店顧客セールス支援システムを搭載した下流サーバ（2）400にデータを送信するアプリケーションであるとして処理を説明する。アプリケーション（1）は、処理40にて0:00:00にプログラムを起動する。次に処理41にて一時間スリープする。処理42にて下流サーバシステム時間290のシステム時間291を参照する。今回の場合は、システム時間は0:00:000から一時間経過しているので1:00:00となる。処理43にて図１２で処理フローチャートを示した、データ読込み先制御プログラム260を呼び出す。今回の場合処理結果の値として、DB2が得られる。処理44にて、現在、上流サーバ100からデータを受信しているDBのデータをコピーしているDBにアクセスし、処理42で参照したシステム時間よりさかのぼって１時間のデータを対象に取引結果テーブル300の取引額305を検索し1,000万以上のレコードを抽出し、更に下流サーバである下流サーバ2へデータを送信する。今回の場合は、0:00:00から1:00:00のデータを対象に1,000万以上の入金があったレコードを抽出して、下流サーバである営業店顧客セールス支援システムを搭載した下流サーバ（2）400にデータを送信する。その後、処理41に戻る。
【００３１】
図１４は、アプリケーション（2）330のフローチャートである。ここでは、アプリケーション（2）が、１時間毎にDB群210にアクセスし、対象時間内にて取引結果テーブル300の店番号302毎に取引額305を集計し、取引結果集計テーブル310に集計結果を加算的に更新し、１日の集計結果を更に下流の収益管理システムを搭載した下流サーバ（3）500に送信するアプリケーションであるとして処理を説明する。アプリケーション（2）は、処理50にて0:00:00にプログラムを起動する。次に処理51にて一時間スリープする。処理52にて、下流サーバシステム時間290のシステム時間291を参照する。今回の場合は、システム時間は0:00:000から一時間経過しているので1:00:00となる。処理53にて図１２で処理フローチャートを示した、データ読込み先制御プログラム260を呼び出す。今回の場合処理結果の値として、DB2が得られる。処理54にて、現在、上流サーバ100からデータを受信しているDBのデータをコピーしているDBにアクセスし、処理52で参照したシステム時間よりさかのぼって１時間のデータを対象に取引結果テーブル300を参照し、店番号302毎に取引額305を集計する。今回の場合は、0:00:00から1:00:00のデータを対象に集計。処理55にて、処理54の集計結果より、取引結果集計テーブル310の該当する店番号311毎に集計した取引額を取引額312に加える。
【００３２】
処理56にて、処理52にて参照した、システム時間が、0:00:00であるか判定し、0:00:00以外であれば処理51に戻る。0:00:00であれば１日のデータを集計したこととなる為、処理57に進む。今回の場合は、処理52で得られたシステム時間は1:00:00であり処理51に戻る。処理57は、取引結果集計テーブル310に１日分の取引結果が集計されているので、取引結果集計テーブル310のデータを刈るうサーバである収益管理システムを搭載した下流サーバ（3）500にデータを送信する。その後、処理51に戻る。
【図面の簡単な説明】
【００３３】
【図１】本発明の実施する構成例を示した図である。
【図２】上流サーバ状態管理ファイルの例である。
【図３】時間帯別送信先管理ファイルの例である。
【図４】下流サーバ状態管理ファイルの例である。
【図５】時間帯別受信先管理ファイルの例である。
【図６】上流サーバシステム時間の例である。
【図７】下流サーバシステム時間の例である。
【図８】取引結果テーブルの例である。
【図９】取引結果集計テーブルの例である。
【図１０】DB群200の時間帯別の様子を示す図である。
【図１１】上流サーバから下流サーバへのデータ送信制御のフローチャートである。
【図１２】受信先DB特定処理のフローチャートである。
【図１３】アプリケーション1のフローチャートである。
【図１４】アプリケーション2のフローチャートである。
【符号の説明】
【００３４】
100…上流サーバ、110…現DB、120…データ送信制御プログラム、130…上流サーバ状態管理ファイル、140…時間帯別送信先管理ファイル、150…上流サーバシステム時間、200…下流サーバ、210…DB群、220…DB1、230…DB2、240…DB3、250…DB4、260…データ読込み先制御プログラム、270…下流サーバ状態管理ファイル、280…時間帯別受信先管理ファイル、290…下流サーバシステム時間、300…取引結果テーブル、310…取引結果集計テーブル、320…アプリケーション（1）、330…アプリケーション（2）、400…下流サーバ（2）、500…下流サーバ（3）。
【図１】
2006155436.tif 000003
【図２】
2006155436.tif 000004
【図３】
2006155436.tif 000005
【図４】
2006155436.tif 000006
【図５】
2006155436.tif 000007
【図６】
2006155436.tif 000008
【図７】
2006155436.tif 000009
【図８】
2006155436.tif 000010
【図９】
2006155436.tif 000011
【図１０】
2006155436.tif 000012
【図１１】
2006155436.tif 000013
【図１２】
2006155436.tif 000014
【図１３】
2006155436.tif 000015
【図１４】
2006155436.tif 000016