JP2002324022A - 取引システムにおける負荷分散方法 - Google Patents

取引システムにおける負荷分散方法

Info

Publication number
JP2002324022A
JP2002324022A JP2001128602A JP2001128602A JP2002324022A JP 2002324022 A JP2002324022 A JP 2002324022A JP 2001128602 A JP2001128602 A JP 2001128602A JP 2001128602 A JP2001128602 A JP 2001128602A JP 2002324022 A JP2002324022 A JP 2002324022A
Authority
JP
Japan
Prior art keywords
data
transaction
order
brand
server
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.)
Pending
Application number
JP2001128602A
Other languages
English (en)
Inventor
Toshiyuki Moritsu
俊之 森津
Yumiko Sugita
由美子 杉田
Haruyuki Someya
治志 染谷
Kunihito Takeuchi
国人 竹内
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2001128602A priority Critical patent/JP2002324022A/ja
Publication of JP2002324022A publication Critical patent/JP2002324022A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Information Transfer Between Computers (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

(57)【要約】 【課題】証券・商品・サービス等の売買を行う取引シス
テムを複数のサーバ上に構築する場合において、あるサ
ーバ上で処理していたある銘柄に関する取引処理を他の
サーバに引継ぐ場合に、引継ぎのために生じるデータの
コピーにより負荷が一時的に上昇するのを緩和すること
と、引継ぎの際の取引の中断時間を削減すること。 【解決手段】引継ぎ際には、データの中から取引処理を
行うのに必要な基本情報のみを移動し、基本情報の移動
が完了した段階で移動先のサーバにおいて処理を再開
し、残りのデータについては参照・更新の必要が生じた
段階で移動するようにする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は取引システムにおけ
る負荷分散方法に関する。
【0002】
【従来の技術】コンピュータのダウンサイジング化に伴
い、オンライントランザクション処理においても大型計
算機で集中的に処理する形態から、複数のサーバで構成
された分散システムで処理する形態に移行しつつある。
上記背景の中、商品・証券・サービスなどの取引の場を
提供する取引システムにおいても分散システム上で構築
することが多くなっている。
【0003】一般に、取引システムを分散システム上で
構築する場合には、取引対象である複数の銘柄をいくつ
かのグループに分割し、分散システムを構成する各々の
サーバに各グループの取引処理を割り当てることで負荷
の分散を図る。この処理形態では、特定のサーバ上で処
理している銘柄に対して注文が集中すると、他のサーバ
の処理能力に余裕があっても、負荷が集中したサーバで
の処理が追いつかず過負荷状態になる場合がある。
【0004】そこで、特開平8−329025や特開平
7−200495に示されているプロセスのマイグレー
ション(移動)機能などを用いて、負荷が集中している
サーバで処理している銘柄のいくつかを他のサーバで処
理するよう移動することで負荷の平滑化を図る方法があ
る。
【0005】
【発明が解決しようとする課題】しかし、通常、取引シ
ステムでは、各サーバで取引処理を行うのに必要な大量
の取引データが記憶してあり、これをどのように移動さ
せるかが問題となる。取引データとは、例えば銘柄のI
Dや現時点での約定金額などの基本情報と、各々の銘柄
に対して送られた注文データの集合であり、取引データ
のデータ量は、未約定(契約が未成立)で約定対象とな
る注文の到着を待つ注文データが増大すると、それに合
わせて増大する。このため、取引データが増大している
銘柄の取引処理を他のサーバに移動しようとすると、過
負荷状態にあるサーバに対してさらにコピーの負荷をか
けることになり状況が逆に悪化しかねない。また、通常
取引処理を移動させるためには一時的に処理を中断する
ことになるので、取引データ量が増えコピーに時間を要
し、その分取引処理を再開するまでのタイムラグが長く
なる。
【0006】なお、近年複数サーバ間でディスクを共有
する共有ディスクの技術があり、この共有ディスクに取
引データを入れておけば取引処理の移動に伴う取引デー
タのコピーは不要となり上記問題は解決するようにも思
える。確かにサーバのCPU性能がボトルネックとなる
場合は解決するが、この場合においても、共有ディスク
に対するアクセスがボトルネックになる場合には、やは
り別のディスクに取引データを移す必要があり同様の問
題が生じる。
【0007】本発明の目的は、分散システム上に構成さ
れた取引システムにおいて、あるサーバ上で処理してい
たある銘柄に関する取引処理を他のサーバに引継ぐ際
に、引継ぎを行う際に発生する取引データのコピーによ
る負荷の一時的な上昇を緩和させ、引継ぎの際に取引が
一時的に中断する中断時間を削減することである。
【0008】
【課題を解決するための手段】本発明では、取引処理を
行うためにある一時点で参照・更新しなければならない
データが限られていることに注目し、取引処理を引継ぐ
際には、取引データの中から処理を行うのに必要な基本
情報のみを移動し、基本情報の移動が完了した段階で移
動先のサーバにおいて処理を再開する。残りの注文デー
タについては参照・更新の必要が生じた段階で移動する
ようにする。これにより、処理の引継ぎの際にコピーす
るデータ量が削減され、コピーによる負荷の一時的な上
昇を緩和でき、中断時間を削減できる。
【0009】
【発明の実施の形態】以下、第1の実施形態について説
明する。第1の実施形態を実施するシステム構成は図1
に示すように、クライアント110、振分サーバ13
0、取引サーバ150、ディスク160より構成する。
さらにクライアント110と振分サーバ130は外部ネ
ットワーク120により接続し、振分サーバ130と取
引サーバ150は内部ネットワーク140により接続
し、取引サーバ150とディスク160はバス170に
より接続する。外部ネットワーク120は、例えばイン
ターネットであり、クライアント110と振分サーバ1
30間においてデータの送受信を仲介する。内部ネット
ワーク140は例えばLAN(ローカルエリアネットワ
ーク)であり、振分サーバ130と取引サーバ150に
おいてデータの送受信を仲介する。バス170は、SC
SI( Small Computer System Interface )等の計算
機とディスクを接続するバスである。クライアント11
0、振分サーバ130、取引サーバ150は、パソコン
やワークステーション等の計算機である。
【0010】クライアント110は注文登録要求処理1
11を記憶する。注文登録要求処理111は、振分サー
バ130を経由して取引サーバ150に後述の注文デー
タ230を送信する処理であり、その詳細は後述する。
振分サーバ130は、注文振分処理131と振分データ
132と振分データ書換え処理133を記憶する。注文
振分処理131は、クライアント110から送信される
注文データ230を振分データ132の内容に従い取引
サーバ150に振分ける処理である。振分データ書換え
処理133は振分データ132の内容を書換える処理で
ある。注文振分処理131、振分データ132、振分デ
ータ書換え処理133の詳細は後述する。
【0011】本実施形態において取引サーバ150は二
台存在するものとする。両者を区別する場合には、それ
ぞれを取引サーバ(サーバA)150および取引サーバ
(サーバB)150と記す。取引サーバ150は、取引
処理151、注文データ転送処理152、銘柄移動処理
153、銘柄移動処理SUB154を記憶する。
【0012】取引処理151は、注文データ230を受
信し、後述の取引データ161に登録あるいは別の注文
データ230と約定させる処理である。約定とは売買契
約が成立することをいう。注文データ転送処理152
は、取引サーバ150間で注文データ230を転送す
る。銘柄移動処理153および銘柄移動処理SUB15
4は、いずれかの取引サーバ150が処理する銘柄に注
文が集中し過負荷になった時に、取引サーバ150が処
理する銘柄の一部を他の取引サーバ150で処理するよ
うにするための処理である。銘柄とは、注文が取引の対
象とする商品(穀物、工業製品)や証券(株権、債権
等)やサービスであるものとする。取引処理151、注
文データ転送処理152、銘柄移動処理153の詳細は
後述する。
【0013】ディスク160は、取引サーバ150に接
続されている。取引サーバ(サーバA)150に接続さ
れたディスク160と取引サーバ(サーバB)150に
接続されたディスク160とを区別するために、特に必
要がある場合には、取引サーバ(サーバA)150に接
続されたディスク160をディスク(サーバA)160
と記し、取引サーバ(サーバB)150に接続されたデ
ィスク160をディスク(サーバB)160と記す。デ
ィスク160には取引データ161を記憶する。取引デ
ータ161とは各々の銘柄に対してなされた注文データ
230を記録するデータである。
【0014】本実施形態において、取引データ161は
銘柄ごとに存在し、また銘柄と記する。また、特にそれ
らを区別する必要がある場合は、取引データ(銘柄A)
161、取引データ(銘柄B)161、取引データ(銘
柄C)161等と記す。さらに、ある銘柄の処理を別の
取引サーバ150に引き継ぎ、それに伴い移動先で同一
銘柄の取引データ161を生成した場合には、移動元の
取引サーバ150の取引データ161と区別するため
に、移動先の取引データ161を取引データ’161と
記す。なお、図1においては、取引サーバ(サーバA)
150に取引データ(銘柄A)161と取引データ(銘
柄B)161の2銘柄が存在し、取引サーバ(サーバ
B)150に取引データ(銘柄C)161が存在する。
また、銘柄Aの処理が、取引データ(銘柄A)161を
取引サーバ(サーバA)150から取引サーバ(サーバ
B)150に移動したものと仮定し、取引サーバ(サー
バA)150に取引データ(銘柄A)161が存在し、
取引サーバ(サーバB)150に取引データ’(銘柄
A)161が存在する。
【0015】次に、図2を用いて取引データ161のデ
ータ構造を述べる。取引データ161は、銘柄ID25
0、約定金額260、記憶エリア210からなる。銘柄
ID250は、取引データ161が取引対象とする銘柄
のIDを記憶する。約定金額260は、銘柄ID250
で示される銘柄の現在の約定金額を記憶する。記憶エリ
ア210は、後述の注文データ230および、後述のリ
ンクデータ240を記憶する記憶領域である。また、記
憶エリア210は注文金額211ごとに分類される。ま
た、各々の注文金額211に分類した記憶エリア210
は売り注文212と買い注文213に分類される。
【0016】ここで、破線270で囲まれた注文金額2
11による分類と売り注文212と買い注文213によ
る分類が同一の記憶エリア210の集合を欄と呼ぶ。ま
た、破線270で囲われた欄と破線275で囲われた欄
のように、注文金額211が同一で売り注文212と買
い注文213の分類が異なる欄の関係を、売買区分が異
なる欄と呼ぶ。また、同じ欄に属する記憶エリア210
は互いに異なる優先順位214を持つものとする。この
優先順位214は同一の欄に属する記憶エリア210に
記憶された注文データ230を約定させる順番を決定す
るのに用いる。約定方法の詳細は後述する。
【0017】次に、図3を用いて注文データ230のデ
ータ構造を述べる。注文データ230は、銘柄ID25
0、発注者ID320、売買区分330、注文金額21
1、数量350から構成する。銘柄ID250は取引デ
ータ161の銘柄ID250と同じであり、注文データ
230が対象とする銘柄のIDを記憶する。発注者ID
320は注文データ230の送信元を特定するためのI
Dである。売買区分330は、注文データ230が売り
注文あるいは買い注文のいずれかを特定するためのデー
タである。注文金額211はいくらで購入/販売を希望
するかを示すデータである。数量350は、どのくらい
購入/販売を希望するのかを示すデータである。
【0018】図4を用いてリンクデータ240のデータ
構造を述べる。リンクデータ240はサーバID410
により構成する。サーバID410は、取引サーバ15
0を特定するためのデータである。サーバID410に
よりリンク先がどの取引サーバ150に存在するかを特
定する。
【0019】図5を用いて振分けデータ132のデータ
構造を述べる。振分データ132は銘柄ID250とサ
ーバID410の組を要素とするテーブルである。銘柄
ID250は、取引データ161の銘柄ID250と同
様に銘柄を特定するためのデータである。サーバID4
10は、リンクデータ240のサーバID410と同様
に取引サーバ150を特定するためのデータである。振
分けデータ132により、どの銘柄に送信された注文デ
ータ230をどの取引サーバ150に転送するかを制御
する。注文データ230の転送方法については後述す
る。
【0020】注文登録要求処理111の処理を述べる。
注文登録要求処理111は外部からの開始要求を受けて
開始する。外部からの開始要求とは例えばオペレータに
よる起動である。注文登録要求処理111では、まず注
文データ230を作成し、作成した注文データ230の
銘柄ID250、発注者ID320、売買区分330、
注文金額211、数量350の入力を外部より受ける。
外部からの入力とは例えばキーボード等でオペレータか
らの入力である。次に、作成した注文データ230を振
分サーバ130に送信する。以上の処理が完了すると注
文登録要求処理111を終了する。
【0021】注文振分処理131の処理を述べる。注文
振分処理131は、クライアント110から振分サーバ
130に注文データ230が到着したことをトリガーと
して開始する。注文振分処理131では、まず最初に、
到着した注文データ230の銘柄ID250の項目を参
照する。次に、振分データ132から、注文データ23
0の銘柄ID250と同一の値を振分けデータ132の
銘柄ID250に持つ要素を検索する。検索した要素の
サーバID410の値を調べる。調べたサーバID41
0が示す取引サーバ150に注文データ230を転送す
る。
【0022】なお、振分データ132は初期値として、
各々の取引サーバ150について、それぞれの取引サー
バ150のサーバID410と、前記取引サーバ150
が処理を担当する銘柄の銘柄ID250が記録されてい
るものとする。初期状態として、取引サーバ150には
担当する銘柄に対応する取引データ161が存在し、前
記取引データ161には約定金額260と記憶エリア2
10が空欄で、銘柄ID250には担当する銘柄に対応
するIDが記憶されているものとする。以上の処理が完
了すると注文振分処理131を終了する。
【0023】取引処理151の処理を図6を用いて述べ
る。取引処理151は、振分サーバ130から取引サー
バ150に注文データ230が到着したことをトリガー
として開始する。本取引処理151による約定アルゴリ
ズムは本発明の概念が分かる程度の単純化したものであ
る(本発明のアルゴリズムは約定金額が注文金額により
大きく変動するので実際には好ましくないアルゴリズム
である)。ステップ610では注文データ230を振分
サーバ130より受信する。以下、本フローの説明で単
に注文データ230と記載した場合には受信した注文デ
ータ230を指す。
【0024】ステップ615では、注文データ230の
銘柄ID250と一致する銘柄ID250を持つ取引デ
ータ161をディスク160から検索する。以下、本処
理フローの説明で単に取引データ161と記した場合は
本処理ステップで検索した取引データ161を指す。注
文データ230の注文金額211と売買区分330から
注文データ230の約定対象となる取引データ161の
欄を決定する。注文データ230の約定対象となる欄と
は、注文データ230が属する欄と売買区分が異なる欄
である。注文データ230が属する欄とは、注文データ
230の注文金額211および売買区分330と同一条
件の欄のことを指す。
【0025】ステップ620では、ステップ615で選
択した欄の中で最も優先順位214が高い記憶エリア2
10を選択する。ステップ655での繰返しにおいてス
テップ620が繰り返される場合には、優先順位214
を一ずつ下げることにより、前記欄の中で優先順位21
4が高い順に記憶エリア210を選択する。ステップ6
25では、ステップ620で選択した記憶エリア210
に注文データ230あるいはリンクデータ240が存在
するかを判別し、存在しない場合には処理をステップ6
60に移す。存在する場合には処理フローを630に移
す。ステップ630では、記憶エリア210に存在する
データがリンクデータ240かを判別し、リンクデータ
240でない場合は処理をステップ640に移し、リン
クデータ240の場合は処理をステップ635に移す。
【0026】ステップ635では、リンクデータ240
のサーバID410を参照し、問合せを行う取引サーバ
150を特定する。特定した取引サーバ150の注文デ
ータ転送処理152に対して、取引データ161の銘柄
ID250とステップ625で選択したリンクデータ2
40の属する欄の注文金額211と売買区分330とを
送信し、リンクデータ240の位置に挿入すべき注文デ
ータ230を要求する。続いて、注文データ転送処理1
52から注文データ230を受け取ると前記注文データ
230をリンクデータ240のあった記憶エリア210
に置き換えて記憶する。
【0027】注文データ転送処理152からの注文デー
タ230の返信が複数以上ある場合には、リンクデータ
240の存在していた記憶エリア210より優先順位2
14が低い記憶エリア210に、受信した順番に注文デ
ータ230を記憶する。例えば注文データ230が3つ
(順に注文データA230,注文データB230、注文
データC230とする)返信を受け、また、リンクデー
タ240が、優先順位214が1番の記憶エリア210
に存在していた場合には、優先順位214が1番の記憶
エリア210には注文データA230を、優先順位21
4が2番の記憶エリア210には注文データB230
を、優先順位214が3番の記憶エリア210には注文
データC230をそれぞれ記憶する。
【0028】記憶しようとする記憶エリア210に既に
注文データ230が存在する場合には、記憶されていた
注文データ230の優先順位を下げて上書きしないよう
にする。例えば先程の例で優先順位214が2番目の記
憶エリア210と3番目の記憶エリア210に注文デー
タ230(それぞれ注文データD230、注文データE
230とする)が存在していた場合は、注文データD2
30を優先順位214が4番の記憶エリア210に、注
文データE230を優先順位214が5番の記憶エリア
210にそれぞれ移す。本実施形態では、リンクデータ
240にアクセスがあると、その欄の全ての注文データ
230を一度に移動する例について述べたが、リンクデ
ータ240にアクセスがあるごとに、優先順位が最も高
い注文データ230を一つずつ転送しても良い。ステッ
プ635が完了すると処理をステップ620に戻す。
【0029】ステップ640は、ステップ630で抽出
したデータが注文データ230の場合である。以降、本
フローの説明では、この抽出した注文データ230をス
テップ610で受信した注文データ230と区別するた
めに注文データ’230と記す。ステップ640では、
注文データ230の数量350と注文データ’230の
数量350の小さい数量を約定させる。実際のシステム
では注文データ230と注文データ’230と約定した
数量を元に清算処理が行われるが、本実施形態の説明で
は特に本質的な問題ではないので割愛する。約定後は、
注文データ230の数量350と注文データ’230の
数量350それぞれから約定した数量を引く。具体的に
は注文データ230の数量350が2000株で注文デ
ータ’230の数量350が1000株の場合は、10
00株が約定し、約定後は注文データ230の数量35
0は1000株となり注文データ’230の数量350
は0株となる。
【0030】ステップ643では、注文データ230の
注文金額211の値を取引データ161の約定金額26
0の値に代入する。ステップ645では注文データ’2
30の数量350が0であるかを判断し、0の場合は処
理をステップ650に移し、そうでない場合は処理をス
テップ655に移す。
【0031】ステップ650では注文データ’230を
記憶エリア210から削除し、注文データ’230が存
在していた記憶エリア210を含む欄において、記憶エ
リア210よりも優先順位214が低い記憶エリア21
0にデータが含まれる場合は、それらのデータをそれぞ
れ優先順位214が1つ上の記憶エリア210に移動す
る。例えば注文データ’230が、優先順位214が2
番目の記憶エリア210に存在していて、優先順位21
4が3番目と4番目の記憶エリア210に注文データ2
30(それぞれ注文データF230、注文データG23
0する)が存在していた場合には、注文データF230
を優先順位214が2番目の記憶エリア210に、注文
データG230を優先順位214が3番目の記憶エリア
210にそれぞれ移動する。
【0032】ステップ655では注文データ230の数
量350が0かを判断し、0の場合は取引処理151を
終了し、そうでない場合は処理をステップ620に移
す。ステップ660において、注文データ230が属す
る欄の中でデータが存在せず、かつ優先順位214が一
番高い記憶エリア210に注文データ230を記憶し、
取引処理151を終了する。
【0033】次に、注文データ転送処理152の処理を
述べる。注文データ転送処理152は、取引処理151
のステップ635からの注文データ230の送信要求あ
るいは本注文データ転送処理152内からの再帰的な注
文データ230の送信要求をトリガーとして起動する。
【0034】注文データ転送処理152は、銘柄ID2
50と注文金額211と売買区分330とを受信する。
受信した銘柄ID250と同一の銘柄ID250を持つ
取引データ161をディスク160から検索する。検索
した取引データ161において、受信した注文金額21
1と売買区分330に該当する欄を選択する。検索した
欄と売買区分が異なる欄を選択する。選択した欄の記憶
エリア210を優先順位214が高い順に調べていき、
注文データ230が記憶してある場合はその注文データ
230を返信する。もし記憶してあるデータがリンクデ
ータ240の場合は、リンクデータ240を参照して注
文データ230を挿入する。この注文データ230の挿
入方法は、取引処理151のステップ635と同様であ
る。以上の注文データ230の送信および注文データ2
30の挿入を、優先順位214が高い順に空欄の記憶エ
リア210を見つけるまで繰り返す。以上の処理が完了
すると注文データ転送処理152を終了する。
【0035】次に、図7を用いて銘柄移動処理153の
処理を述べる。銘柄移動処理153は外部からの開始要
求を受けて開始する。外部からの開始要求とは例えばオ
ペレータによる起動である。ステップ710では、移動
を行う銘柄の銘柄ID250と移動先取引サーバ150
のサーバID410が外部から入力される。外部からの
入力とは例えばキーボード等でオペレータからの入力で
ある。ステップ715では、受信した銘柄ID250と
サーバID410を振分サーバ130の振分テーブル書
換え処理133に送信し、振分テーブル132の書換え
を要求する。
【0036】ステップ720では、ステップ710で入
力されたサーバID410により特定される取引サーバ
150(本処理フローの説明において移動先の取引サー
バ150と呼ぶ)の銘柄移動処理SUB154に対し
て、ステップ710で入力された銘柄ID250で特定
される銘柄の取引データ161(本処理フローの説明で
は取引データ’161と呼ぶ)を、移動先の取引サーバ
150に接続したディスク160に新規作成するように
要求する。さらに、銘柄移動処理SUB154に対し
て、取引データ’161の銘柄ID250および約定金
額260には、銘柄移動処理153を実行している取引
サーバ150(本処理フローの説明において移動元の取
引サーバ150と呼ぶ)に接続されたディスク160に
記憶され、処理ステップ710で入力された銘柄ID2
50で特定される銘柄の取引データ161(本処理フロ
ーの説明において単に取引データ161と呼ぶ)の銘柄
ID250および約定金額260をコピーするように要
求する。
【0037】次に、ステップ740によりなされる処理
ループにより、移動元取引データ161の全ての欄に対
して、ステップ725から740の処理を行う。ステッ
プ725では、ステップ740で実行されるループにお
いて未処理の取引データ161の欄を選択する。以下、
ステップ740に至るまで単に欄と記載した場合は本処
理ステップで選択した欄を指すものとする。ステップ7
30では、欄に属する記憶エリア210のいずれかに注
文データ230あるいはリンクデータ240が存在する
かを判断し、存在する場合は処理をステップ735に移
し、存在しない場合は処理をステップ740に移す。
【0038】ステップ735では、銘柄移動処理SUB
154に対して、欄と同一の注文金額211および売り
注文212/買い注文213の区分を持つ取引データ’
161の欄にリンクデータ240を書き込むように要求
する。ここで書き込むリンクデータ240のサーバID
410には取引サーバ150を特定するサーバID41
0を記録する。ステップ740では、取引データ161
の全ての欄に対して処理が完了したかを判別し、完了し
た場合には銘柄移動処理153を終了し、そうでない場
合は処理をステップ725に移す。
【0039】次に、振分テーブル書換え処理133の処
理を述べる。振分テーブル書換え処理133は銘柄移動
処理153からの書換え要求をトリガーとして起動す
る。振分テーブル書換え処理133は、銘柄ID250
とサーバID410を受信すると、振分データ132の
中で、入力を受けた銘柄ID250と同一の銘柄ID2
50を検索する。検索した銘柄ID250に対応するサ
ーバID410の値を受信したサーバID410に置き
換える。以上の処理が完了すると振替テーブル書換え処
理133を終了する。
【0040】次に、銘柄移動処理SUB154の処理を
述べる。銘柄移動処理SUB154は、銘柄移動処理1
53のステップ720で取引データ161の作成要求を
受けると、銘柄移動処理SUB154を実行する取引サ
ーバ150に接続されたディスク160に新規の取引デ
ータ161を作成する。さらに、銘柄移動処理153か
ら銘柄ID250と約定金額260の登録要求を受ける
と、要求を受けた銘柄ID250と約定金額260の値
を、新規に作成した取引データ161の銘柄ID250
と約定金額260にコピーする。銘柄移動処理SUB1
54は、銘柄移動処理153のステップ735でリンク
データ240の書込み要求を受けると、銘柄移動処理1
53で指定される取引データ161の欄に、銘柄移動処
理153で同じく指定されるリンクデータ240を記録
する。
【0041】図8を用いて、これまで説明した各処理に
より、取引サーバ150間で取引データ161を移動す
る一連の流れを述べる。図8には、取引サーバ(サーバ
A)150およびそれに接続されたディスク(ディスク
A)160と取引サーバ(サーバB)150およびそれ
に接続されたディスク(ディスクB)160が示されて
いる。初期状態としては、ディスク(ディスクA)16
0に銘柄ID250として銘柄Aを持つ取引データ(銘
柄A)161が記憶してあるものとする。
【0042】以下、この取引データ(銘柄A)161を
ディスク(ディスクB)160に移動する流れを説明す
る。まず取引サーバ(サーバA)150で銘柄移動処理
153が実行され、取引サーバ(サーバB)150で銘
柄移動処理SUB154が実行される。銘柄移動処理1
53において、移動する銘柄の銘柄ID250として銘
柄Aが指定され、移動先の取引サーバ150のサーバI
D410としてサーバBが指定されると、銘柄移動処理
SUB154を通じてディスク(ディスクB)160に
取引データ(銘柄A)’161が新規作成される。ここ
で前述の通り”’”がついているのは、移動元の取引デ
ータ161と区別するためである。
【0043】銘柄移動処理153は、銘柄移動処理SU
B154を通じて取引データ(銘柄A)161の銘柄I
D250と約定金額260を取引データ(銘柄A)’1
61の銘柄ID250と約定金額260にコピーする。
次に、銘柄移動処理153は、取引データ(銘柄A)1
61の各欄について、注文データ230あるいはリンク
データ240が格納されている欄を検索し、データが格
納されている欄については、取引データ(銘柄A)’1
61の対応する欄にリンクデータ240を書き込むよう
に要求する。
【0044】図8の例においては、取引データ(銘柄
A)161の破線810の欄、破線820の欄、破線8
30の欄に注文データ230が格納されているので、取
引データ(銘柄A)’161の破線815の欄、破線8
25の欄、破線835の欄にリンクデータ240を書き
込む。リンクデータ240のサーバID410には、取
引サーバ(サーバA)150を特定するIDを記載して
おき、リンク先が取引サーバ(サーバA)150にある
ことがわかるようにする。銘柄移動処理153は、振分
サーバ130の振分データ132の銘柄ID250が銘
柄Aである項目に対するサーバID410を、取引サー
バ(サーバB)150を特定するIDに書換えておき、
新たに届く銘柄Aに関する注文データ230が取引サー
バ(サーバB)150に届くようにする。以上で取引デ
ータ161の移動作業が完了する。
【0045】銘柄Aに関する注文データ230が取引サ
ーバ(サーバB)150に届いた時の取引処理151の
動作を説明する。仮に注文金額211が50円で売買区
分330が売りの注文データ230が届いたとする。こ
の時、取引処理151は、破線825で囲われた記憶エ
リア210に記憶されたリンクデータ240よりも優先
順位214の一つ低い破線840で囲われた記憶エリア
210に新規に到着した注文データ230を格納する。
【0046】仮に注文金額211が50円で売買区分3
30が買いの注文データ230が届いたとする。この場
合、取引処理151では、新規に到着した注文データ2
30の属する破線850を含む欄と約定対象となる記憶
エリア210が調べられ、その結果、破線825で囲ま
れた記憶エリア210からリンクデータ240が検索さ
れる。リンクデータ240を検索すると取引処理151
は、リンクデータ240の内容であるサーバID410
より、リンク先を保存してある取引サーバ(サーバA)
150を特定し、取引サーバ(サーバA)150の注文
データ転送処理152に、リンクデータ240の位置に
展開すべき注文データ230を送信するように要求す
る。注文データ転送処理152は、その返答として破線
820で囲まれた注文データ230を返答する。返答を
受けた取引処理151は、返答を受けた破線820で囲
まれた注文データ230を、破線840で囲われた注文
データ840の前(優先順位214が上位である記憶エ
リア210)に挿入する。リンクデータ240の展開が
終わると通常の約定処理を行う。
【0047】図9を用いて、本発明の効果について従来
技術と比較して説明する。図9は移動元の取引サーバ1
50(サーバA)の負荷の時間的な推移を概念的に現し
たグラフである。横軸1020は時間軸であり右方向に
時間が流れるものとする。縦軸1010は移動元の取引
サーバ(サーバA)150の負荷であり、上方向にいく
ほど負荷が重いものとする。グラフ中の破線1030は
従来の方式を用いた場合の負荷の推移であり、実線10
40は本発明の方式を用いた場合の負荷の推移である。
また時間軸上のTa1022、Tb1024、Tc10
25、Td1026、Te1028はある特定の時刻で
ある。
【0048】まず、時刻Ta1022において取引サー
バ(サーバA)150の処理している銘柄のいくつかに
負荷が集中し始めたとする。時刻Tb1024におい
て、取引サーバ(サーバA)150の処理しているいず
れかの銘柄を他の取引サーバ(サーバB)150に移動
し始めるものとする。時刻Tbまでは、従来方式の負荷
の推移も本発明方式の負荷の推移も同じである。時刻T
bを過ぎると、従来方式は取引データ161に含まれる
全てのデータを移動するので負荷が一時的に上昇し、コ
ピーが完了した時点(時刻Td1026)で負荷が下が
る(破線1030)。
【0049】一方、本発明の方式では時刻Tbを過ぎる
と取引データ161に含まれる一部のデータを移動す
る。このため負荷が上昇するがそのコピー量が少ないた
め上昇幅は従来の方式に比べると低く(実線104
0)、またコピー時間も短い(時刻Tc1025)。そ
の後、取引データ161のその他の注文データ230に
ついては参照する必要が生じた時点で適宜コピーが行わ
れ、全てのデータのコピーが完了した時点(時刻Te1
028)で従来方式の負荷と同水準となる。
【0050】以上まとめると、特定の取引サーバ150
が過負荷状態になり前記取引サーバ150で処理してい
た銘柄の処理を他の取引サーバ150に引き継ぐ際に、
引継ぎ先の取引サーバ150で取引処理151を行うの
に必要となる取引データ161の一部を移動しておき、
その他の取引データ161のデータは必要が生じた時点
で移動することで、銘柄の処理を移動させる際に生じる
負荷による一時的な負荷の上昇を緩和する。また、引継
ぎ先の取引サーバ150で取引処理151を再開するま
での時間も短くなる。
【0051】以下、第2の実施形態について説明する。
第2の実施形態では、取引サーバ150間で銘柄を移動
させた場合に移動終了時刻を設定し、設定した移動終了
時刻を目標に移動処理を完了させる。図10を用いて第
2の実施形態を実施するシステム構成を述べる。第2の
実施形態のシステム構成と第1の実施形態のシステム構
成との相違は以下の通りである。取引サーバ150に、
取引処理151の変わりに取引処理’910を、銘柄移
動処理153の変わりに銘柄移動処理’920を、さら
に新規に定期移動処理930を記憶する。ディスク16
0に新規に移動進行管理データ940を記録する。以
下、第1の実施形態と異なる取引処理’910、銘柄移
動処理’920、定期移動処理930、移動進行管理デ
ータ940を述べる。
【0052】図11を用いて移動進行管理データ940
のデータ構造を述べる。移動進行管理データ940は、
銘柄の処理を他の取引サーバ150に引き継ぐ際に、移
動の進行速度を管理するデータである。移動進行管理デ
ータ940は、銘柄ID250、開始時刻1110、終
了時刻1120、移動完了数1130、全移動数114
0の項目を持つ。銘柄ID250は、どの銘柄の移動の
進行速度を管理するかを特定するためのデータである。
残りの開始時刻1110、終了時刻1120、移動完了
数1130、全移動数1140は、移動の進行具合のバ
ロメータを算出するためのデータである。詳細は後述す
る。
【0053】図12を用いて取引処理’910を述べ
る。取引処理’910は取引処理151に対して、ステ
ップ1210を持つ点において異なる。ステップ121
0では、ステップ635で受信した注文データ230の
数量350を、注文データ230の銘柄ID250と同
一の銘柄ID250を持つ移動進行管理データ940の
移動完了数1130に加える。
【0054】次に、図13を用いて銘柄移動処理’92
0を述べる。銘柄移動処理’920は銘柄移動処理15
3に対して、ステップ1310、ステップ1320、ス
テップ1330、ステップ1340を持つ点において異
なる。ステップ1310において、外部より移動終了時
刻1120を入力する。ステップ1320では、新規の
移動進行管理データ940を作成しディスク160に記
憶する。新規に作成した移動進行管理データ940は初
期値として次の値を持つ。銘柄ID250には、ステッ
プ710で入力された銘柄ID250を記憶する。開始
時刻1110として現在の時刻を記録する。ここで現在
の時刻とは、本処理を実行している時の時刻である。終
了時刻1120には、ステップ1310で入力された終
了時刻1120を記録する。移動完了数1130および
全移動数には0を記録する。
【0055】ステップ1330では、ステップ725で
選択した欄に登録してあるデータの数を、ステップ13
20で作成した移動進行管理データ940の全移動数に
加える。ステップ1340では、ステップ710で指定
されたサーバID410で特定される取引サーバ150
において、定期移動処理930を一定間隔で実行するよ
うにタイマーをセットする。一定間隔での実行は、例え
ばOSの持つプロセスを一定時間ごとに起動する機能に
よって定期移動処理930を実行するプロセスを定期起
動する。
【0056】図14を用いて定期移動処理930を述べ
る。ステップ1405では、移動目標数を算出する。移
動目標処理数の算出は例えば次のような算出式で行う。
移動目標数=(現在の時刻―開始時刻1110)/(終
了時刻1120―開始時刻1110)×全移動数114
0(但し移動目標数が全移動数1140を上回る場合
は、移動目標数=全移動数1140)。開始時刻111
0、終了時刻1120、全移動数1140は、移動進行
管理データ940に記憶してあるそれぞれ対応する項目
の値である。現在の時刻とは、本処理を実行している時
の時刻である。
【0057】ステップ1410では、移動進行管理デー
タ940の移動完了数1130が、移動目標数よりも小
さい場合には処理をステップ1415に移し、そうでな
い場合には処理をステップ1435に移す。ステップ1
415では、移動進行管理データ940の銘柄ID25
0と同一の銘柄ID250を有する取引データ161を
選択する。さらに、取引データ161の欄の中から、ス
テップ1420あるいは1430によりなされるループ
において未選択の欄を選択する。
【0058】この欄の選択は、取引データ161の約定
金額260で示される価格に近い注文金額211の欄を
優先して選択する。例えば約定金額260が50円であ
る場合には、注文金額211が50円で売り注文212
の欄、注文金額211が50円で買い注文213の欄、
注文金額211が51円で売り注文212の欄、注文金
額211が50円で買い注文213の欄、注文金額21
1が49円で売り注文212の欄、注文金額211が5
0円で買い注文213の欄、注文金額211が52円で
売り注文212の欄、注文金額211が50円で買い注
文213の欄、という順番で選択する。なお同一の注文
金額211で売り注文212の欄と買い注文213の欄
の選択順位や、約定金額260との差が等しい注文金額
211の欄(例えば51円の欄と49円の欄)の選択順
位はどちらが先でも良い。
【0059】ステップ1420ではステップ1415で
選択した欄にリンクデータ240が存在するかを判別
し、存在する場合には処理をステップ1425に移し存
在しない場合には処理をステップ1415に移す。ステ
ップ1425において、ステップ1420で存在を確認
したリンクデータ240で示される取引サーバ150に
注文データ230を送信するように要求する。本ステッ
プの処理は、取引処理151のステップ635と同じ処
理を行う。
【0060】ステップ1430では、ステップ1425
で受信した注文データ230の数を移動進行管理データ
940の移動完了数1130に加える。ステップ143
0が終了すると処理をステップ1410に移す。
【0061】ステップ1435では、移動完了数113
0が全移動数1140に達したかを判断し、達した場合
は処理をステップ1440に移し、そうでない場合は定
期移動処理930を終了する。ステップ1440では、
定期移動処理930を定期的に起動するタイマーを停止
する。これは銘柄移動処理’920のステップ1340
により起動されたタイマーを停止する処理であり、例え
ばOSの持つプロセスを一定時間ごとに起動する機能を
停止させる。ステップ740が終了すると定期移動処理
930を終了する。
【0062】以上、第2の実施形態についてまとめる
と、第2の実施形態では定期移動処理930をある間隔
で起動し、移動進行管理データ940の内容に基づいて
注文データ230の移動を行う。これにより終了時刻1
120を目標として、全注文データ230を移動先の取
引サーバ150に移動を完了することができる。
【0063】なお、本発明では、売り注文と買い注文の
値段により約定金額が決まるオークション方式と呼ばれ
るの取引システムを例にあげたが、ディーラが売り値と
買い値を決めて自己勘定で取引を行うマーケットメイキ
ング方式と呼ばれる方法などの他の方式による取引シス
テムにおいても、まず取引を行うのに必要な基本情報だ
けを送信し、残りの注文データについては参照する必要
が生じた時に移動することで本発明を適用できる。
【0064】
【発明の効果】本発明によれば、証券・商品・サービス
等の売買を行う取引システムを複数のサーバ上に構築す
る場合において、あるサーバ上で処理していたある銘柄
に関する取引処理を他のサーバに引継ぐ場合に、引継ぎ
のために生じるデータのコピーにより負荷が一時的に上
昇するのを緩和でき、引継ぎの際の取引の中断時間を削
減できる。
【図面の簡単な説明】
【図1】第1の実施形態のシステム構成を示す。
【図2】取引データの構造を示す。
【図3】注文データの構造を示す。
【図4】リンクデータの構造を示す。
【図5】振分データの構造を示す。
【図6】取引処理のフローチャートを示す。
【図7】銘柄移動処理のフローチャートを示す。
【図8】取引データの移動を説明するための補足図であ
る。
【図9】本発明による効果(負荷の推移)を示した図で
ある。
【図10】第2の実施形態のシステム構成を示す。
【図11】移動進行管理データの構造を示す。
【図12】取引処理’のフローチャートを示す。
【図13】銘柄移動処理’のフローチャートを示す。
【図14】定期移動処理のフローチャートを示す。
【符号の説明】
130・・・振分サーバ、140・・・取引サーバ、150・・
・取引サーバ、161・・・取引データ、230・・・注文デ
ータ、151・・・取引処理、152・・・注文データ転送処
理、153・・・銘柄移動処理
───────────────────────────────────────────────────── フロントページの続き (72)発明者 染谷 治志 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 竹内 国人 神奈川県川崎市幸区鹿島田890番地 株式 会社日立製作所金融システム事業部内 Fターム(参考) 5B045 AA00 GG02

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】商品、証券を含む物品やサービスを受け、
    あるいは実施する権利の取引対象である銘柄を売買する
    取引の際に、前記銘柄のいくつかを銘柄グループとして
    グループ化し、ネットワークで繋がれた複数の計算シス
    テムで前記銘柄グループを分担し、各々の前記計算シス
    テムが分担した前記銘柄グループに含まれる前記銘柄の
    前記取引処理を行う取引システムにおいて、任意の前記
    銘柄である移動銘柄に対する前記取引処理を行う前記計
    算システムを変更する際に、 移動元の前記計算システムである移動元計算システムか
    ら移動先の前記計算システムである移動先計算システム
    に、前記移動銘柄の前記取引処理を実施するのに使用す
    る取引データの一部をコピーあるいは移動し、 前記処理ステップが完了すると、移動先計算システムに
    おいて前記移動銘柄の前記取引処理を再開し、 前記処理ステップが完了すると、前記移動元の計算シス
    テムから移動先の前記計算システムにまだ移動あるいは
    コピーを行っていない前記取引データを移動することを
    特徴とする取引システムにおける負荷分散方法。
  2. 【請求項2】前記銘柄を特定するための銘柄識別情報、
    前記銘柄を購入か売却かを識別する売買区分情報、購入
    あるいは売却を希望する発注者を識別する発注者識別情
    報、前記銘柄を購入あるいは売却する数量を示す数量情
    報と、購入あるいは売却する金額である注文金額情報の
    いずれかを含む注文データを、前記取引データに含むこ
    とを特徴とする請求項1記載の取引システムにおける負
    荷分散方法。
  3. 【請求項3】前記移動元の計算システムから前記移動先
    の計算システムへの移動あるいはコピーを行っていない
    前記注文データに対して、 前記移動先の計算システムにおいて前記注文データに対
    して参照あるいは書込みを行う時点で、前記注文データ
    を前記移動元の計算システムから前記移動先の計算シス
    テムに移動あるいはコピーを行うことを特徴とする請求
    項2記載の取引システムにおける負荷分散方法。
  4. 【請求項4】前記移動元の計算システムから前記移動先
    の計算システムへの移動あるいはコピーを行っていない
    前記注文データに対して、 その時点において前記移動銘柄が取引されている金額で
    ある約定金額との差額が少ない前記注文金額情報を持つ
    注文データを先に移動元の計算システムから移動先の計
    算システムに移動あるいはコピーを行うことを特徴とす
    る請求項2記載の取引システムにおける負荷分散方法。
  5. 【請求項5】前記移動元の計算システムから移動先の前
    記計算システムに移動あるいはコピーを行っていない前
    記取引データを、一定の期間内に移動をさせることを特
    徴とする請求項1記載の取引システムにおける負荷分散
    方法。
  6. 【請求項6】前記注文データの前記銘柄識別情報および
    前記注文金額情報および前記売買区分情報が同一の値を
    持つ前記注文データを同一のグループとし、前記グルー
    プに含まれる前記注文データの少なくとも一部をまとめ
    て移動することを特徴とする請求項3記載の取引システ
    ムにおける負荷分散方法。
JP2001128602A 2001-04-26 2001-04-26 取引システムにおける負荷分散方法 Pending JP2002324022A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001128602A JP2002324022A (ja) 2001-04-26 2001-04-26 取引システムにおける負荷分散方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001128602A JP2002324022A (ja) 2001-04-26 2001-04-26 取引システムにおける負荷分散方法

Publications (1)

Publication Number Publication Date
JP2002324022A true JP2002324022A (ja) 2002-11-08

Family

ID=18977269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001128602A Pending JP2002324022A (ja) 2001-04-26 2001-04-26 取引システムにおける負荷分散方法

Country Status (1)

Country Link
JP (1) JP2002324022A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293852A (ja) * 2005-04-13 2006-10-26 Hitachi Ltd 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2010211274A (ja) * 2009-03-06 2010-09-24 Toshiba Corp 証券取引所シミュレータおよび証券取引所シミュレート方法
JP5382449B2 (ja) * 2007-11-26 2014-01-08 日本電気株式会社 仮想計算機移行システム、仮想計算機移行方法および仮想計算機移行プログラム
WO2015198400A1 (ja) * 2014-06-24 2015-12-30 株式会社 日立製作所 金融商品取引システムおよび金融商品取引制御方法
WO2016157359A1 (ja) * 2015-03-30 2016-10-06 株式会社野村総合研究所 口座データ管理システム
JP2020091603A (ja) * 2018-12-04 2020-06-11 富士通株式会社 証券取引装置、証券取引方法及び証券取引プログラム

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293852A (ja) * 2005-04-13 2006-10-26 Hitachi Ltd 情報処理装置、情報処理装置の制御方法、及びプログラム
JP5382449B2 (ja) * 2007-11-26 2014-01-08 日本電気株式会社 仮想計算機移行システム、仮想計算機移行方法および仮想計算機移行プログラム
JP2010211274A (ja) * 2009-03-06 2010-09-24 Toshiba Corp 証券取引所シミュレータおよび証券取引所シミュレート方法
JPWO2015198400A1 (ja) * 2014-06-24 2017-04-20 株式会社日立製作所 金融商品取引システムおよび金融商品取引制御方法
TWI570649B (zh) * 2014-06-24 2017-02-11 Hitachi Ltd Financial commodity trading system and financial commodity transaction control method
WO2015198400A1 (ja) * 2014-06-24 2015-12-30 株式会社 日立製作所 金融商品取引システムおよび金融商品取引制御方法
US10540717B2 (en) 2014-06-24 2020-01-21 Hitachi, Ltd. Financial products trading system and financial products trading control method
WO2016157359A1 (ja) * 2015-03-30 2016-10-06 株式会社野村総合研究所 口座データ管理システム
JPWO2016157359A1 (ja) * 2015-03-30 2018-01-18 株式会社野村総合研究所 口座データ管理システム
US10726402B2 (en) 2015-03-30 2020-07-28 Nomura Research Institute, Ltd. Account data management system
JP2020091603A (ja) * 2018-12-04 2020-06-11 富士通株式会社 証券取引装置、証券取引方法及び証券取引プログラム
US11532045B2 (en) 2018-12-04 2022-12-20 Fujitsu Limited Securities trading apparatus and securities trading method
JP7298145B2 (ja) 2018-12-04 2023-06-27 富士通株式会社 証券取引装置、証券取引方法及び証券取引プログラム

Similar Documents

Publication Publication Date Title
JP7474002B2 (ja) 金融商品取引管理システム、金融商品取引管理システムにおける金融商品取引管理方法
Ho et al. On dealer markets under competition
US7747481B2 (en) Extreme capacity management in an electronic marketplace environment
US7739160B1 (en) Dynamic, rule-based, tax-decision system
US20150112837A1 (en) Systems and Methods for Retail Networking
US20050182696A1 (en) System and method for automatically controlling inventory
US20090063326A1 (en) Trading System
CN111582533A (zh) 基于区块链数据生成和应用预测模型
CN111861639A (zh) 金融交易撮合匹配方法及系统
US11861570B2 (en) Systems and methods for cryptocurrency asset bundles
US7620575B1 (en) Locally generating price quotes using one or more pricing tools received from a seller
US20050262515A1 (en) Methods, systems, and media to enhance browsing of messages in a message queue
JP2002324022A (ja) 取引システムにおける負荷分散方法
US7591417B1 (en) Tracking inventory of cards having expiration dates
TW202123142A (zh) 交易風險控管系統與交易風險控管方法
CN114926253A (zh) 行情快照的生成方法、装置及电子设备
Gershkov et al. Revenue maximizing mechanisms with strategic customers and unknown demand: Name-your-own-price
KR102309891B1 (ko) 다수의 오픈 마켓 거래를 통합하여 재고 관리가 가능한 인터넷 쇼핑몰 운영 관리 시스템 및 방법
KR20020062526A (ko) 호가 부분공개를 통한 전자 채권경쟁입찰방법 및 그 장치
US20040172338A1 (en) Riskless contingent order matching
KR20010109733A (ko) 축산물의 인터넷 거래 방법
US20040093288A1 (en) Methods and systems for pricing an inventory unit
US20030014339A1 (en) Cash flow management system and method
KR102601521B1 (ko) 셀러 매칭 기반 산지 직송을 위한 농수산물 주문 중개처리 방법, 장치 및 시스템
KR100487276B1 (ko) 온라인 쇼핑몰 중개 방법 및 온라인 쇼핑몰 중개 시스템