JP2005284781A - Mqデータ同期システム及びmqデータ同期プログラム - Google Patents

Mqデータ同期システム及びmqデータ同期プログラム Download PDF

Info

Publication number
JP2005284781A
JP2005284781A JP2004098582A JP2004098582A JP2005284781A JP 2005284781 A JP2005284781 A JP 2005284781A JP 2004098582 A JP2004098582 A JP 2004098582A JP 2004098582 A JP2004098582 A JP 2004098582A JP 2005284781 A JP2005284781 A JP 2005284781A
Authority
JP
Japan
Prior art keywords
data
business
storage means
storing
waiting
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
JP2004098582A
Other languages
English (en)
Other versions
JP4406310B2 (ja
Inventor
Taiji Shimizu
泰二 清水
Naohiko Iguchi
直彦 井口
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.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute 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 Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2004098582A priority Critical patent/JP4406310B2/ja
Publication of JP2005284781A publication Critical patent/JP2005284781A/ja
Application granted granted Critical
Publication of JP4406310B2 publication Critical patent/JP4406310B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】複数サーバによる分散処理を前提としつつ、サーバ間でデータの同期をとることを可能とする技術の実現。
【解決手段】複数の源流サーバから送信されるMQデータを関連業務単位で待機させ、必要なMQデータが揃った時点で各データベースに対し同時に更新処理を実行するMQデータ同期システム10であり、MQデータは源流サーバを識別する振分分類コード、関連業務を特定する識別コード、業務データを含み、関連業務毎に必要なMQデータの組合せを定義しておくMQ待合せ情報テーブル42と、受信したMQデータの種類を関連業務単位で記録するためのMQ整合性管理テーブル43と、両テーブルの情報を比較し必要なMQデータが揃った時点で各MQデータをMQ物理情報テーブル45、MQ論理情報テーブル46に格納する手段と、各情報テーブルから業務データを抽出し、基準情報データベース群48に登録する手段とを備えた。
【選択図】 図1

Description

この発明はMQデータ同期技術に係り、特に、複数の源流サーバから非同期で出力されるMQデータに対し関連業務単位での待合せを行い、必要なMQデータが揃った時点でデータベースの更新を実行する仕組みを備えたMQデータ同期システム及び同期プログラムに関する。
従来、大型のホストコンピュータによって集中管理されていたような様々な業務処理に関し、その低コスト性や高メンテナンス性、高拡張性に鑑み、相互にネットワーク接続させた複数のサーバによって分散処理する方式に置き換える傾向が加速している。
この分散処理方式を採用する場合、各サーバに搭載されたアプリケーションプログラム同士で処理済みのデータを同期させるには煩雑な処理が必要であり、プログラムの構成も複雑化するため、一般にMQ(Message Queueing)と称する仕組みが用いられる。
このMQ方式の下においては、各サーバのアプリケーションプログラムは自己の処理が完了した時点でキュー(Queue)と称する領域にデータを格納し、相手方サーバのアプリケーションプログラムは、これを取り出して必要な処理を実行することとなる。
すなわち、このMQ方式を実現するためのミドルウェアを導入することにより、各アプリケーションプログラムの構成を簡素化できるのはもちろん、各サーバは相手サーバの処理を待つことなく次の処理に移行できるようになり、アプリケーション間の相互運用性やシステム全体の耐障害性が向上する利点が生じる。
IT用語辞典e-Words/MQ[メッセージキューイング][平成16年3月22日検索] インターネットURL:http://e-words.jp/?w=%82l%82p
しかしながら、上記のMQは各サーバ間のデータを非同期で送受信することが前提となっているため、各データを受信側サーバにて同期を合わせる必要がある業務処理においては適用できないという問題があった。
例えば、証券取引業務を注文サーバ、約定サーバ、預り管理サーバ、顧客勘定サーバといった複数のサーバで分散処理し、その結果をWebサーバを介して顧客のPC上で表示させる場合を想定すると、顧客による注文を注文サーバが受け付けて取引所のホストコンピュータに注文の電文を送信し、取引が成立した旨の情報が送信された場合には約定サーバによって代金や税金、手数料の算出処理が行われ、つぎに顧客勘定サーバにおいて顧客口座に対する清算処理が実行されると共に、預り管理サーバにおいて当該顧客の持ち株に対する加減算処理が実行される。
この場合、各サーバにおいては受信したデータ順に処理が行われるため、サーバ相互間でのデータの伝達に多少の時間差が生じてもサーバ内で矛盾が生じることはないが、各サーバの管理するデータをWebサーバを介して顧客に開示する際には、関係サーバにおける処理が完了していないと矛盾が生じることとなる。
例えば、現物買付取引の場合には口座からの引落と同時に株式の加算が画面上に表示されなければならないにもかかわらず、各サーバが非同期に動作するため瞬間的には金額だけが減少して株式の増加が現れないことも生じ得る。
この発明は、上記の問題点を解決するために案出されたものであり、ネットワーク化された複数のサーバによる分散処理を前提としながらも、関連業務に係るデータ間で同期をとることを可能とする技術を提供することを目的としている。
上記の目的を達成するため、請求項1に記載したMQデータ同期システムは、複数の源流サーバから送信されるMQデータを関連業務単位で待機させ、必要なMQデータが揃った時点でそれぞれのデータベースに対し同時に更新処理を実行するMQデータ同期システムであって、上記MQデータは、少なくとも各源流サーバを特定するための振分分類コードと、関連業務を特定するための識別コードと、業務データとを含んでおり、関連業務毎に必要なMQデータの種類の組合せを定義しておくMQ待合せ情報テーブルを格納する記憶手段と、受信したMQデータの種類を関連業務単位で順次記録するためのMQ整合性管理テーブルを格納する記憶手段と、上記MQ整合性管理テーブルの記録と、MQ待合せ情報テーブルの定義情報とを比較し、特定の業務について必要なMQデータが揃った時点で各MQデータを所定の記憶手段に格納する手段と、上記記憶手段から各MQデータの業務データを抽出する手段と、各業務データを対応のデータベースに登録する手段とを備えたことを特徴としている。
請求項2に記載したMQデータ同期システムは、複数の源流サーバから送信されるMQデータを関連業務単位で待機させ、必要なMQデータが揃った時点でそれぞれのデータベースに対し同時に更新処理を実行するMQデータ同期システムであって、上記MQデータは、少なくとも各源流サーバを特定するための振分分類コードと、業務対象を特定するための識別コードと、関連業務を特定するための識別コードと、業務データとを含んでおり、関連業務毎に必要なMQデータの種類の組合せを定義しておくMQ待合せ情報テーブルを格納する記憶手段と、各業務対象単位でMQデータの源流サーバ毎の受信順番を記録するためのカウンタテーブルを格納する記憶手段と、受信したMQデータの種類、それぞれの受信順番、及び待機中か否かの状態を業務対象及び関連業務単位で順次記録するためのMQ整合性管理テーブルを格納する記憶手段と、上記カウンタテーブルを参照し、受信したMQデータの業務対象別、源流サーバ別の受信順番を取得する手段と、上記MQ整合性管理テーブルの記録と、MQ待合せ情報テーブルの定義情報とを比較し、特定の業務について必要なMQデータが揃ったか否かを確認する手段と、必要なMQデータが揃った場合に、上記MQ整合性管理テーブルを参照し、各MQデータよりも先の受信順番を付されたMQデータで待機中のものが存在するか否かを確認する手段と、特定の業務について必要なMQデータが揃い、かつ各MQデータよりも先の受信順番を付されたMQデータで待機中のものがないことを確認した時点で、各MQデータを所定の記憶手段に格納する手段と、上記記憶手段から各MQデータの業務データを抽出する手段と、各業務データを対応のデータベースに登録する手段とを備えたことを特徴としている。
請求項3に記載したMQデータ同期システムは、複数の源流サーバから送信されるMQデータを関連業務単位で待機させ、必要なMQデータが揃った時点でそれぞれのデータベースに対し同時に更新処理を実行するMQデータ同期システムであって、上記MQデータは、少なくとも各源流サーバを特定するための振分分類コードと、顧客の口座番号と、関連業務を特定するための識別コードと、業務データとを含んでおり、関連業務毎に必要なMQデータの種類の組合せを定義しておくMQ待合せ情報テーブルを格納する記憶手段と、各口座単位でMQデータの源流サーバ毎の受信順番を記録するためのカウンタテーブルを格納する記憶手段と、受信したMQデータの種類、それぞれの受信順番、及び待機中か否かの状態を口座番号及び関連業務単位で順次記録するためのMQ整合性管理テーブルを格納する記憶手段と、上記カウンタテーブルを参照し、受信したMQデータの口座別、源流サーバ別の受信順番を取得する手段と、上記MQ整合性管理テーブルの記録と、MQ待合せ情報テーブルの定義情報とを比較し、特定の業務について必要なMQデータが揃ったか否かを確認する手段と、必要なMQデータが揃った場合に、上記MQ整合性管理テーブルを参照し、各MQデータよりも先の受信順番を付されたMQデータで待機中のものが存在するか否かを確認する手段と、特定の業務について必要なMQデータが揃い、かつ各MQデータよりも先の受信順番を付されたMQデータで待機中のものがないことを確認した時点で、各MQデータを所定の記憶手段に格納する手段と、上記記憶手段から各MQデータの業務データを抽出する手段と、各業務データを対応のデータベースに登録する手段とを備えたことを特徴としている。
請求項4に記載したMQデータ同期プログラムは、複数の源流サーバから送信される、少なくとも各源流サーバを特定するための振分分類コード、関連業務を特定するための識別コード、及び業務データを含んだMQデータを関連業務単位で待機させ、必要なMQデータが揃った時点でそれぞれのデータベースに対し同時に更新処理を実行するMQデータ同期システムを実現するためのプログラムであって、コンピュータを、関連業務毎に必要なMQデータの種類の組合せを定義しておくMQ待合せ情報テーブルを格納する記憶手段、受信したMQデータの種類を関連業務単位で順次記録するためのMQ整合性管理テーブルを格納する記憶手段、上記MQ整合性管理テーブルの記録と、MQ待合せ情報テーブルの定義情報とを比較し、特定の業務について必要なMQデータが揃った時点で各MQデータを所定の記憶手段に格納する手段、上記記憶手段から各MQデータの業務データを抽出する手段、各業務データを対応のデータベースに登録する手段として機能させることを特徴としている。
請求項5に記載したMQデータ同期プログラムは、複数の源流サーバから送信される、少なくとも各源流サーバを特定するための振分分類コード、業務対象を特定するための識別コード、関連業務を特定するための識別コード、及び業務データを含んだMQデータを関連業務単位で待機させ、必要なMQデータが揃った時点でそれぞれのデータベースに対し同時に更新処理を実行するMQデータ同期システムを実現するためのプログラムであって、コンピュータを、関連業務毎に必要なMQデータの種類の組合せを定義しておくMQ待合せ情報テーブルを格納する記憶手段、各業務対象単位でMQデータの源流サーバ毎の受信順番を記録するためのカウンタテーブルを格納する記憶手段、受信したMQデータの種類、それぞれの受信順番、及び待機中か否かの状態を業務対象及び関連業務単位で順次記録するためのMQ整合性管理テーブルを格納する記憶手段、上記カウンタテーブルを参照し、受信したMQデータの業務対象別、源流サーバ別の受信順番を取得する手段、上記MQ整合性管理テーブルの記録と、MQ待合せ情報テーブルの定義情報とを比較し、特定の業務について必要なMQデータが揃ったか否かを確認する手段、必要なMQデータが揃った場合に、上記MQ整合性管理テーブルを参照し、各MQデータよりも先の受信順番を付されたMQデータで待機中のものが存在するか否かを確認する手段、特定の業務について必要なMQデータが揃い、かつ各MQデータよりも先の受信順番を付されたMQデータで待機中のものがないことを確認した時点で、各MQデータを所定の記憶手段に格納する手段、上記記憶手段から各MQデータの業務データを抽出する手段、各業務データを対応のデータベースに登録する手段として機能させることを特徴としている。
請求項6に記載したMQデータ同期プログラムは、複数の源流サーバから送信される、少なくとも各源流サーバを特定するための振分分類コード、顧客の口座番号、関連業務を特定するための識別コード、及び業務データを含んだMQデータを関連業務単位で待機させ、必要なMQデータが揃った時点でそれぞれのデータベースに対し同時に更新処理を実行するMQデータ同期システムを実現するためのプログラムであって、コンピュータを、関連業務毎に必要なMQデータの種類の組合せを定義しておくMQ待合せ情報テーブルを格納する記憶手段、各口座単位でMQデータの源流サーバ毎の受信順番を記録するためのカウンタテーブルを格納する記憶手段、受信したMQデータの種類、それぞれの受信順番、及び待機中か否かの状態を口座番号及び関連業務単位で順次記録するためのMQ整合性管理テーブルを格納する記憶手段、上記カウンタテーブルを参照し、受信したMQデータの口座別、源流サーバ別の受信順番を取得する手段、上記MQ整合性管理テーブルの記録と、MQ待合せ情報テーブルの定義情報とを比較し、特定の業務について必要なMQデータが揃ったか否かを確認する手段、必要なMQデータが揃った場合に、上記MQ整合性管理テーブルを参照し、各MQデータよりも先の受信順番を付されたMQデータで待機中のものが存在するか否かを確認する手段、特定の業務について必要なMQデータが揃い、かつ各MQデータよりも先の受信順番を付されたMQデータで待機中のものがないことを確認した時点で、各MQデータを所定の記憶手段に格納する手段、上記記憶手段から各MQデータの業務データを抽出する手段、各業務データを対応のデータベースに登録する手段として機能させることを特徴としている。
請求項1のMQデータ同期システム及び請求項4のMQデータ同期プログラムにあっては、各源流サーバから非同期で送信されたMQデータに対し、MQ待合せ情報テーブルで予め設定された関連業務単位で同期を取った上で、それぞれの業務データを抽出し、必要なデータベースに対する更新登録が実行される方式であるため、関連業務に係るデータ間で矛盾が生じることを有効に回避できる。
請求項2のMQデータ同期システム及び請求項5のMQデータ同期プログラムにあっては、各業務対象毎に関連業務に必要なMQデータの同期が取られると共に、各MQデータはそれぞれの源流サーバにおける処理順番通りに更新登録され、追い越しが生じることがないため、同一業務対象に係るデータ間で矛盾が生じることを有効に回避できる。
この結果、例えば業務対象を特定するための識別コードとして「製品コード」を用いることにより、大規模な生産管理システムや在庫管理システム等をネッワーク接続された多数のサーバによる分散処理によって実現することが可能となる。
請求項3のMQデータ同期システム及び請求項6のMQデータ同期プログラムにあっては、各口座毎に関連業務に必要なMQデータの同期が取られると共に、各MQデータはそれぞれの源流サーバにおける処理順番通りに更新登録され、追い越しが生じることがないため、同一口座に係るデータ間で矛盾が生じることを有効に回避できる。
この結果、証券取引業務をネッワーク接続された多数のサーバによる分散処理によって実現することが可能となる。
図1は、この発明に係るMQデータ同期システム10の全体構成を示す概念図であり、複数のサーバを備えた源流サーバ群12と、メッセージバスサーバ14と、フロントコンプライアンスサーバ16(以下単に「サーバ16」と称する)と、Webサーバ18と、インターネット20経由でWebサーバ18と接続される多数のクライアントPC22とを備えている。
源流サーバ群12には、証券業務を分散処理によって実現するための各種サーバが含まれており、例えば注文サーバ24と、約定サーバ26と、預り管理サーバ28と、顧客勘定サーバ30と、建玉管理サーバ32が該当する。
図示の便宜上、源流サーバとしては上記の5つのサーバを例示したが、実際にはさらに多くの源流サーバが含まれる。
上記メッセージバスサーバ14は、源流サーバ相互間、及び各源流サーバとサーバ16間でデータを流通させる機能を提供するものであり、各サーバ間におけるデータ受渡の対応関係を定義した宛先管理テーブルを備えている。
例えば、注文サーバ24から出力される特定のMQデータを約定サーバ26が自己の処理のために必要としている場合には、予めメッセージバスサーバ14にその旨を登録しておく。この結果、注文サーバ24から該当のMQデータが出力される度に、メッセージバスサーバ14によってそのコピーが約定サーバ26の受信キューに送信される。
また、約定サーバ26から出力される特定のMQデータを預り管理サーバ28及び顧客勘定サーバ30が必要としている場合にも、予めメッセージバスサーバ14にその旨を登録しておく。この結果、約定サーバ26から該当のMQデータが出力される度に、メッセージバスサーバ14によってそのコピーが預り管理サーバ28及び顧客勘定サーバ30の受信キューに送信される。
このシステム10においては、サーバ16内部で実施する業務処理に必要な全てのMQデータがサーバ16に配信されるように、メッセージバスサーバ14内に登録されている。
サーバ16は、MQ整合性管理部40と、MQ受信カウンタテーブル41と、MQ待合せ情報テーブル42と、MQ整合性管理テーブル43と、トリガテーブル44と、MQ物理情報テーブル45と、MQ論理情報テーブル46と、データ更新処理部47と、基準情報データベース群48と、データ抽出処理部49とを備えている。
上記MQ整合性管理部40、データ更新処理部47、及びデータ抽出処理部49は、サーバ16のCPUがOS及び各種アプリケーションプログラムに従って必要な処理を実行することによって実現される。
また、MQ受信カウンタテーブル41、MQ待合せ情報テーブル42、MQ整合性管理テーブル43、トリガテーブル44、MQ物理情報テーブル45、MQ論理情報テーブル46、基準情報データベース群48は、サーバ16のハードディスク内に格納されている。
基準情報データベース群48には、各源流サーバに対応したデータベースが含まれており、例えば注文サーバ24に対応した注文明細データベース50、約定サーバ26に対応した約定明細データベース51、預り管理サーバ28に対応した預り明細データベース52、顧客勘定サーバ30に対応した金銭預りデータベース53、建玉管理サーバ32に対応した建玉明細データベース54等を備えている。
上記MQ待合せ情報テーブル42は、図2に示すように、商品コード、取引コード、及びMQ受信数のデータ項目を備えている。
これらの中、商品コードは国内外区分、商品分類、商品コード1〜4の細目を備えており、取引コードはフロー種別、取引種類、売買区分、受渡方法の細目を備えており、各細目に該当の値を記述することによって関連業務を識別するためのコードが形成される仕組みである。
例えば、No.1は「国内株式現物約定」という業務を表しており、その商品コードは「01」、取引コードは「B00」ということになる。
また、No.5は「国内株式入出庫」という業務を表しており、その商品コードは「01」、取引コードは「C01」ということになる。
MQ受信数は、注文サーバ、約定サーバ、預り管理サーバ、顧客勘定サーバ、建玉管理サーバの細目を備えており、当該業務についてMQデータを待つ必要のあるサーバには「1」、不要なサーバには「0」が設定される。
例えば、商品・取引コードが「01C01」の「国内株式現物約定」業務に関しては、預り管理サーバにのみ「1」が設定されているため、預り管理サーバ28からMQデータが送信された時点で後続のデータ更新処理を実行できることを意味している。
これに対し、商品・取引コードが「01B00」の「国内株式入出庫」業務に関しては、注文サーバ、約定サーバ、預り管理サーバ、顧客勘定サーバに「1」が設定されているため、4つのサーバからのMQデータが揃った時点で後続のデータ更新処理を実行できることとなる。
図示の便宜上、No.1「国内株式現物約定」及びNo.5「国内株式入出庫」の2つの業務について例示したが、実際には証券取引に係るあらゆるパターンの業務について予めMQ受信数がサーバ毎に規定されており、これによって各関連業務毎に必要なMQデータの種類(源流サーバの別による種類)の組合せが定義されている。
図3は、各源流サーバから出力されるMQデータの構造を示す模式図であり、少なくとも当該MQデータを発信した源流サーバを特定するための振分分類コード、顧客の口座番号、MQ通番、業務データの各部から構成される。
MQ通番は、商品コード、取引コード、及び通番との組合せからなり、商品コード及び取引コードから当該MQデータの関連業務が特定される。
また、通番は当該業務の基点となったサーバによって採番され、後続のサーバはこれを引き継ぐルールとなっている。例えば、ある顧客の「国内株式現物約定」という業務が執行された場合、基点となった注文サーバ24によって当日内におけるユニークな番号が通番に割り振られ、後続の約定サーバ26、預り管理サーバ28、顧客勘定サーバ30は、当該取引に係るMQデータには同じMQ通番を付与することとなる。
したがって、このMQ通番及び口座番号をキーとすることにより、相互に関連するMQデータ群を特定することが可能となる。
図4は、MQ整合性管理テーブル43のデータ項目例を示すものであり、少なくとも受信キュー名称、基準日、口座番号、MQ通番、注文サーバからのMQ受信待ち数、注文サーバからのMQ受信順番、約定サーバからのMQ受信待ち数、約定サーバからのMQ受信順番、預り管理サーバからのMQ受信待ち数、預り管理サーバからのMQ受信順番、顧客勘定サーバからのMQ受信待ち数、顧客勘定サーバからのMQ受信順番、建玉管理サーバからのMQ受信待ち数、注文建玉管理サーバからのMQ受信順番、トリガ放出フラグ、作成日時、更新日時の各項目が設定されている。
図5は、MQ受信カウンタテーブル41のデータ項目例を示すものであり、少なくとも受信キュー名称、注文サーバ用カウンタ、約定サーバ用カウンタ、預り管理サーバ用カウンタ、顧客勘定サーバ用カウンタ、建玉管理サーバ用カウンタ、作成日時、更新日時の各項目が設定されている。
以下、図6及び図7のフローチャートに従い、このMQデータ同期システム10における処理手順を説明する。
まず、サーバ16がメッセージバスサーバ14からのMQデータを受信すると(S10)、MQ整合性管理部40がMQ受信カウンタテーブル41を参照し、当該MQデータの受信順番を取得する(S12)。
すなわち、本システム10においては「同一口座番号に係るMQデータは必ず当該口座固有の受信キューに格納される」というルールが設定されているため、MQ整合性管理部40はメッセージバスサーバ14から送信されたMQデータを受信したキューの名称によってMQ受信カウンタテーブル41中の該当レコードを特定し、その受信順番を認識することができる。
例えば、ある口座番号に係るMQデータが約定サーバ26から送信され、メッセージバスサーバ14によってQP071_LMB_LFC.L01という受信キューに格納された場合、MQ整合性管理部40はQP071_LMB_LFC.L01の受信キュー名称を備えたレコードをMQ受信カウンタテーブル41中で検索する。そして、当該レコードの約定サーバ用カウンタの値が「5」となっていた場合には、そのつぎの「6」を当該MQデータの受信順番として認定する。
上記のようにしてMQデータの受信順番を取得した後、MQ整合性管理部40は同レコードにおける約定サーバ用カウンタの値を「6」に更新させる(S14)。
つぎにMQ整合性管理部40は、MQ整合性管理テーブル43を参照し(S16)、当該MQデータと同一のMQ通番を備えた他サーバからのMQデータが既に格納済みであるか否かを確認する。
ここで、当該MQデータと同一のMQ通番を備えた他のMQデータが存在しない場合、約定サーバ26からのMQデータが最先であり、新規レコードの追加が必要であるとMQ整合性管理部40は判定する(S18)。
この場合、MQ整合性管理部40はMQ待合せ情報テーブル42を参照し(S20)、当該業務(MQ通番によって特定される)に必要なMQデータの種類の組合せを認識すると共に、MQ整合性管理テーブル43に図4に示したデータ項目を備えた新規レコードを追加する(S21)。
この際、MQ整合性管理部40は、「受信キュー名称」、「基準日(当日の日付)」、「口座番号」、「MQ通番」、「作成日時」に必要な値を記述する。
また、MQ整合性管理部40は、MQ待合せ情報テーブル42の登録情報に基づき、「注文サーバからのMQ受信待ち数」、「約定サーバからのMQ受信待ち数」、「預り管理サーバからのMQ受信待ち数」「顧客勘定サーバからのMQ受信待ち数」にそれぞれ「1」を設定すると共に、「建玉管理サーバからのMQ受信待ち数」に「0」を設定する。
さらに、MQ整合性管理部40は「約定サーバからのMQ受信順番」に「6」を設定する(S22)。
これに対し、当該MQデータと同一のMQ通番を備えたMQデータが既にMQ整合性管理テーブル43に存在していた場合、新規レコードの追加は不要であるとMQ整合性管理部40は判定し(S18)、既存のレコードにおける「約定サーバからのMQ受信順番」に「6」を設定する(S22)。
上記整合性管理テーブル43の該当レコードにおいて「MQ受信待ち数=1」が設定された各サーバの「MQ受信順番」項目の全てに受信順番の値が充填された時点で、MQ整合性管理部40は待合せが完了したものと認定し(S24)、次の口座内処理順番の整合性判定ステップに移行する。
すなわち、MQ整合性管理部40はMQ整合性管理テーブル43を参照し(S26)、各源流サーバの受信順番よりも前の受信順番を備えた全てのMQデータについて待合せが完了しており、今回のMQ受信順番よりも小さい受信順番を備えたMQデータについて待機中のレコードが存在しないことを確認する(S28)。
そして、より小さい受信順番のMQデータを含む待機中のレコードが存在している場合には、当該MQデータについて待合せが完了し、「トリガ放出フラグ」の項目に「1」の値が設定されるまで待機する。
例えば、「国内株式入出庫」の業務処理を実行する場合には、上記の通り預り管理サーバ28からのMQデータさえ到着すれば待ち状態が完了し、他のサーバからのMQデータを待つ必要はないのであるが、この場合であっても同一の口座番号に係る預り管理サーバ28からのより小さい受信順番を備えたMQデータが他のサーバからのMQデータを待っている場合(具体的には「トリガ放出フラグ」にフラグが立っていない場合)には、当該待機状態が解消するまで後続の登録処理がストップされることとなる。
このように、同一口座に関して後から受信したMQデータに係る処理が前のMQデータに係る処理を追い越さないように制御することにより、同一口座内におけるデータの整合性が担保される。
前のMQデータの待機状態が解消した場合、MQ整合性管理部40は業務処理開始トリガをトリガテーブル44に記述する(S30)と共に、MQ整合性管理テーブル43の「トリガ放出フラグ」に「1」の値をセットし、待機状態が終了したことを記録する(S32)。
また、各サーバからのMQデータのキー情報をMQ物理情報テーブル45に格納すると共に(S34)、業務データをMQ論理情報テーブル46に格納する(S36)。
これに対し、データ更新処理部47は定期的にトリガテーブル44をチェックしており(S38)、新しい業務処理開始トリガが格納されたことを検知した場合には(S40)、MQ物理情報テーブル45を参照し、更新すべき業務データを特定すると共に(S42)、MQ論理情報テーブル46から目的の業務データを取得し(S44)、対応のデータベースに対する更新処理を実行する(S46)。
例えば、注文サーバ24からのMQデータであれば注文明細データベース50に対する更新処理が実行され、約定サーバ26からのMQデータであれば約定明細データベース51に対する更新処理が実行される。
しかして、顧客がインターネット20経由でWebサーバ18にアクセスし、自己の口座に関する取引状況の閲覧をリクエストすると、データ抽出処理部49が基準情報データベース群48の各データベースから必要な情報を抽出し、Webサーバ18経由で情報閲覧用のWebファイルがクライアントPC22に送信される。
この結果、顧客はクライアントPC22のWebブラウザ上で自己の口座に係る取引の状況(取引残高、保有株式等)を確認することができる。
上記のように、各源流サーバから非同期で送信されたMQデータは、MQ整合性管理部40において予め設定された関連業務単位で同期が取られた上でデータ更新処理部47に渡されるため、基準情報データベース群48に含まれる各データベースは相互に矛盾が生じるおそれがなく、したがって顧客に対しても取引の実態を正確に反映させたWebファイルを配信することが可能となる。
この発明に係るMQデータ同期システムの全体構成を示す概念図である。 MQ待合せ情報テーブルの具体的構成を示すレイアウト図である。 MQデータの構造を示す模式図である。 MQ整合性管理テーブルのデータ項目を示すレイアウト図である。 MQ受信カウンタテーブルのデータ項目を示すレイアウト図である。 このMQデータ同期システムにおける処理手順を示すフローチャートである。 このMQデータ同期システムにおける処理手順を示すフローチャートである。
符号の説明
10 MQデータ同期システム
12 源流サーバ群
14 メッセージバスサーバ
16 フロントコンプライアンスサーバ
18 Webサーバ
20 インターネット
22 クライアントPC
24 注文サーバ
26 約定サーバ
28 預り管理サーバ
30 顧客勘定サーバ
32 建玉管理サーバ
40 MQ整合性管理部
41 MQ受信カウンタテーブル
42 MQ待合せ情報テーブル
43 MQ整合性管理テーブル
44 トリガテーブル
45 MQ物理情報テーブル
46 MQ論理情報テーブル
47 データ更新処理部
48 基準情報データベース群
49 データ抽出処理部
50 注文明細データベース
51 約定明細データベース
52 預り明細データベース
53 金銭預りデータベース
54 建玉明細データベース

Claims (6)

  1. 複数の源流サーバから送信されるMQデータを関連業務単位で待機させ、必要なMQデータが揃った時点でそれぞれのデータベースに対し同時に更新処理を実行するMQデータ同期システムであって、
    上記MQデータは、少なくとも各源流サーバを特定するための振分分類コードと、関連業務を特定するための識別コードと、業務データとを含んでおり、
    関連業務毎に必要なMQデータの種類の組合せを定義しておくMQ待合せ情報テーブルを格納する記憶手段と、
    受信したMQデータの種類を関連業務単位で順次記録するためのMQ整合性管理テーブルを格納する記憶手段と、
    上記MQ整合性管理テーブルの記録と、MQ待合せ情報テーブルの定義情報とを比較し、特定の業務について必要なMQデータが揃った時点で各MQデータを所定の記憶手段に格納する手段と、
    上記記憶手段から各MQデータの業務データを抽出する手段と、
    各業務データを対応のデータベースに登録する手段と、
    を備えたことを特徴とするMQデータ同期システム。
  2. 複数の源流サーバから送信されるMQデータを関連業務単位で待機させ、必要なMQデータが揃った時点でそれぞれのデータベースに対し同時に更新処理を実行するMQデータ同期システムであって、
    上記MQデータは、少なくとも各源流サーバを特定するための振分分類コードと、業務対象を特定するための識別コードと、関連業務を特定するための識別コードと、業務データとを含んでおり、
    関連業務毎に必要なMQデータの種類の組合せを定義しておくMQ待合せ情報テーブルを格納する記憶手段と、
    各業務対象単位でMQデータの源流サーバ毎の受信順番を記録するためのカウンタテーブルを格納する記憶手段と、
    受信したMQデータの種類、それぞれの受信順番、及び待機中か否かの状態を業務対象及び関連業務単位で順次記録するためのMQ整合性管理テーブルを格納する記憶手段と、
    上記カウンタテーブルを参照し、受信したMQデータの業務対象別、源流サーバ別の受信順番を取得する手段と、
    上記MQ整合性管理テーブルの記録と、MQ待合せ情報テーブルの定義情報とを比較し、特定の業務について必要なMQデータが揃ったか否かを確認する手段と、
    必要なMQデータが揃った場合に、上記MQ整合性管理テーブルを参照し、各MQデータよりも先の受信順番を付されたMQデータで待機中のものが存在するか否かを確認する手段と、
    特定の業務について必要なMQデータが揃い、かつ各MQデータよりも先の受信順番を付されたMQデータで待機中のものがないことを確認した時点で、各MQデータを所定の記憶手段に格納する手段と、
    上記記憶手段から各MQデータの業務データを抽出する手段と、
    各業務データを対応のデータベースに登録する手段と、
    を備えたことを特徴とするMQデータ同期システム。
  3. 複数の源流サーバから送信されるMQデータを関連業務単位で待機させ、必要なMQデータが揃った時点でそれぞれのデータベースに対し同時に更新処理を実行するMQデータ同期システムであって、
    上記MQデータは、少なくとも各源流サーバを特定するための振分分類コードと、顧客の口座番号と、関連業務を特定するための識別コードと、業務データとを含んでおり、
    関連業務毎に必要なMQデータの種類の組合せを定義しておくMQ待合せ情報テーブルを格納する記憶手段と、
    各口座単位でMQデータの源流サーバ毎の受信順番を記録するためのカウンタテーブルを格納する記憶手段と、
    受信したMQデータの種類、それぞれの受信順番、及び待機中か否かの状態を口座番号及び関連業務単位で順次記録するためのMQ整合性管理テーブルを格納する記憶手段と、
    上記カウンタテーブルを参照し、受信したMQデータの口座別、源流サーバ別の受信順番を取得する手段と、
    上記MQ整合性管理テーブルの記録と、MQ待合せ情報テーブルの定義情報とを比較し、特定の業務について必要なMQデータが揃ったか否かを確認する手段と、
    必要なMQデータが揃った場合に、上記MQ整合性管理テーブルを参照し、各MQデータよりも先の受信順番を付されたMQデータで待機中のものが存在するか否かを確認する手段と、
    特定の業務について必要なMQデータが揃い、かつ各MQデータよりも先の受信順番を付されたMQデータで待機中のものがないことを確認した時点で、各MQデータを所定の記憶手段に格納する手段と、
    上記記憶手段から各MQデータの業務データを抽出する手段と、
    各業務データを対応のデータベースに登録する手段と、
    を備えたことを特徴とするMQデータ同期システム。
  4. 複数の源流サーバから送信される、少なくとも各源流サーバを特定するための振分分類コード、関連業務を特定するための識別コード、及び業務データを含んだMQデータを関連業務単位で待機させ、必要なMQデータが揃った時点でそれぞれのデータベースに対し同時に更新処理を実行するMQデータ同期システムを実現するためのプログラムであって、
    コンピュータを、
    関連業務毎に必要なMQデータの種類の組合せを定義しておくMQ待合せ情報テーブルを格納する記憶手段、
    受信したMQデータの種類を関連業務単位で順次記録するためのMQ整合性管理テーブルを格納する記憶手段、
    上記MQ整合性管理テーブルの記録と、MQ待合せ情報テーブルの定義情報とを比較し、特定の業務について必要なMQデータが揃った時点で各MQデータを所定の記憶手段に格納する手段、
    上記記憶手段から各MQデータの業務データを抽出する手段、
    各業務データを対応のデータベースに登録する手段、
    として機能させることを特徴とするMQデータ同期プログラム。
  5. 複数の源流サーバから送信される、少なくとも各源流サーバを特定するための振分分類コード、業務対象を特定するための識別コード、関連業務を特定するための識別コード、及び業務データを含んだMQデータを関連業務単位で待機させ、必要なMQデータが揃った時点でそれぞれのデータベースに対し同時に更新処理を実行するMQデータ同期システムを実現するためのプログラムであって、
    コンピュータを、
    関連業務毎に必要なMQデータの種類の組合せを定義しておくMQ待合せ情報テーブルを格納する記憶手段、
    各業務対象単位でMQデータの源流サーバ毎の受信順番を記録するためのカウンタテーブルを格納する記憶手段、
    受信したMQデータの種類、それぞれの受信順番、及び待機中か否かの状態を業務対象及び関連業務単位で順次記録するためのMQ整合性管理テーブルを格納する記憶手段、
    上記カウンタテーブルを参照し、受信したMQデータの業務対象別、源流サーバ別の受信順番を取得する手段、
    上記MQ整合性管理テーブルの記録と、MQ待合せ情報テーブルの定義情報とを比較し、特定の業務について必要なMQデータが揃ったか否かを確認する手段、
    必要なMQデータが揃った場合に、上記MQ整合性管理テーブルを参照し、各MQデータよりも先の受信順番を付されたMQデータで待機中のものが存在するか否かを確認する手段、
    特定の業務について必要なMQデータが揃い、かつ各MQデータよりも先の受信順番を付されたMQデータで待機中のものがないことを確認した時点で、各MQデータを所定の記憶手段に格納する手段、
    上記記憶手段から各MQデータの業務データを抽出する手段、
    各業務データを対応のデータベースに登録する手段、
    として機能させることを特徴とするMQデータ同期プログラム。
  6. 複数の源流サーバから送信される、少なくとも各源流サーバを特定するための振分分類コード、顧客の口座番号、関連業務を特定するための識別コード、及び業務データを含んだMQデータを関連業務単位で待機させ、必要なMQデータが揃った時点でそれぞれのデータベースに対し同時に更新処理を実行するMQデータ同期システムを実現するためのプログラムであって、
    コンピュータを、
    関連業務毎に必要なMQデータの種類の組合せを定義しておくMQ待合せ情報テーブルを格納する記憶手段、
    各口座単位でMQデータの源流サーバ毎の受信順番を記録するためのカウンタテーブルを格納する記憶手段、
    受信したMQデータの種類、それぞれの受信順番、及び待機中か否かの状態を口座番号及び関連業務単位で順次記録するためのMQ整合性管理テーブルを格納する記憶手段、
    上記カウンタテーブルを参照し、受信したMQデータの口座別、源流サーバ別の受信順番を取得する手段、
    上記MQ整合性管理テーブルの記録と、MQ待合せ情報テーブルの定義情報とを比較し、特定の業務について必要なMQデータが揃ったか否かを確認する手段、
    必要なMQデータが揃った場合に、上記MQ整合性管理テーブルを参照し、各MQデータよりも先の受信順番を付されたMQデータで待機中のものが存在するか否かを確認する手段、
    特定の業務について必要なMQデータが揃い、かつ各MQデータよりも先の受信順番を付されたMQデータで待機中のものがないことを確認した時点で、各MQデータを所定の記憶手段に格納する手段、
    上記記憶手段から各MQデータの業務データを抽出する手段、
    各業務データを対応のデータベースに登録する手段、
    として機能させることを特徴とするMQデータ同期プログラム。
JP2004098582A 2004-03-30 2004-03-30 Mqデータ同期システム及びmqデータ同期プログラム Expired - Fee Related JP4406310B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004098582A JP4406310B2 (ja) 2004-03-30 2004-03-30 Mqデータ同期システム及びmqデータ同期プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004098582A JP4406310B2 (ja) 2004-03-30 2004-03-30 Mqデータ同期システム及びmqデータ同期プログラム

Publications (2)

Publication Number Publication Date
JP2005284781A true JP2005284781A (ja) 2005-10-13
JP4406310B2 JP4406310B2 (ja) 2010-01-27

Family

ID=35183081

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004098582A Expired - Fee Related JP4406310B2 (ja) 2004-03-30 2004-03-30 Mqデータ同期システム及びmqデータ同期プログラム

Country Status (1)

Country Link
JP (1) JP4406310B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009613A (ja) * 2006-01-26 2009-01-15 Hitachi Ltd 取引システム
JP2010086137A (ja) * 2008-09-30 2010-04-15 Fujitsu Ltd メッセージキューイング方法及びプログラム
CN109271417A (zh) * 2018-11-23 2019-01-25 福建榕基软件股份有限公司 一种基于数据库的轻量级消息队列实现方法及存储设备
CN109739929A (zh) * 2018-12-18 2019-05-10 中国人民财产保险股份有限公司 数据同步方法、装置及系统
CN111581244A (zh) * 2020-05-14 2020-08-25 厦门中控智慧信息技术有限公司 一种异构系统业务交易数据有序同步方法、系统及设备
CN112000741A (zh) * 2020-08-25 2020-11-27 中国南方电网有限责任公司 内外网数据交换系统、方法、装置、计算机设备和介质
CN113934797A (zh) * 2021-12-17 2022-01-14 江苏苏宁银行股份有限公司 一种银行业超大数据同步方法和系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104426900B (zh) * 2013-09-11 2019-12-06 腾讯科技(深圳)有限公司 一种多媒体数据采集方法和系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009613A (ja) * 2006-01-26 2009-01-15 Hitachi Ltd 取引システム
JP2010086137A (ja) * 2008-09-30 2010-04-15 Fujitsu Ltd メッセージキューイング方法及びプログラム
CN109271417A (zh) * 2018-11-23 2019-01-25 福建榕基软件股份有限公司 一种基于数据库的轻量级消息队列实现方法及存储设备
CN109739929A (zh) * 2018-12-18 2019-05-10 中国人民财产保险股份有限公司 数据同步方法、装置及系统
CN109739929B (zh) * 2018-12-18 2021-03-16 中国人民财产保险股份有限公司 数据同步方法、装置及系统
CN111581244A (zh) * 2020-05-14 2020-08-25 厦门中控智慧信息技术有限公司 一种异构系统业务交易数据有序同步方法、系统及设备
CN111581244B (zh) * 2020-05-14 2023-04-25 厦门熵基科技有限公司 一种异构系统业务交易数据有序同步方法、系统及设备
CN112000741A (zh) * 2020-08-25 2020-11-27 中国南方电网有限责任公司 内外网数据交换系统、方法、装置、计算机设备和介质
CN112000741B (zh) * 2020-08-25 2024-05-03 中国南方电网有限责任公司 内外网数据交换系统、方法、装置、计算机设备和介质
CN113934797A (zh) * 2021-12-17 2022-01-14 江苏苏宁银行股份有限公司 一种银行业超大数据同步方法和系统

Also Published As

Publication number Publication date
JP4406310B2 (ja) 2010-01-27

Similar Documents

Publication Publication Date Title
EP2555129B1 (en) Method and system to maintain strong consistency of distributed replicated contents in a client/server system
US7702724B1 (en) Web services message broker architecture
EP1326184B1 (en) Conflict resolution for collaborative work system
EP1442398B1 (en) System and method for flushing bean cache
US5872969A (en) System and method for efficiently synchronizing cache and persistent data in an object oriented transaction processing system
KR100943110B1 (ko) 거래 시스템
CN102831156A (zh) 一种云计算平台上的分布式事务处理方法
CN101155116A (zh) 对通常读出事务进行工作负载管理的设备和方法
US20010042072A1 (en) Enhanced tw0 phase commit protocol
EP1821218A2 (en) Method for enhancing the operation of a database
EP3008879A1 (en) Failover system and method
JP4406310B2 (ja) Mqデータ同期システム及びmqデータ同期プログラム
US8019729B2 (en) System and method for updating file
JP5477376B2 (ja) 情報管理装置および情報管理プログラム
JP5018729B2 (ja) 取引システム
CN113434311B (zh) 业务数据交互方法、装置、设备及存储介质
JP6549245B2 (ja) データ管理システム
US20150106422A1 (en) System and method for server selection using competitive evaluation
JP4268141B2 (ja) データベース複製プログラムおよびデータベース複製装置
CN110933184A (zh) 一种资源发布平台和资源发布方法
WO2016157358A1 (ja) データ処理システム
TWI461944B (zh) 電子資料同步方法及電子資料同步處理系統
JP5748711B2 (ja) データベースドライバおよびプログラム
US20230214793A1 (en) Information processing system and intermediary device
US11086842B1 (en) Highly scalable and consistent pluggable messaging system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090811

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091006

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: 20091027

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: 20091106

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121113

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121113

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131113

Year of fee payment: 4

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