JP7298145B2 - 証券取引装置、証券取引方法及び証券取引プログラム - Google Patents

証券取引装置、証券取引方法及び証券取引プログラム Download PDF

Info

Publication number
JP7298145B2
JP7298145B2 JP2018227564A JP2018227564A JP7298145B2 JP 7298145 B2 JP7298145 B2 JP 7298145B2 JP 2018227564 A JP2018227564 A JP 2018227564A JP 2018227564 A JP2018227564 A JP 2018227564A JP 7298145 B2 JP7298145 B2 JP 7298145B2
Authority
JP
Japan
Prior art keywords
transaction
data
waiting
processing
transactions
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.)
Active
Application number
JP2018227564A
Other languages
English (en)
Other versions
JP2020091603A (ja
Inventor
武尊 城戸
真二 山開
環 田中
厚人 廣瀬
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018227564A priority Critical patent/JP7298145B2/ja
Priority to US16/690,292 priority patent/US11532045B2/en
Publication of JP2020091603A publication Critical patent/JP2020091603A/ja
Application granted granted Critical
Publication of JP7298145B2 publication Critical patent/JP7298145B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1865Transactional file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Technology Law (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Computational Linguistics (AREA)
  • Computer Security & Cryptography (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

本発明は、証券取引装置、証券取引方法及び証券取引プログラムに関する。
金融商品等を扱う証券取引システムでは、クライアントとなる業務アプリケーション群が、買い注文や売り注文等の膨大な数のトランザクションを実行し、データベースを管理するサーバへ、トランザクション処理を依頼する。
また、このような証券取引システムでは、高可用性を担保するために、正常時にトランザクション処理を行う現行サーバと複数の待機サーバとが設けられることが知られており、トランザクション処理には、データ操作と、現行サーバと待機サーバとでデータを同期させるコミット処理とが含まれる。
特開第2667818号公報 特開2014-106580号公報 国際公開第2018/056267号公報
上述した証券取引システムにおいて、特定の金融商品への注文が集中した場合、サーバでは、特定のテーブルに対するトランザクション処理の依頼が集中する。サーバでは、順番にトランザクション処理が行われ、実行中のトランザクション処理が完了するまで、他のトランザクション処理は実行待ち状態になるため、実行待ち状態のトランザクション処理の数が多いほど、処理時間が長くなる。
1つの側面では、本発明は、証券取引処理を高速化することを目的としている。
一つの態様では、トランザクションデータを格納する処理待ちリストから取得した待機取引トランザクションのトランザクションデータの注文種別が、銘柄注文表に対する単一レコードの挿入処理となる買い注文又は売り注文である場合に、該待機取引トランザクションを抽出する抽出部と、抽出された前記待機取引トランザクションの件数が所定数未満の場合、且つ、抽出された前記待機取引トランザクションのデータサイズが所定数未満の場合に、トランザクション処理を実行する実行取引トランザクションと、抽出された前記待機取引トランザクションとを関連付けて、一つの取引トランザクションを生成する生成部と、を有する証券取引装置である。
上記各部は、上記各部を実現する処理、各部を実現する手順としても良く、各処理をコンピュータに実行させるプログラムを記憶したコンピュータ読み取り可能な記憶媒体とすることもできる。
証券取引処理を高速化できる。
第一の実施形態の証券取引システムのシステム構成の一例を示す図である。 証券取引装置のハードウェア構成の一例を示す図である。 第一の実施形態の証券取引システムの各装置が有する機能を説明する図である。 実行取引トランザクションと待機取引トランザクションとの連結について説明する図である。 定義ファイルの一例を示す図である。 第一の実施形態の証券取引装置の動作を説明する第一のフローチャートである。 第一の実施形態の証券取引装置の動作を説明する第二のフローチャートである。 第一の実施形態の証券取引装置の動作を説明する第三のフローチャートである。 待機取引トランザクションの一括処理を説明する第一の図である。 待機取引トランザクションの一括処理を説明する第二の図である。 待機取引トランザクションの一括処理を説明する第三の図である。 通信データの生成処理を説明する図である。 第二の実施形態のデータベースシステムのシステム構成の一例を示す図である。 第二の実施形態のサーバ装置の機能を説明する図である。 第二の実施形態のサーバ装置の動作を説明する第一のフローチャートである。 第二の実施形態のサーバ装置の動作を説明する第二のフローチャートである。 第二の実施形態のサーバ装置の動作を説明する第三のフローチャートである。 待機トランザクションの一括処理を説明する第一の図である。 待機トランザクションの一括処理を説明する第二の図である。 待機トランザクションの一括処理を説明する第三の図である。 実行トランザクションによる通信データの生成処理を説明する図である。
(第一の実施形態)
以下に図面を参照して、第一の実施形態について説明する。図1は、第一の実施形態の証券取引システムのシステム構成の一例を示す図である。
本実施形態の証券取引システム100は、証券取引装置200-1、200-2、200-3と、情報処理装置300-1、300-2・・・、300-nとを有し、各装置は、ネットワークを介して接続される。
証券取引装置200-1、200-2、200-3は、例えば、情報処理装置300-1、300-2・・・、300-nで実行されたトランザクションのトランザクション処理を行うサーバであり、現行サーバと待機サーバとを含む。現行サーバとは、正常時にトランザクション処理を行うサーバであり、待機サーバとは、現行サーバに異常が発生した場合に、現行サーバとなる予備サーバである。
以下の説明では、例えば、証券取引装置200-1を現行サーバとし、証券取引装置200-2、200-3を待機サーバとして説明する。尚、証券取引装置200-1、200-2、200-3のそれぞれは、証券取引処理部210-1、210-2、210-3を有し、それぞれは同様の機能を有する。
以下の説明では、証券取引装置200-1、200-2、200-3を区別しない場合には、証券取引装置200と呼び、証券取引処理部210-1、210-2、210-3を区別しない場合には、証券取引処理部210と呼ぶ。
情報処理装置300-1、300-2・・・、300-nは、例えば、金融商品の売買の取次ぎや引受け等を行う証券会社等で用いられる。情報処理装置300-1、300-2・・・、300-nのそれぞれは、業務処理部310-1、・・・、310-nを有する。業務処理部310-1、・・・、310-nは、各情報処理装置にインストールされた業務アプリケーションによって実現される。以下の説明では、情報処理装置300-1、300-2・・・、300-nを区別しない場合には、情報処理装置300と呼び、業務処理部310-1、・・・、310-nを区別しない場合には、業務処理部310と呼ぶ。
尚、証券取引システム100に含まれる証券取引装置200と情報処理装置300の台数は任意の数であって良い。また、図1では、待機サーバとなる証券取引装置200を2台としているが、待機サーバの台数も任意の数であって良い。
本実施形態の証券取引システム100において、情報処理装置300は、業務処理部310においてトランザクションが実行されると、証券取引装置200(現行サーバ)に対して、トランザクション処理を依頼する。
尚、業務処理部310において実行されるトランザクションとは、例えば、有価証券(株式や債券等)の売買を行うトランザクション、注目数を変更するトランザクション、注文の取り消すトランザクション、注文内容を参照するトランザクションを含む。
以下の説明では、業務処理部310において生成されたトランザクションを取引トランザクションと呼ぶ。また、取引トランザクションに含まれる、売買を行うトランザクションを売り注文トランザクション、買い注文トランザクションと呼び、注文数を変更するトランザクションを変更トランザクションと呼び、注文を取り消すトランザクションを取り消しトランザクションと呼び、注文内容を参照するトランザクションを参照トランザクションと呼ぶ場合がある。また、売り注文トランザクションと買い注文トランザクションとをまとめて注文トランザクションと呼ぶ場合がある。
本実施形態の証券取引装置200は、情報処理装置300からトランザクション処理の依頼を受け付けた取引トランザクションのうち、売り注文トランザクションと買い注文トランザクションとを抽出して、1つの取引トランザクションとする。
現行サーバである証券取引装置200-1において行われるトランザクション処理には、待機サーバである証券取引装置200-2、200-3と通信を行ってデータを待機サーバへコピーし、自機と待機サーバとでデータを同期させるコミット処理が含まれる。また、証券取引装置200-1におけるトランザクション処理にかかる時間は、このコミット処理にかかる時間が大半を占める。
本実施形態では、複数の注文トランザクションを1つにまとめることで、注文トランザクションが削減され、注文トランザクション毎に発生する待機サーバに対するコミット処理が減り、証券取引処理を高速化できる。
以下に、本実施形態の証券取引装置200について説明する。図2は、証券取引装置のハードウェア構成の一例を示す図である。
本実施形態の証券取引装置200は、それぞれバスBで相互に接続されているプロセッサ21、メモリ22、HDD(hard disk drive)23、出力部24、入力部25、ディスクドライブ26、通信インターフェイス27を有する。
入力部25は、例えばキーボードやポインティングデバイス等の入力デバイス31による各種の情報の入力を行う。出力部24は、例えばディスプレイ等の出力デバイス32による各種の情報の出力を行う。通信インターフェイス27は、ネットワークに接続する為に用いられる。
証券取引処理部210を実現させる証券取引プログラムは、証券取引装置200を制御する各種プログラムの少なくとも一部である。証券取引プログラムは例えば記憶媒体28の配布やネットワークからのダウンロード等によって提供される。証券取引プログラムを記録した記憶媒体28は、CD-ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記憶媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記憶媒体を用いることができる。
また、証券取引プログラムは、証券取引プログラムを記録した記憶媒体28がディスクドライブ26にセットされると、記憶媒体28からディスクドライブ26を介してHDD23にインストールされる。ネットワークからダウンロードされた証券取引プログラムは、通信インターフェイス27を介してHDD23にインストールされる。
HDD23は、インストールされた証券取引プログラムを格納すると共に、証券取引装置200が取得した各種の必要なファイル、データ等を格納する。メモリ22は、証券取引装置200の起動時にHDD23から証券取引プログラムを読み出して格納する。そして、プロセッサ21はメモリ22に格納された証券取引プログラムに従って、後述するような各種処理を実現している。
本実施形態のメモリ22は、例えば、揮発性メモリであり、証券取引装置200のインメモリデータベースとなる。
尚、情報処理装置300のハードウェア構成は、プロセッサとメモリとを有する情報処理装置であり、証券取引装置200と同様であるため、説明を省略する。
次に、図3を参照して、本実施形態の証券取引システム100の有する各装置の機能について説明する。図3は、第一の実施形態の証券取引システムの各装置が有する機能を説明する図である。
本実施形態の証券取引装置200は、証券取引処理部210を有する。証券取引処理部210は、通信制御部220、排他制御部230、データ格納部240、一括判定部250、一括処理部260、通信データ生成部270、コミット処理部280、データ管理部290を有する。
通信制御部220は、情報処理装置300との通信を制御する。具体的には、通信制御部220は、情報処理装置300から取引トランザクションのトランザクションデータの受信を、取引トランザクション処理の実行の依頼として受け付ける。
また、通信制御部220は、受信した取引トランザクションのトランザクションデータを、受信した順に、トランザクションに受信順を付与して、データ格納部240のトランザクションデータ管理域241に格納する。
尚、トランザクションとは、分けることのできない一連の情報処理の単位であり、トランザクション処理とは、処理の一貫性を保証するために、関連する一連の処理全体を一個の処理単位として管理する処理を示す。トランザクションデータとは、証券取引システム100を動作させることで蓄積されるデータであり、金融商品の取引の内容を示すデータである。
排他制御部230は、データ格納部240のトランザクションデータ管理域241にトランザクションデータが格納された取引トランザクションのうち、先頭にトランザクションデータが格納された取引トランザクションに、トランザクション処理を実行させる。また、排他制御部230は、その他の取引トランザクションにより、それぞれのトランザクションデータを処理待ちリスト242に格納させる。
尚、以下の説明では、トランザクション処理を実行する取引トランザクションを実行取引トランザクションと呼び、処理待ちリスト242にトランザクションデータを格納した取引トランザクションを待機取引トランザクションと呼ぶ。
また、以下の説明では、ごく短時間に複数の取引トランザクション処理の依頼を受信することを、複数のトランザクションデータを同時に受信する、と表現する場合がある。
データ格納部240は、メモリ22上に設けられたインメモリデータベースでの一例である。データ格納部240には、取引トランザクションのトランザクションデータが格納される。また、データ格納部240は、トランザクションデータ管理域241と、処理待ちリスト242と、を有する。
尚、本実施形態では、データ格納部240は、メモリ22上に設けられたインメモリデータベースの一例としたが、データ格納部240は、HDD23に設けられても良い。
トランザクションデータ管理域241は、通信制御部220が同時に複数の取引トランザクション処理の依頼を受け付けた場合の制御方法を示す情報が格納される。
処理待ちリスト242は、待機取引トランザクションのトランザクションデータが格納される。トランザクションデータ管理域241と処理待ちリスト242の詳細は後述する。
一括判定部250は、実行取引トランザクションに、トランザクションデータ管理域241に格納された複数の取引トランザクションのトランザクションデータを1つの取引トランザクションのトランザクションデータにまとめる処理を行うか否かを判定させる。言い換えれば、一括判定部250は、複数の取引トランザクションを1つの取引トランザクションにまとめるか否かを実行取引トランザクションに判定させる。
以下の説明では、複数の取引トランザクションを1つの取引トランザクションにまとめることを、取引トランザクションを一括する、と表現する場合がある。
具体的には、一括判定部250は、例えば、トランザクションデータ管理域241における待機取引トランザクションのトランザクションデータの有無や、一括する取引トランザクションの件数やデータのサイズ等に応じて、取引トランザクションを一括するか否かを判定する。一括判定部250による判定の際に参照される条件は、例えば、HDD23内の記憶領域に格納された定義ファイルに記述されていても良い。定義ファイルの詳細は後述する。
本実施形態では、一括判定部250の判定の結果に応じて、実行取引トランザクションに、処理待ちリスト242に格納された待機取引トランザクションを連結させることで、複数の取引トランザクションを1つの取引トランザクションとする。
つまり、本実施形態の一括判定部250は、処理待ちリスト242から、一括処理部260により一括される取引トランザクションを抽出する抽出部の一例である。
本実施形態の一括処理部260は、一括判定部250の判定により抽出された待機取引トランザクションを実行取引トランザクションと関連付けて、1つの取引トランザクションとする。つまり、一括処理部260は、一括判定部250の判定により抽出された買い注文トランザクションと売り注文トランザクションとから、1つの取引トランザクションを生成する生成部の一例である。
本実施形態の一括判定部250と一括処理部260は、実行取引トランザクションが、一括判定部250と一括処理部260に呼び出されて実行される。一括処理部260による処理の詳細は後述する。
通信データ生成部270は、実行取引トランザクションに、待機サーバである証券取引装置200-2、200-3との間でトランザクションデータを同期させるための通信データを生成させる。
通信データ生成部270は、ヘッダ設定部271と、データ設定部272とを有する。ヘッダ設定部271は、実行トランザクションに、通信データのヘッダ情報を設定させる。
データ設定部272は、実行トランザクションに、通信データのデータ情報を設定させる。通信データ生成部270の詳細は後述する。
コミット処理部280は、通信データを証券取引装置200-2、200-3と同期させ、証券取引装置200-2、200-3で通信データを確定させるコミット処理を実行する。
コミット処理部280は、具体的には、通信データを待機サーバである証券取引装置200へ送信し、証券取引装置200に通信データをコピーさせ、証券取引装置200から、通信データがコピーされて確定されたことを示す応答を受け付ける処理である。
データ管理部290は、トランザクションデータ管理域241や処理待ちリスト242に格納された情報を削除する。
本実施形態の情報処理装置300は、業務処理部310を有する。業務処理部310は、表示制御部320、関数記述部330、処理制御部340、通信制御部350を有する。
表示制御部320は、業務処理部310によって実現される業務アプリケーションの操作画面等を情報処理装置300に表示させる。
関数記述部330は、操作に応じて処理制御部340によって呼び出される関数の記述を示す。処理制御部340は、操作に応じて、関数記述部330に記述された関数を呼び出して、証券取引装置200に送信するトランザクションデータを生成する。
通信制御部350は、処理制御部340によって生成されたトランザクションデータを証券取引装置200へ送信する。
次に、図4を参照して、本実施形態の実行取引トランザクションと待機取引トランザクションとの連結について説明する。図4は、実行取引トランザクションと待機取引トランザクションとの連結について説明する図である。
図4では、2つのトランザクションデータをごく短時間に受信した場合のトランザクションデータ管理域241の状態を示している。
具体的には、図4では、買い注文トランザクションと売り注文トランザクションが同時に受信されたときのトランザクションデータ管理域241の状態を示している。
ここで、取引トランザクションのトランザクションデータと、トランザクションデータ管理域241に格納されるトランザクション管理情報について説明する。
トランザクションデータは、情報の項目として、項目「注文種別」、「データ」を有する、項目「注文種別」の値は、取引の種別を示す。項目「データ」の値は、取引内容を示す伝文である。具体的には、項目「データ」の値は、有価証券の銘柄番号と銘柄数量を含む。
本実施形態のトランザクションデータ管理域241に格納されるトランザクション管理情報は、トランザクションデータに、トランザクション番号と、一括処理連結情報と、排他待ち連結情報を含む情報である。
言い換えれば、トランザクション管理情報は、情報の項目として、項目「トランザクション番号」、「注文種別」、「データ」、「一括処理連結情報」、「排他待ち連結情報」を有する。
項目「トランザクション番号」の値は、トランザクションデータ管理域241に格納された取引トランザクションを受信した順番を示し、取引トランザクションを特定する情報である。
項目「一括処理連結情報」の値は、対応するトランザクション番号で特定される取引トランザクションに連結される取引トランザクションのトランザクション番号を示す。言い換えれば、項目「一括処理連結情報」の値は、トランザクション番号で特定される取引トランザクションを、実行トランザクションと対応づける情報である。
項目「排他待ち連結情報」の値は、対応するトランザクション番号で特定される取引トランザクションの直後に待機状態とされた取引トランザクションのトランザクション番号を示す。
図4では、買い注文トランザクションのトランザクションデータにトランザクション番号「No.1」が付与され、売り注文トランザクションのトランザクションデータにトランザクション番号「No.2」が付与されている。
したがって、先頭の取引トランザクションである買い注文トランザクションは、実行取引トランザクションとなる。また、売り注文トランザクションは、待機取引トランザクションとなり、トランザクションデータが処理待ちリスト242に格納される。
ここで、2つの取引トランザクションの注文種別が買い注文と売り注文である。また、取引トランザクションの件数とデータサイズの合計が上限値未満であるとする。したがって、一括判定部250は、この2つの取引トランザクションを一括するものと判定する。
この判定を受けて、一括処理部260は、2つの取引トランザクションを一括する。具体的には、一括処理部260は、実行取引トランザクションに、トランザクション番号No.1と対応する一括処理連結情報の値を、一括される待機取引トランザクションのトランザクション番号No.2とする処理を実行させる。
そして、本実施形態では、この処理により、トランザクション番号No.1の買い注文トランザクションと、トランザクション番号No.2の売り注文トランザクションとが連結されて、1つの仮想的な取引トランザクションとなる。
尚、図4の例では、トランザクション番号No.1の実行取引トランザクションと連結される待機トランザクションは、トランザクション番号No.2の売り注文トランザクションのみである。したがって、トランザクション番号No.2の売り注文トランザクションの一括処理連結情報の値は、「なし」となる。
次に、図5を参照して、一括判定部250によって参照される定義ファイルについて説明する。図5は、定義ファイルの一例を示す図である。
定義ファイル50では、実行取引トランザクションが、トランザクションデータ管理域241にトランザクションデータが格納された取引トランザクションを一括するか否かを判定する際の上限値が記述51に示されている。
本実施形態では、このように、各種の判定の際に参照される上限値は、HDD23内に定義ファイルとして記述されていても良い。
次に、図6乃至図8を参照して、本実施形態の証券取引装置200の動作について説明する。図6は、第一の実施形態の証券取引装置の動作を説明する第一のフローチャートである。
本実施形態の証券取引装置200の証券取引処理部210は、証券取引処理部210の通信制御部220により、取引トランザクションのトランザクション処理の依頼を受け付ける(ステップS601)。言い換えれば、通信制御部220は、取引トランザクションのトランザクションデータを受信する。
続いて、通信制御部220は、受信したトランザクションデータをトランザクションデータ管理域241へ、受信した順番を示す番号を付与して、受信順に格納する(ステップS602)。尚、ここでは、トランザクションデータ管理域241において、項目「トランザクション番号」、「注文種別」、「データ」の値が格納される。尚、ステップS602の処理は、実行取引トランザクションと、待機取引トランザクションとのそれぞれが並行して行っても良い。
続いて、排他制御部230は、トランザクション処理が依頼された取引トランザクションに、排他制御を獲得したか否かを判定させる(ステップS603)。言い換えれば、排他制御部230は、トランザクション処理が依頼された取引トランザクションが実行取引トランザクションとなったか否かを判定している。
ステップS603において、排他制御が獲得されない場合、つまり、トランザクション処理が依頼された取引トランザクションが待機取引トランザクションとなった場合、排他制御部230は、待機取引トランザクションのトランザクションデータを処理待ちリスト242に格納させ(ステップS604)、依頼されたトランザクション処理を終了する。
ステップS603において、排他制御が獲得された場合、つまり、トランザクション処理が依頼された取引トランザクションが実行取引トランザクションとなった場合、証券取引処理部210は、実行取引トランザクションに、一括判定部250を呼び出させ、処理待ちリスト242に待機取引トランザクションのトランザクションデータが格納されているか否かを判定させる(ステップS605)。
ステップS605において、該当するトランザクションデータが存在しない場合、証券取引処理部210は、後述するステップS607に進む。
ステップS605において、該当するトランザクションデータが存在する場合、一括処理部260は、実行取引トランザクションに、一括処理部260を呼び出させ、待機取引トランザクションの一括処理を実行させる(ステップS606)。ステップS606の処理の詳細は後述する。
続いて、証券取引処理部210は、通信データ生成部270により、実行取引トランザクションに、通信データの生成処理を実行させる(ステップS607)。ステップS607の詳細は後述する。
続いて、証券取引処理部210は、コミット処理部280により、ステップS607で生成された通信データを、待機サーバとの間で同期させるコミット処理を行う(ステップS608)。
続いて、証券取引処理部210は、データ管理部290により、処理待ちリスト242からステップS606で取得された待機取引トランザクションのトランザクションデータを削除する(ステップS609)。
続いて、証券取引処理部210は、排他制御部230による排他制御を解放する(ステップS610)。
続いて、証券取引処理部210は、データ管理部290により、トランザクションデータ管理域241から、ステップS606で一括された取引トランザクションのトランザクション管理情報を削除し(ステップS611)、実行取引トランザクションのトランザクション処理を終了する。
次に、図7を参照して、実行取引トランザクションによる待機取引トランザクションの一括処理について説明する。図7は、第一の実施形態の証券取引装置の動作を説明する第二のフローチャートである。図7では、図6のステップS606の処理の詳細を示している。また、図7に示す処理は、証券取引装置200が、実行取引トランザクションに、一括処理部260の機能を実行させる処理である。
本実施形態の証券取引処理部210は、実行取引トランザクションに待機取引トランザクションの一括処理を開始させると、実行取引トランザクションは、一括処理件数を0件に設定する(ステップS701)。次に、実行取引トランザクションは、自身のトランザクション管理情報を一時データとして保持する(ステップS702)。
次に、実行取引トランザクションは、処理待ちリスト242に格納された待機取引トランザクションのトランザクションデータを先頭から末尾まで順次取得し、ステップS704以降の処理の繰り返しを開始する(ステップS703)。
実行取引トランザクションは、一括判定部250により、取得した待機取引トランザクションのトランザクションデータの注文種別が、買い注文又は売り注文であるか否かを判定する(ステップS704)。ステップS704において、注文種別が買い注文又は売り注文でない場合、実行取引トランザクションは、待機取引トランザクションの一括処理を終了する。
ステップS704において、注文種別が買い注文又は売り注文である場合、実行取引トランザクションは、一括判定部250により、一括した待機取引トランザクションと実行取引トランザクションとを合わせた件数が上限値未満であるか否かを判定する(ステップS705)。言い換えれば、一括判定部250は、判定に応じて注文した待機取引トランザクションの件数が上限値未満であるか否かを判定する。
ステップS705において、上限値以上であった場合、実行取引トランザクションは、待機取引トランザクションの一括処理を終了する。
ステップS705において、上限値未満であった場合、実行取引トランザクションは、一括判定部250により、一括した待機取引トランザクションのトランザクションデータと実行取引トランザクションのトランザクションデータの合計のデータサイズが上限値未満であるか否かを判定する(ステップS706)。ステップS706において、上限値以上であった場合、実行取引トランザクションは、待機取引トランザクションの一括処理を終了する。
ステップS706において、上限値未満である場合、実行取引トランザクションは、一括処理部260により、一時データとして保持したトランザクション管理情報の一括処理連結情報に、この待機取引トランザクションの情報を設定する(ステップS707)。
具体的には、実行取引トランザクションは、自身のトランザクション管理情報の一括処理連結情報に、この待機取引トランザクションのトランザクション番号を設定する。
続いて、実行取引トランザクションは、この待機取引トランザクションのトランザクション管理情報を一時データに追加して保存し(ステップS708)、一括処理件数をインクリメントさせる(ステップS709)。
つまり、本実施形態の一括処理部260は、一括判定部250による判定に応じて抽出された待機取引トランザクションの件数が所定数未満の場合、且つ、抽出された待機取引トランザクションのデータサイズが所定数未満の場合に、抽出された待機取引トランザクションを実行取引トランザクションと関連付けて1つの取引トランザクションとする。
実行取引トランザクションは、このステップS704からステップS709の処理を、処理待ちリスト242に格納された末尾の待機取引トランザクションのトランザクションデータまで繰り返し(ステップS710)、待機取引トランザクションの一括処理を終了する。
本実施形態では、このように、注文トランザクションのうち、注文種別が買い注文又は売り注文の取引トランザクションのみを一括する対象とする。
以下に、その理由について説明する。
銘柄の買い注文トランザクションや売り注文トランザクションは、その殆どが、銘柄注文表に対する単一レコードの挿入処理である。このために、買い注文トランザクションと売り注文トランザクションをまとめ、1つの仮想的なトランザクションとしてコミット処理を行えば、買い注文トランザクション、売り注文トランザクションのそれぞれについてコミット処理を行う場合と比較して、トランザクション処理を高速に行うことができる。
これに対して、例えば、注文数を変更する変更トランザクションでは、この変更トランザクションの順番を最後尾に移動させ、変更トランザクション以降の取引トランザクションの順番を繰り上げる必要があり、単一レコードの挿入処理とはならない。
また、例えば、注文を取り消す取り消しトランザクションでは、取り消しトランザクション以降の取引トランザクションの順番を繰り上げる必要があり、単一レコードの挿入処理とはならない。
このように、変更トランザクションや取り消しトランザクションは、複数行のレコード
更新が必要になるため、これらのトランザクションを一括しても、トランザクション処理の時間は短縮されない。
本実施形態では、その点に着目し、銘柄注文表に対する単一レコードの挿入処理である買い注文トランザクションと売り注文トランザクションとを一括して仮想的なトランザクションしている。言い換えれば、本実施形態では、単純な買い注文トランザクションと売り注文トランザクションとを注文して一括している。
また、本実施形態では、一括される取引トランザクションの件数やデータサイズに上限値を設けているため、多数の取引トランザクションが一括されたことよってトランザクション処理にかかる時間が長くなることを防止できる。
次に、図8を参照して、実行取引トランザクションによる通信データの生成処理について説明する。図8は、第一の実施形態の証券取引装置の動作を説明する第三のフローチャートである。図8では、図6のステップS607の処理の詳細を示している。また、図8に示す処理は、証券取引装置200が、実行取引トランザクションに、通信データ生成部270の機能を実行させる処理である。
実行取引トランザクションは、通信データの生成を開始すると、通信データ生成部270のヘッダ設定部271により、トランザクションデータ管理域241を参照し、自身のトランザクション番号と、一括処理件数とをヘッダ情報に設定する(ステップS801)。
次に、実行取引トランザクションは、データ設定部272により、実行取引トランザクションのトランザクション管理情報の項目「データ」の値を、通信データのデータ情報に設定する(ステップS802)。
続いて、実行取引トランザクションは、一括されたトランザクション管理情報を一時データとして保持する(ステップS803)。一括されたトランザクション管理情報とは、実行取引トランザクションのトランザクション管理情報と、一括処理連結情報によって実行取引トランザクションと関連付けられた待機取引トランザクションのトランザクション管理情報とを含む。
次に、実行取引トランザクションは、一括されたトランザクション管理情報において、一括処理連結情報の値が「なし」となるまで、ステップS805以下の処理を繰り返す(ステップS804)。
実行取引トランザクションは、データ設定部272により、実行取引トランザクションのトランザクション管理情報の次のトランザクション管理情報の項目「データ」の値を通信データのデータ情報に設定する(ステップS805)。
次に、実行取引トランザクションは、通信データのデータ情報に設定されたトランザクション管理情報の一括処理連結情報が示すトランザクション番号により特定されるトランザクション管理情報を一時データに保存する(ステップS806)。
実行取引トランザクションは、このように、一括されたトランザクション管理情報において、一括処理連結情報の値が「なし」となると、ステップS805とステップS806の処理の繰り返しを終了し、通信データの生成処理を終了する。
以下に、図9乃至図12を参照して、本実施形態の実行取引トランザクションの処理について具体的に説明する。図9は、待機取引トランザクションの一括処理を説明する第一の図である。
図9に示す状態1は、証券取引装置200が受信した取引トランザクションのトランザクションデータがトランザクションデータ管理域241-1に格納されており、トランザクションNo.1の取引トランザクションが実行取引トランザクションされた状態を示している。
この場合、トランザクションデータ管理域241-1では、トランザクションデータがトランザクション管理情報の一部として格納されており、一括処理連結情報には、「なし」が設定されている。
また、状態1では、処理待ちリスト242-1に、待機取引トランザクションとされたトランザクション番号No.2以降の取引トランザクションのトランザクションデータが格納される。
状態1では、トランザクション番号No.1の取引トランザクションは、実行取引トランザクションであり、処理待ちリスト242-1に格納されていない。したがって、状態1において、トランザクション番号No.1の排他待ち連結情報の値は、「なし」となる。また、トランザクション番号No.2の取引トランザクションは、待機取引トランザクションであり、直後に処理待ちになったトランザクションのトランザクション番号が、No.3である。したがって、状態1において、トランザクション番号No.2の排他待ち連結情報の値は、「No.3」となる。
また、トランザクション番号No.5の取引トランザクションは、待機トランザクションであり、トランザクション番号No.5の直後に処理待ちになったトランザクションが存在しない。したがって、状態1において、トランザクション番号No.5の排他待ち連結情報の値は、「なし」となる。
また、処理待ちリスト242-1では、処理待ちリスト242-1における先頭の待機取引トランザクションのトランザクション番号がNo.2であることを示す情報も格納される。
図9に示す状態2は、実行取引トランザクションによる待機取引トランザクションの一括処理が行われた後の状態を示している。
状態2では、トランザクションデータ管理域241-2では、各トランザクション管理情報について、一括処理連結情報の値が設定され、処理待ちリスト242-2では、待機トランザクションのトランザクションデータが削除されている。
トランザクションデータ管理域241-1において、待機取引トランザクションの注文種別が全て買い注文又は売り注文であるため、処理待ちリスト242-1に保持されている待機取引トランザクションは、全て実行取引トランザクションと一括される。
処理待ちリスト242-1の先頭に格納されているトランザクションデータは、トランザクション番号No.2の取引トランザクションである。したがって、実行取引トランザクションは、自身のトランザクション管理情報の項目「一括処理連結情報」の値を、No.2とする。
トランザクションNo.2の次に処理待ちリスト242-1に格納されているトランザクションデータは、トランザクション番号No.3の待機取引トランザクションのトランザクションデータである。したがって、実行取引トランザクションは、トランザクションNo.2のトランザクション管理情報の項目「一括処理連結情報」の値を、「No.3」とする。
また、処理待ちリスト242-1に最後にトランザクションデータが格納された待機取引トランザクションのトランザクション番号は、No.5である。したがって、トランザクション番号No.5のトランザクション管理情報の項目「一括処理連結情報」の値は、「なし」となる。
このようにして、実行取引トランザクションは、トランザクションデータ管理域241-2において、処理待ちリスト242-1に格納された全ての待機取引トランザクションと関連付けられる。
また、処理待ちリスト242-1に格納されたトランザクションデータは、全て実行取引トランザクションと関連付けられたため、処理待ちリスト242-2では削除されている。
本実施形態では、このように実行取引トランザクションと待機取引トランザクションとを一括してまとめることで、トランザクション番号No.1~No.5までのデータが1つのトランザクションのデータ90となる。本実施形態では、このデータ90を1回の通信で待機サーバに送信し、コミット処理を行うことができ、通信の回数を削減することができる。
図10は、待機取引トランザクションの一括処理を説明する第二の図である。図10の例では、受信した取引トランザクションに、注文トランザクション以外の変更トランザクションが含まれる例を示している。
図10の状態1に示すトランザクションデータ管理域241-3では、トランザクション番号No.1~No.5までのトランザクションデータが、トランザクション管理情報の一部として格納されている。また、図10の例では、注文種別から、トランザクション番号No.3の取引トランザクションが、変更トランザクションであることがわかる。
この場合、トランザクション番号No.3の取引トランザクションは、他の注文トランザクションとは一括されない。
図10の状態2に示すトランザクションデータ管理域241-4では、トランザクション番号No.1、No.2の注文トランザクションと、トランザクション番号No.4、No.5の注文トランザクションと、がそれぞれ関連付けられていることがわかる。
図11は、待機取引トランザクションの一括処理を説明する第三の図である。図11の例では、受信した取引トランザクションに、待機取引トランザクションが存在しない場合を示している。
図11の例では、受信した取引トランザクションが1件であり、処理待ちリスト242-3には待機取引トランザクションのトランザクションデータが存在しない。
したがって、図11の例では、受信した取引トランザクションが実行取引トランザクションとなり、トランザクションデータ管理域241-5には、トランザクション番号No.1のトランザクションデータのみが格納され、項目「一括処理連結情報」の値は設定されない。
次に、図12を参照して、実行取引トランザクションによる通信データの生成処理について説明する。図12は、通信データの生成処理を説明する図である。
図12に示すトランザクションデータ管理域241-6では、トランザクション番号No.1の実行取引トランザクションに、トランザクション番号No.2、No.3の待機トランザクションが関連付けられている。
この場合、実行取引トランザクションは、手順1に示すように、自身のトランザクション番号である「No.1」と、一括処理件数である「3」を含む情報を、通信データ120のヘッダ情報121に設定する。
次に、実行取引トランザクションは、手順3に示すように、トランザクション番号No.1のトランザクション管理情報の項目「データ」の値であるDATA1を、通信データ120のヘッダ情報121の後段に設定する。
次に、実行取引トランザクションは、手順3に示すように、トランザクション番号No.1のトランザクション管理情報の項目「一括処理連結情報」の値に設定されたトランザクション番号No.2の項目「データ」の値であるDATA2を、通信データ120のDATA1の後段に設定する。
次に、実行取引トランザクションは、手順4に示すように、トランザクション番号No.2のトランザクション管理情報の項目「一括処理連結情報」の値に設定されたトランザクション番号No.3の項目「データ」の値であるDATA3を、通信データ120のDATA2の後段に設定する。
このように通信データを生成することで、3件分の取引トランザクションのデータを1つのデータ情報122とすることができる。したがって、本実施形態によれば、コミット処理を1回の通信で行うことができ、ネットワーク負荷を軽減することができる。
本実施形態では、以上のように、注文トランザクションをまとめることで、注文トランザクションが削減され、トランザクション毎に発生する呼びサーバに対するコミット処理の回数を減らすことができ、証券取引処理を高速化できる。具体的には、実測で最大40倍程度まで高速化することができた。
(第二の実施形態)
以下に図面を参照して、第二の実施形態について説明する。第二の実施形態は、第一の実施形態を、データベースを管理するサーバに適用した点が相違する。よって、以下の第二の実施形態の説明では、第一の実施形態との相違点について説明し、第一の実施形態と同様の機能構成を有するものには、第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
図13は、第二の実施形態のデータベースシステムのシステム構成の一例を示す図である。
本実施形態のデータベースシステム100Aは、サーバ装置200A-1、200A-2、200A-3と、情報処理装置300A-1、300A-2・・・、300A-nとを有し、各装置は、ネットワークを介して接続される。
サーバ装置200A-1、200A-2、200A-3は、例えば、情報処理装置300A-1、300A-2・・・、300A-nで実行されたトランザクションのトランザクション処理を行うサーバであり、現行サーバと待機サーバとを含む。
以下の説明では、例えば、サーバ装置200A-1を現行サーバとし、サーバ装置200A-2、200A-3を待機サーバとして説明する。尚、サーバ装置200A-1、200A-2、200A-3のそれぞれは、データベース管理部210A-1、210A-2、210A-3を有し、それぞれは同様の機能を有する。
以下の説明では、サーバ装置200A-2、200A-3を区別しない場合には、サーバ装置200Aと呼び、データベース管理部210A-1、210A-2、210A-3を区別しない場合には、データベース管理部210Aと呼ぶ。
情報処理装置300A-1、300A-2・・・、300A-nは、処理依頼部310A-1、・・・、310A-nを有し、自機の操作に応じたトランザクションのトランザクション処理をサーバ装置200Aへ送信する。以下の説明では、情報処理装置300A-1、300A-2・・・、300A-nを区別しない場合には、情報処理装置300Aと呼び、処理依頼部310A-1、・・・、310A-nを区別しない場合には、処理依頼部310Aと呼ぶ。
本実施形態のサーバ装置200Aと情報処理装置300Aのハードウェア構成は、証券取引装置200と同様であるから、説明を省略する。
図14は、第二の実施形態のサーバ装置の機能を説明する図である。本実施形態のサーバ装置200Aは、データベース管理部210Aを有する。データベース管理部210Aは、通信制御部220A、排他制御部230A、データ格納部240A、一括判定部250A、一括処理部260A、通信データ生成部270A、コミット処理部280A、データ管理部290Aを有する。また、情報処理装置300Aは、処理依頼部310Aを有する。
本実施形態の処理依頼部310Aで生成されるトランザクションは、有価証券等の売買に関する取引トランザクションに限定されず、データベースに対する各種のデータ操作を示すトランザクションを含む。
本実施形態のデータベース管理部210Aと、処理依頼部310Aのそれぞれの機能は、取り扱うトランザクションが、取引トランザクション以外のトランザクションを含む点以外は、証券取引処理部210、業務処理部310のそれぞれと同様の機能であるから、説明を省略する。
尚、本実施形態では、例えば、サーバ装置200Aのデータ格納部240Aに対して、一行の単一レコードの挿入処理であるトランザクションや、データのアップデートを示すトランザクション等を含む。
本実施形態では、トランザクションデータは、処理種別と、データとを含み、一行の単一レコードの挿入処理であるトランザクションの処理種別は、INSERT-COMMIT、アップデートを示すトランザクションの処理種別は、UPDATEとなる。
本実施形態では、処理種別がINSERT-COMMITのトランザクションのみを一括して、1つの仮想的なトランザクションとする。以下の説明では、処理種別がINSERT-COMMITのトランザクションをインサートトランザクションと呼ぶ。
尚、以下の説明では、排他制御部230Aによって排他制御が獲得されたトランザクションを実行トランザクションと呼び、その他のトランザクションを待機トランザクションと呼ぶ。
以下に、第二の実施形態のサーバ装置200Aの動作について説明する。図15は、第二の実施形態のサーバ装置の動作を説明する第一のフローチャートである。
図15のステップS1501からステップS1511までの処理は、取引トランザクション以外のトランザクションを含む点を除いて、図6のステップS601からステップS611までの処理と同様であるから、説明を省略する。
次に、図16を参照して、本実施形態の待機トランザクションの一括処理について説明する。図16は、第二の実施形態のサーバ装置の動作を説明する第二のフローチャートである。図16は、図15のステップS1506の処理の詳細を示している。
図16のステップS1601からステップS1603までの処理は、図7のステップS701からステップS703までの処理と同様あるから、説明を省略する。
実行トランザクションは、一括判定部250Aにより、取得した待機トランザクションのトランザクションデータの処理種別がINSERT-COMMITであるか否かを判定する(ステップS1604)。言い換えれば、一括判定部250Aは、待機トランザクションがインサートトランザクションであるか否かを判定している。
ステップS1604において、処理種別がINSERT-COMMITでない場合、つまり、待機トランザクションがインサートトランザクションでない場合、実行トランザクションは、待機トランザクションの一括処理を終了する。
ステップS1604において、処理種別がINSERT-COMMITである場合、つまり、待機トランザクションがインサートトランザクションである場合、実行トランザクションは、ステップS1605以降の処理を実行する。
ステップS1605からステップS1610までの処理は、図6のステップS605からステップS610までの処理と同様であるから、説明を省略する。
次に、図17を参照して、本実施形態の通信データの生成処理について説明する。図17は、第二の実施形態のサーバ装置の動作を説明する第三のフローチャートである。図17は、図15のステップS1507の処理の詳細を示している。
図17のステップS1701からステップS1711までの処理は、取引トランザクション以外のトランザクションを含む点を除いて、図8のステップS801からステップS811までの処理と同様であるから、説明を省略する。
次に、図18乃至図21を参照して、本実施形態の実行トランザクションの処理について具体的に説明する。図18は、待機トランザクションの一括処理を説明する第一の図である。
図18に示す状態1は、サーバ装置200Aが受信したトランザクションのトランザクションデータがトランザクションデータ管理域241A-1に格納されており、トランザクションNo.1のトランザクションが実行トランザクションにされた状態を示している。
また、状態1では、処理待ちリスト24A-1に、待機トランザクションとされたトランザクション番号No.2以降のトランザクションのトランザクションデータが格納される。
図18に示す状態2は、実行トランザクションによる待機トランザクションの一括処理が行われた後の状態を示している。トランザクションデータ管理域241A-2では、各トランザクション管理情報について、一括処理連結情報の値が設定され、処理待ちリスト242A-2では、待機トランザクションのトランザクションデータが削除されている。
トランザクションデータ管理域241A-1において、待機トランザクションの処理種別が全てINSERT-COMMITである。このため、実行取引トランザクションは、自身のトランザクション管理情報の項目「一括処理連結情報」の値を、No.2とする。
トランザクションNo.2の次に処理待ちリスト242-1に格納されているトランザクションデータは、トランザクション番号No.3の待機トランザクションのトランザクションデータである。したがって、実行トランザクションは、トランザクションNo.2のトランザクション管理情報の項目「一括処理連結情報」の値を、「No.3」とする。
このようにして、実行トランザクションは、トランザクションデータ管理域241A-2において、処理待ちリスト242A-1に格納された全ての待機トランザクションと関連付けられる。
また、処理待ちリスト242A-1に格納されたトランザクションデータは、全て実行取引トランザクションと関連付けられたため、処理待ちリスト242A-2では削除されている。
本実施形態では、このように実行取引トランザクションと待機取引トランザクションとを一括してまとめることで、トランザクション番号No.1~No.5までのデータが1つのトランザクションのデータ90Aとなる。本実施形態では、このデータ90Aを1回の通信で待機サーバに送信し、コミット処理を行うことができ、通信の回数を削減することができる。
図19は、待機トランザクションの一括処理を説明する第二の図である。図19の例では、受信したトランザクションに、処理種別がINSERT-COMMIT以外のトランザクションが含まれる例を示している。
図19の状態1に示すトランザクションデータ管理域241A-3では、トランザクション番号No.1~No.6までのトランザクションデータが、トランザクション管理情報の一部として格納されている。また、図19の例では、処理種別から、トランザクション番号No.4のトランザクションが、UPDATEトランザクションであることがわかる。
この場合、トランザクション番号No.4のトランザクションは、処理種別がINSERT-COMMITである他の待機トランザクションとは一括されない。
図19の状態2に示すトランザクションデータ管理域241A-4では、トランザクション番号No.1~No.3のトランザクションと、トランザクション番号No.5、No.6のトランザクションと、がそれぞれ関連付けられていることがわかる。
図20は、待機トランザクションの一括処理を説明する第三の図である。図20の例では、受信したトランザクションに、待機トランザクションが存在しない場合を示している。
図20の例では、受信したトランザクションが1件であり、処理待ちリスト242A-3には待機トランザクションのトランザクションデータが存在しない。
したがって、図20の例では、受信したトランザクションが実行トランザクションとなり、トランザクションデータ管理域241A-5には、トランザクション番号No.1のトランザクションデータのみが格納され、項目「一括処理連結情報」の値は設定されない。
次に、図21を参照して、実行トランザクションによる通信データの生成処理について説明する。図21は、実行トランザクションによる通信データの生成処理を説明する図である。
図21に示すトランザクションデータ管理域241A-6では、トランザクション番号No.1の実行トランザクションに、トランザクション番号No.2、No.3の待機トランザクションが関連付けられている。
この場合、実行トランザクションは、自身のトランザクション番号である「No.1」と、一括処理件数である「3」を含む情報を、通信データ120Aのヘッダ情報121Aに設定する。
そして、実行トランザクションは、ヘッダ情報121Aの後段に、トランザクション番号No.1の項目「データ」の値を設定し、その後段、トランザクション番号No.2の項目「データ」の値を設定し、さらにその後段にトランザクション番号No.3の項目「データ」の値を設定する。
本実施形態では、このように通信データを生成することで、3件分のトランザクションのデータを1つのデータ情報122Aとすることができる。したがって、本実施形態によれば、コミット処理を1回の通信で行うことができ、ネットワーク負荷を軽減することができる。
本実施形態では、以上のように、処理種別がINSERT-COMMITであるトランザクションをまとめることで、トランザクションが削減され、コミット処理の回数を減らすことができ、処理を高速化できる。
開示の技術では、以下に記載する付記のような形態が考えられる。
(付記1)
処理待ちリストに入った取引トランザクションのうち、単純な買い注文トランザクションと売り注文トランザクションを抽出する抽出部と、
抽出された前記買い注文トランザクションと前記売り注文トランザクションとから、一つの取引トランザクションに生成する生成部と、を有する証券取引装置。
(付記2)
前記生成部は、
トランザクション処理が実行される取引トランザクションと、抽出された前記買い注文トランザクションと前記売り注文トランザクションとを関連付けて、前記一つの取引トランザクションとする、付記1記載の証券取引装置。
(付記3)
前記生成部は、
前記実行される取引トランザクションと、前記抽出された前記買い注文トランザクションと前記売り注文トランザクションと、を合計した件数が上限値未満の場合に、前記一つの取引トランザクションに生成する、付記2記載の証券取引装置。
(付記4)
前記生成部は、
前記実行される取引トランザクションと、前記抽出された前記買い注文トランザクションと前記売り注文トランザクションと、を合計したデータのサイズが上限値未満の場合に、前記一つの取引トランザクションに生成する、付記3記載の証券取引装置。
(付記5)
前記実行される取引トランザクションのトランザクションデータに含まれる情報をヘッダ情報とし、
前記実行される取引トランザクションのトランザクションデータに含まれるデータと、前記抽出された前記買い注文トランザクションと前記売り注文トランザクションのそれぞれに含まれるデータとを前記ヘッダ情報と対応付けた通信データを生成する通信データ生成部と、
前記通信データを、他の証券取引装置と同期させるコミット処理部と、を有する付記2乃至4の何れか一項に記載の証券取引装置。
(付記6)
コンピュータによる証券取引方法であって、前記コンピュータが、
処理待ちリストに入った取引トランザクションのうち、単純な買い注文トランザクションと売り注文トランザクションを抽出し、
抽出された前記買い注文トランザクションと前記売り注文トランザクションとから、一つの取引トランザクションに生成する、を有する証券取引方法。
(付記7)
処理待ちリストに入った取引トランザクションのうち、単純な買い注文トランザクションと売り注文トランザクションを抽出する処理と、
抽出された前記買い注文トランザクションと前記売り注文トランザクションとから、一つの取引トランザクションに生成する処理と、をコンピュータに実行させる、証券取引プログラム。
(付記8)
処理待ちリストに入ったトランザクションのうち、一行の単一レコードの挿入処理であるインサートトランザクションを抽出する抽出部と、
抽出された前記インサートトランザクションから、一つのトランザクションに生成する生成部と、を有するサーバ装置。
(付記9)
前記生成部は、
トランザクション処理が実行されるトランザクションと、抽出された前記インサートトランザクションとを関連付けて、前記一つのトランザクションとする、付記8記載のサーバ装置。
(付記10)
前記生成部は、
前記実行されるトランザクションと、前記抽出されたインサートトランザクションと、を合計した件数が上限値未満の場合に、前記一つのトランザクションに生成する、付記9記載のサーバ装置。
(付記11)
前記生成部は、
前記実行されるトランザクションと、前記抽出されたインサートトランザクションと、を合計したデータのサイズが上限値未満の場合に、前記一つのトランザクションに生成する、付記10記載のサーバ装置。
(付記12)
前記実行されるトランザクションのトランザクションデータに含まれる情報をヘッダ情報とし、
前記実行されるトランザクションのトランザクションデータに含まれるデータと、前記抽出されたインサートトランザクションのそれぞれに含まれるデータとを前記ヘッダ情報と対応付けた通信データを生成する通信データ生成部と、
前記通信データを、他のサーバ装置と同期させるコミット処理部と、を有する付記9乃至11の何れか一項に記載のサーバ装置。
(付記13)
コンピュータによるデータベース管理方法であって、前記コンピュータが、
処理待ちリストに入ったトランザクションのうち、一行の単一レコードの挿入処理であるインサートトランザクションを抽出し、
抽出された前記インサートトランザクションから、一つの取引トランザクションに生成する、を有するデータベース管理方法。
(付記14)
処理待ちリストに入ったトランザクションのうち、一行の単一レコードの挿入処理であるインサートトランザクションを抽出する処理と、
抽出された前記インサートトランザクションから、一つの取引トランザクションに生成する処理と、をコンピュータに実行させる、データベース管理プログラム。
100 証券取引システム
100A データベースシステム
200 証券取引装置
200A サーバ装置
210 証券取引処理部
210A データベース管理部
220、220A 通信制御部
230、230A 排他制御部
240、240A データ格納部
241、241A トランザクションデータ管理域
242、242A 処理待ちリスト
250、250A 一括判定部
260、260A 一括処理部
270、270A 通信データ生成部
280、280A コミット処理部
290、290A データ管理部
300、300A 情報処理装置
310 業務処理部
310A 処理依頼部

Claims (6)

  1. トランザクションデータを格納する処理待ちリストから取得した待機取引トランザクションのトランザクションデータの注文種別が、銘柄注文表に対する単一レコードの挿入処理となる買い注文又は売り注文である場合に、該待機取引トランザクションを抽出する抽出部と、
    抽出された前記待機取引トランザクションの件数が所定数未満の場合、且つ、抽出された前記待機取引トランザクションのデータサイズが所定数未満の場合に、トランザクション処理を実行する実行取引トランザクションと、抽出された前記待機取引トランザクションとを関連付けて、一つの取引トランザクションを生成する生成部と、を有する証券取引装置。
  2. 前記生成部は、
    前記実行取引トランザクションと、前記抽出部により抽出された前記待機取引トランザクションと、を合計した件数が上限値未満の場合に、前記一つの取引トランザクションに生成する、請求項記載の証券取引装置。
  3. 前記生成部は、
    前記実行取引トランザクションと、前記抽出部により抽出された前記待機取引トランザクションと、を合計したデータのサイズが上限値未満の場合に、前記一つの取引トランザクションに生成する、請求項記載の証券取引装置。
  4. 前記実行取引トランザクションのトランザクションデータに含まれる情報をヘッダ情報とし、
    前記実行取引トランザクションのトランザクションデータに含まれるデータと、前記抽出部により抽出された前記待機取引トランザクションのそれぞれに含まれるデータとを前記ヘッダ情報と対応付けた通信データを生成する通信データ生成部と、
    前記通信データを、他の証券取引装置と同期させるコミット処理部と、を有する請求項1乃至3の何れか一項に記載の証券取引装置。
  5. コンピュータによる証券取引方法であって、前記コンピュータが、
    トランザクションデータを格納する処理待ちリストから取得した待機取引トランザクションのトランザクションデータの注文種別が、銘柄注文表に対する単一レコードの挿入処理となる買い注文又は売り注文である場合に、該待機取引トランザクションを抽出し、
    抽出された前記待機取引トランザクションの件数が所定数未満の場合、且つ、抽出された前記待機取引トランザクションのデータサイズが所定数未満の場合に、トランザクション処理を実行する実行取引トランザクションと、抽出された前記待機取引トランザクションとを関連付けて、一つの取引トランザクションを生成する、証券取引方法。
  6. トランザクションデータを格納する処理待ちリストから取得した待機取引トランザクションのトランザクションデータの注文種別が、銘柄注文表に対する単一レコードの挿入処理となる買い注文又は売り注文である場合に、該待機取引トランザクションを抽出し、
    抽出された前記待機取引トランザクションの件数が所定数未満の場合、且つ、抽出された前記待機取引トランザクションのデータサイズが所定数未満の場合に、トランザクション処理を実行する実行取引トランザクションと、抽出された前記待機取引トランザクションとを関連付けて、一つの取引トランザクションを生成する処理と、をコンピュータに実行させる、証券取引プログラム。
JP2018227564A 2018-12-04 2018-12-04 証券取引装置、証券取引方法及び証券取引プログラム Active JP7298145B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018227564A JP7298145B2 (ja) 2018-12-04 2018-12-04 証券取引装置、証券取引方法及び証券取引プログラム
US16/690,292 US11532045B2 (en) 2018-12-04 2019-11-21 Securities trading apparatus and securities trading method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018227564A JP7298145B2 (ja) 2018-12-04 2018-12-04 証券取引装置、証券取引方法及び証券取引プログラム

Publications (2)

Publication Number Publication Date
JP2020091603A JP2020091603A (ja) 2020-06-11
JP7298145B2 true JP7298145B2 (ja) 2023-06-27

Family

ID=70849708

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018227564A Active JP7298145B2 (ja) 2018-12-04 2018-12-04 証券取引装置、証券取引方法及び証券取引プログラム

Country Status (2)

Country Link
US (1) US11532045B2 (ja)
JP (1) JP7298145B2 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000122970A (ja) 1998-10-16 2000-04-28 Fujitsu Ltd ロット化されたデータのトランザクション処理を行う処理装置および方法
JP2002324022A (ja) 2001-04-26 2002-11-08 Hitachi Ltd 取引システムにおける負荷分散方法
JP2008135013A (ja) 2006-10-30 2008-06-12 Hitachi Ltd 注文システム
JP2012216024A (ja) 2011-03-31 2012-11-08 Toshiba Corp 証券システムにおける管理端末、プログラム及び方法。
JP2014505951A (ja) 2011-02-21 2014-03-06 ゾモジョ タイ リミテッド 市場アクセスシステムおよび方法
JP2014102589A (ja) 2012-11-16 2014-06-05 Ueda Harlow Co Ltd コンピュータプログラム、注文データ生成プログラム、指標値算出方法及び指標値算出装置
JP2017504106A (ja) 2013-12-13 2017-02-02 アビニシオ テクノロジー エルエルシー データ処理アプリケーションのモードの動的決定

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2667818B2 (ja) 1986-10-09 1997-10-27 株式会社日立製作所 トランザクション処理方法
US8601479B2 (en) * 2009-09-28 2013-12-03 International Business Machines Corporation Systems and methods for multi-leg transaction processing
JP6319784B2 (ja) 2012-11-26 2018-05-09 日本電気株式会社 情報処理装置
WO2018056267A1 (ja) 2016-09-20 2018-03-29 日本電気株式会社 データベース管理装置、データベース管理方法、及びコンピュータ読み取り可能な記録媒体

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000122970A (ja) 1998-10-16 2000-04-28 Fujitsu Ltd ロット化されたデータのトランザクション処理を行う処理装置および方法
JP2002324022A (ja) 2001-04-26 2002-11-08 Hitachi Ltd 取引システムにおける負荷分散方法
JP2008135013A (ja) 2006-10-30 2008-06-12 Hitachi Ltd 注文システム
JP2014505951A (ja) 2011-02-21 2014-03-06 ゾモジョ タイ リミテッド 市場アクセスシステムおよび方法
JP2012216024A (ja) 2011-03-31 2012-11-08 Toshiba Corp 証券システムにおける管理端末、プログラム及び方法。
JP2014102589A (ja) 2012-11-16 2014-06-05 Ueda Harlow Co Ltd コンピュータプログラム、注文データ生成プログラム、指標値算出方法及び指標値算出装置
JP2017504106A (ja) 2013-12-13 2017-02-02 アビニシオ テクノロジー エルエルシー データ処理アプリケーションのモードの動的決定

Also Published As

Publication number Publication date
US11532045B2 (en) 2022-12-20
US20200175592A1 (en) 2020-06-04
JP2020091603A (ja) 2020-06-11

Similar Documents

Publication Publication Date Title
CN107728941B (zh) 一种区块链数据压缩方法及系统
US9571575B2 (en) Granular sync/semi-sync architecture
US9952940B2 (en) Method of operating a shared nothing cluster system
CN110019469B (zh) 分布式数据库数据处理方法、装置、存储介质及电子装置
US10089313B2 (en) Conversion of data integration system files
AU2015331025A1 (en) Emulating manual system of filing using electronic document and electronic file
US11188423B2 (en) Data processing apparatus and method
US10095699B2 (en) Computer-readable recording medium, execution control method, and information processing apparatus
EP3772691A1 (en) Database server device, server system and request processing method
US10467223B1 (en) Mixed-mode method for combining active/active and validation architectures
CN109144785A (zh) 用于备份数据的方法和装置
JP6111186B2 (ja) 分散情報連携システムとそのデータ操作方法及びプログラム
JP2012043160A (ja) データ復元装置、データ復元方法およびデータ復元プログラム
JP7298145B2 (ja) 証券取引装置、証券取引方法及び証券取引プログラム
CN111581227A (zh) 事件推送方法、装置、计算机设备及存储介质
US20220335016A1 (en) Management device, management method, and non-transitory computer-readable recording medium
US20220019465A1 (en) Systems and methods for batch job execution in clustered environments
JP7421443B2 (ja) データ移行方法、データ移行システム、およびノード
JP4268141B2 (ja) データベース複製プログラムおよびデータベース複製装置
JP5718256B2 (ja) システム性能解析装置、システム性能解析方法、およびシステム性能解析プログラム
JP6221305B2 (ja) 情報処理装置
US20230101740A1 (en) Data distribution in data analysis systems
JPWO2018061070A1 (ja) 計算機システム及び分析ソースデータ管理方法
JPH1185528A (ja) 情報処理装置、ソフトウエア配布方法および記録媒体
CN117909052A (zh) 流程的调度系统、方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220905

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230210

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230529

R150 Certificate of patent or registration of utility model

Ref document number: 7298145

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150