JP2023088789A - Information processing device, information processing method, and program - Google Patents
Information processing device, information processing method, and program Download PDFInfo
- Publication number
- JP2023088789A JP2023088789A JP2021203735A JP2021203735A JP2023088789A JP 2023088789 A JP2023088789 A JP 2023088789A JP 2021203735 A JP2021203735 A JP 2021203735A JP 2021203735 A JP2021203735 A JP 2021203735A JP 2023088789 A JP2023088789 A JP 2023088789A
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- withdrawal
- account
- deposit
- remittance request
- 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
Links
- 230000010365 information processing Effects 0.000 title claims description 12
- 238000003672 processing method Methods 0.000 title description 4
- 238000012545 processing Methods 0.000 claims abstract description 85
- 238000012546 transfer Methods 0.000 claims description 8
- 230000007717 exclusion Effects 0.000 abstract 1
- 238000000034 method Methods 0.000 description 38
- 230000008569 process Effects 0.000 description 26
- 230000006870 function Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 230000004044 response Effects 0.000 description 4
- 238000000151 deposition Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Description
本発明は、口座間で送金を行うための技術に関する。 The present invention relates to technology for transferring money between accounts.
金融機関等が、デジタル通貨の研究や実証実験を進めている。 Financial institutions, etc. are proceeding with research and demonstration experiments on digital currency.
口座間の送金処理の高速化に寄与する技術として、例えば特許文献1には更新処理と検索処理を独立且つ並列に行うことのできる仕組みが提案されている。 As a technology that contributes to speeding up the remittance process between accounts, for example, Patent Literature 1 proposes a mechanism capable of performing update processing and search processing independently and in parallel.
銀行の勘定系システム等で多く採用されているリレーショナルデータベースを用いる仕組みでは、各口座の残高を管理するテーブルのレコード数が増えるにつれて、残高の更新対象となる口座を検索するのに時間がかかる。また、1つのテーブルに格納するレコード数を減らすために複数のテーブルに分割し、残高の更新対象となる口座が2つのテーブルに分かれた場合には、上記の更新処理にさらに時間がかかってしまう。 In systems that use relational databases, which are often used in bank accounting systems, etc., as the number of records in the table that manages the balance of each account increases, it takes time to search for the account whose balance is to be updated. Also, if you divide the table into multiple tables to reduce the number of records stored in one table, and the account to be updated the balance is divided into two tables, the above update process will take more time. .
本発明はこのような問題に鑑みてなされたもので、その目的とするところは、口座間の送金処理の高速化を実現することにある。 The present invention has been made in view of such problems, and an object of the present invention is to speed up remittance processing between accounts.
上記課題を解決するため、本発明は、第1の口座から出金して第2の口座に入金する送金要求を取得する取得部と、取得された前記送金要求における出金を実現するための出金トランザクションを実行して、前記第1の口座の残高を含むデータベースを更新する出金処理部と、前記出金処理部による出金処理が行われた後に、前記送金要求における入金を実現するためのトランザクションであって、前記出金トランザクションとは異なる入金トランザクションを実行して、前記第2の口座の残高を含むデータベースを更新する入金処理部とを備えることを特徴とする情報処理装置を提供する。 In order to solve the above problems, the present invention provides an acquisition unit for acquiring a remittance request to withdraw money from a first account and deposit it in a second account, and an acquisition unit for realizing the withdrawal in the acquired remittance request. A withdrawal processing unit that executes a withdrawal transaction and updates a database containing the balance of the first account; and a deposit processing unit that executes a deposit transaction different from the withdrawal transaction and updates a database containing the balance of the second account. do.
先入れ先出し方式でトランザクションの書き込み及び読み出しを行うメッセージキュー保存部を備え、前記取得部は、前記出金トランザクションを前記メッセージキュー保存部に書き込み、前記出金処理部は、前記メッセージキュー保存部に書き込まれた前記出金トランザクションを読み出して実行した後、前記入金トランザクションを前記メッセージキュー保存部に書き込み、前記入金処理部は、前記メッセージキュー保存部に書き込まれた前記入金トランザクションを読み出して実行するようにしてもよい。 a message queue storage for writing and reading transactions on a first-in, first-out basis; wherein the acquisition unit writes the withdrawal transaction to the message queue storage; and the withdrawal processing unit writes to the message queue storage. After reading and executing the withdrawal transaction, the deposit transaction is written in the message queue storage unit, and the deposit processing unit reads and executes the deposit transaction written in the message queue storage unit. good too.
前記出金トランザクション又は前記入金トランザクションに関する情報を含むトランザクション管理データベースを記憶する記憶部を備えるようにしてもよい。 A storage unit may be provided for storing a transaction management database containing information on the withdrawal transaction or the deposit transaction.
前記トランザクション管理データベースは、前記送金要求に割り当てられたトランザクション識別子を含み、前記メッセージキュー保存部には、各々の前記トランザクション識別子が書き込まれており、前記メッセージキュー保存部に書き込まれている前記トランザクション識別子が前記トランザクション管理データベースに含まれていない場合に、前記送金要求に対応する出金トランザクション又は入金トランザクションを再度実行するための処理を行う再実行部を備えるようにしてもよい。 The transaction management database includes transaction identifiers assigned to the remittance requests, the message queue storage unit is written with each transaction identifier, and the transaction identifiers written in the message queue storage unit. is not included in the transaction management database, a re-execution unit may be provided that performs processing for re-executing the withdrawal transaction or the deposit transaction corresponding to the remittance request.
前記第1の口座の残高を含むデータベースは、当該口座に対して実行された出金トランザクションに対応する前記送金要求に割り当てられたトランザクション識別子を含み、前記第2の口座の残高を含むデータベースは、当該口座に対して実行された入金トランザクションに対応する前記送金要求に割り当てられたトランザクション識別子を含み、前記再実行部は、前記メッセージキュー保存部に書き込まれている前記トランザクション識別子が前記トランザクション管理データベースに含まれていない場合であって、当該トランザクション識別子が、前記第1の口座の残高を含むデータベースに含まれていない場合に、前記送金要求に対応する出金トランザクションを再度実行し、前記メッセージキュー保存部に書き込まれている前記トランザクション識別子が前記トランザクション管理データベースに含まれていない場合であって、当該トランザクション識別子が、前記第2の口座の残高を含むデータベースに含まれていない場合に、前記送金要求に対応する入金トランザクションを再度実行するようにしてもよい。 The database containing the balance of the first account includes transaction identifiers assigned to the money transfer requests corresponding to withdrawal transactions performed against the account, and the database containing the balance of the second account includes: including a transaction identifier assigned to the remittance request corresponding to the deposit transaction executed for the account; If not included and the transaction identifier is not included in the database including the balance of the first account, re-execute the withdrawal transaction corresponding to the remittance request and save the message queue. When the transaction identifier written in the account is not included in the transaction management database and the transaction identifier is not included in the database containing the balance of the second account, the remittance request may be re-executed.
また、本発明は、第1の口座から出金して第2の口座に入金する送金要求を取得する取得ステップと、取得された前記送金要求における出金を実現するための出金トランザクションを実行して、前記第1の口座の残高を含むデータベースを更新する出金処理ステップと、前記出金処理ステップによる出金処理が行われた後に、前記送金要求における入金を実現するためのトランザクションであって、前記出金トランザクションとは異なる入金トランザクションを実行して、前記第2の口座の残高を含むデータベースを更新する入金処理ステップとを備えることを特徴とする情報処理方法を提供する。 In addition, the present invention includes an acquisition step of acquiring a remittance request to withdraw money from a first account and deposit money into a second account, and executing a withdrawal transaction for realizing the withdrawal in the acquired remittance request. a payment processing step for updating a database containing the balance of the first account; and executing a deposit transaction different from the withdrawal transaction to update a database containing the balance of the second account.
また、本発明は、コンピュータに、第1の口座から出金して第2の口座に入金する送金要求を取得する取得ステップと、取得された前記送金要求における出金を実現するための出金トランザクションを実行して、前記第1の口座の残高を含むデータベースを更新する出金処理ステップと、前記出金処理ステップによる出金処理が行われた後に、前記送金要求における入金を実現するためのトランザクションであって、前記出金トランザクションとは異なる入金トランザクションを実行して、前記第2の口座の残高を含むデータベースを更新する入金処理ステップとを実行させるためのプログラムを提供する。 Further, the present invention provides a computer with an acquisition step of acquiring a remittance request for withdrawing money from a first account and depositing money into a second account, and a withdrawal for realizing the withdrawal in the acquired remittance request. a withdrawal processing step of executing a transaction to update a database containing the balance of the first account; and a deposit processing step of executing a deposit transaction different from the withdrawal transaction to update a database containing the balance of the second account.
本発明によれば、口座間の送金処理の高速化が可能となる。 According to the present invention, it is possible to speed up the remittance process between accounts.
[構成]
以下、図面を参照しながら本発明の実施形態について詳細に説明する。本実施形態では、金融機関等の発行主体が発行するデジタル通貨に本発明を適用した場合を例示する。図1は、本発明の一実施形態に係るシステムの全体構成を示すブロック図である。このシステムは、ユーザが利用するユーザ端末10と、決済事業者等の仲介機関が利用する複数の仲介機関サーバ装置20と、発行主体が利用する発行主体サーバ装置30とを備える。これらユーザ端末10及び仲介機関サーバ装置20の間、仲介機関サーバ装置20及び発行主体サーバ装置30の間は、それぞれ所定の通信網によって通信可能に接続されている。発行主体サーバ装置30は、本発明に係る情報処理装置として機能する。本実施形態では、発行主体サーバ装置30において、台帳の記録方式として口座型を採用している。
[composition]
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In this embodiment, a case where the present invention is applied to a digital currency issued by an issuer such as a financial institution will be exemplified. FIG. 1 is a block diagram showing the overall configuration of a system according to one embodiment of the present invention. This system includes a
図2は、発行主体サーバ装置30のハードウェア構成を示す図である。発行主体サーバ装置30は、物理的には、プロセッサ3001、メモリ3002、ストレージ3003、通信装置3004、入力装置3005、出力装置3006、及びこれらを接続するバスなどを含むコンピュータとして構成されている。これらの各装置は図示せぬ電池から供給される電力によって動作する。発行主体サーバ装置30のハードウェア構成は、図2に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。また、それぞれ筐体が異なる複数の装置が通信回線で接続されて、発行主体サーバ装置30を構成してもよい。
FIG. 2 is a diagram showing the hardware configuration of the
発行主体サーバ装置30における各機能は、プロセッサ3001、メモリ3002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ3001が演算を行い、通信装置3004による通信を制御したり、メモリ3002及びストレージ3003におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。
Each function of the
プロセッサ3001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ3001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。また、プロセッサ3001は、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよい。
The
プロセッサ3001は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ3003及び通信装置3004の少なくとも一方からメモリ3002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、後述する動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。発行主体サーバ装置30の機能ブロックは、メモリ3002に格納され、プロセッサ3001において動作する制御プログラムによって実現されてもよい。各種の処理は、1つのプロセッサ3001によって実行されてもよいが、2以上のプロセッサ3001により同時又は逐次に実行されてもよい。プロセッサ3001は、1以上のチップによって実装されてもよい。なお、プログラムは、通信回線を介して発行主体サーバ装置30に送信されてもよい。
The
メモリ3002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つによって構成されてもよい。メモリ3002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ3002は、本実施形態に係る方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。 The memory 3002 is a computer-readable recording medium, and is composed of at least one of, for example, ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), and RAM (Random Access Memory). may be The memory 3002 may also be called a register, cache, main memory (main storage device), or the like. The memory 3002 can store executable programs (program code), software modules, etc. to perform the methods of the present invention.
ストレージ3003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)などの少なくとも1つによって構成されてもよい。ストレージ3003は、補助記憶装置と呼ばれてもよい。
The
通信装置3004は、通信網を介してコンピュータ間の通信を行うためのハードウェアであり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
The
入力装置3005は、外部からの入力を受け付ける入力デバイス(例えば、キー、マイクロフォン、スイッチ、ボタン、カメラ、センサ、2次元コードリーダなど)である。出力装置3006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置3005及び出力装置3006は、一体となった構成(例えば、タッチパネル)であってもよい。
The
プロセッサ3001、メモリ3002などの各装置は、情報を通信するためのバスによって接続される。バスは、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。
Each device such as
なお、ユーザ端末10及び仲介機関サーバ装置20は、発行主体サーバ装置30と同等の構成を備えたコンピュータであるため、その詳細な説明は省略する。
Since the
ここで、本実施形態の特徴部分について説明する。まず、図3,4を参照し、従来において、支払人の口座AからX円を出金して口座BにそのX円を入金する送金処理の手順について説明する。従来では、図3に例示するように、まず口座Aの残高がX円以上あることを確認し、口座Aの残高がX円以上あれば口座AからX円を出金し、出金したX円を口座Bに入金する。これら3つの処理手順が1つのトランザクション(以下、送金トランザクションという)として実行される。 Here, the characterizing portion of this embodiment will be described. First, with reference to FIGS. 3 and 4, conventional remittance processing procedures for withdrawing X yen from a payer's account A and depositing the X yen into an account B will be described. Conventionally, as exemplified in FIG. Deposit Yen into Account B. These three processing procedures are executed as one transaction (hereinafter referred to as remittance transaction).
ここでいうトランザクションとは、コンピュータシステムにおいて実行される、不可分な一連の処理の単位のことをいう。従って、図3の例では、送金処理全体が一つのトランザクションとしてまとめて管理されるようになっている。つまり、送金トランザクションに含まれる全ての処理が成功したときにその送金トランザクションが完了したとされる一方、送金トランザクションに含まれるいずれかの処理が失敗した場合には、送金トランザクションが失敗したとされ、残りの処理が取り消されることになる。 The term "transaction" as used herein refers to an indivisible series of processing units executed in a computer system. Therefore, in the example of FIG. 3, the entire remittance process is collectively managed as one transaction. In other words, when all the processes included in the money transfer transaction are successful, the money transfer transaction is considered to be completed. The remaining processing will be canceled.
また、各口座の残高を含むデータベースが有するレコード数を減らすために、複数のデータベースに分割することがある。このような場合であっても、図4に例示するように、口座Aの残高を含むデータベースに対して口座Aの残高がX円以上あることを確認し、口座Aの残高がX円以上あれば口座AからX円を出金し、そして、口座Bの残高を含むデータベースにおいて、出金したX円を口座Bに入金する処理を行う。これら3つの処理手順が1つの送金トランザクションとして実行されるから、この場合も、送金トランザクションに含まれる全ての処理が成功したときにその送金トランザクションが完了したとされる一方、送金トランザクションに含まれるいずれかの処理が失敗した場合には送金トランザクションが失敗したとされる。 Also, in order to reduce the number of records that a database containing the balance of each account has, it may be divided into multiple databases. Even in such a case, as exemplified in FIG. For example, X yen is withdrawn from account A, and in the database containing the balance of account B, the withdrawn X yen is deposited into account B. Since these three processing procedures are executed as one remittance transaction, even in this case, the remittance transaction is considered to be completed when all the processes included in the remittance transaction are successful. If either process fails, the remittance transaction is said to have failed.
上記のように、1つの送金トランザクションにおいて出金及び入金を行う場合には、口座の残高を含むデータベースにおいて、出金元の口座(上記口座A)及び入金先の口座(上記口座B)に対応する各レコードについて排他制御を行うため、これらのレコードをいずれもロックする必要がある。従来においては、各送金トランザクションに応じてこのような排他制御が二つの口座に跨って同時になされるようになっているため、多数の送金トランザクションが短時間に集中した場合には、これらの送金トランザクションを完了するのに要する所要時間が増大することになる。 As described above, when withdrawals and deposits are made in one remittance transaction, the database containing the account balance corresponds to the withdrawal source account (above account A) and the deposit destination account (above account B). Both of these records must be locked in order to perform exclusive control for each record to be processed. Conventionally, such exclusive control is performed simultaneously across two accounts according to each remittance transaction, so if a large number of remittance transactions are concentrated in a short time, will increase the time required to complete the
そこで、本実施形態では、1つの送金トランザクションを、出金トランザクションと入金トランザクションという、2つの異なるトランザクションに分けて実行する。つまり、図5に例示するように、まず、出金トランザクションを実行して、口座Aの残高がX円以上あることを確認し、口座Aの残高がX円以上あれば口座AからX円を出金する処理を行う。そして、次に行うべき入金トランザクションを実行し、出金したX円を口座Bに入金する。このように出金トランザクションと入金トランザクションに分けて実行することで、各送金トランザクションにおける排他制御を同時に二つの口座に跨って行っていた従来方法に比較して、多数の送金トランザクションを完了するのに要する所要時間を短く、つまり、多数の送金処理を高速化することが可能となる。なお、図5では、1つのデータベースが口座A及び口座Bの残高を含んでいる例を図示しているが、データベースの構成はこれに限らず、口座Aの残高を含むデータベースと口座Bの残高を含むデータベースとが異なるデータベースであってもよい。 Therefore, in the present embodiment, one remittance transaction is divided into two different transactions, a withdrawal transaction and a deposit transaction, and executed. In other words, as illustrated in FIG. 5, first, a withdrawal transaction is executed to confirm that the account A has a balance of X yen or more. Process to withdraw money. Then, the next deposit transaction is executed, and the withdrawn X yen is deposited into the account B. By executing the withdrawal transaction and the deposit transaction separately in this way, it is possible to complete a large number of remittance transactions compared to the conventional method in which exclusive control in each remittance transaction was performed across two accounts at the same time. The required time can be shortened, that is, it is possible to speed up a large number of remittance processes. Although FIG. 5 shows an example in which one database contains the balances of accounts A and B, the configuration of the database is not limited to this. It may be a database different from the database containing.
また、本実施形態では、各口座の残高を含むデータベースとして、リレーショナルデータベースよりも書き込み及び読み出し速度が速いNoSQL(Not only SQL)を採用する。NoSQLでは、上述したようなレコードの排他制御が実装されていないため、レコードの排他制御を行う場合に比べると、処理の高速化が可能となる。ただし、レコードの排他制御を行わない場合には、データベースにおけるデータ更新時に、例えば或る出金トランザクションによって出金するのに十分な残高があることが確認された口座からその出金を行う前に、別の出金トランザクションによって出金が実行されてしまい残高不足になるなどの問題が発生する可能性がある。 In addition, in this embodiment, NoSQL (Not only SQL), which has faster writing and reading speeds than relational databases, is used as the database containing the balances of each account. Since NoSQL does not implement exclusive control of records as described above, processing speed can be increased compared to the case of exclusive control of records. However, if exclusive control of records is not performed, when data is updated in the database, for example, before making a withdrawal from an account that has been confirmed to have a sufficient balance for withdrawal by a certain withdrawal transaction , there is a possibility that the withdrawal will be executed by another withdrawal transaction and problems such as insufficient balance may occur.
そこで、本実施形態では、いわゆるメッセージキューイングシステムを用いて、出金元の口座(上記口座A)に対する出金処理、及び、入金先の口座(上記口座B)に対する入金処理という、2つの口座に対するデータ更新処理を行う。具体的には、図5に例示するように、まず、出金トランザクションをメッセージキューイングシステムに書き込み、これを読み出して実行し、次に、入金トランザクションをメッセージキューイングシステムに書き込み、これを読み出して実行する。メッセージキューイングシステムは、先入れ先出し方式でメッセージ(ここではトランザクション)の書き込み及び読み出しを行う仕組みであるから、複数の送金トランザクションに係る各出金トランザクション及び各入金トランザクションが混在した場合であっても、これらのトランザクションをシーケンシャルに行うことが保証される。よって、上述したような問題が発生する可能性は小さくなる。 Therefore, in this embodiment, a so-called message queuing system is used to process two accounts: withdrawal processing for the withdrawal source account (above account A) and deposit processing for the deposit destination account (above account B). Perform data update processing for Specifically, as illustrated in FIG. 5, the withdrawal transaction is first written to the message queuing system, read and executed, and then the deposit transaction is written to the message queuing system and read. Execute. Since the message queuing system writes and reads messages (transactions in this case) on a first-in, first-out basis, even if each withdrawal transaction and each deposit transaction related to multiple remittance transactions are mixed, these transactions are guaranteed to be sequential. Therefore, the possibility of occurrence of the problems described above is reduced.
図6は、発行主体サーバ装置30の機能構成の一例を示す図である。図6に例示した機能は、プロセッサ3001、メモリ3002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ3001が演算を行い、通信装置3004による通信を制御したり、メモリ3002及びストレージ3003におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。
FIG. 6 is a diagram showing an example of the functional configuration of the
図6において、取得部31は、発行主体サーバ装置30の外部から通信網を介して各種の情報を取得する。例えば、取得部31は、仲介機関サーバ装置20から、出金元の口座(本発明における第1の口座)から送金額X円を出金して入金先の口座(本発明における第2の口座)に入金することを要求する送金要求を取得する。この送金要求は、例えばユーザ端末10からの指示に応じて仲介機関サーバ装置20が生成したものであり、少なくとも出金元の口座、入金先の口座及び送金額を指定する情報を含んでいる。
In FIG. 6, an
記憶部32は、台帳データベース(以下、データベースをDBと表記する)321と、トランザクション管理DB322とを記憶する。なお、各DBは、以下に例示する情報群のうちいずれかの情報を含まなくてもよい。
The
台帳DB321は、各ユーザの口座に関する情報を含むデータベースである。台帳DB321は、図7に例示するように、各口座の口座名(#1)、口座残高(#2)、シーケンス番号(#3)、最後のトランザクションID(#4)及びトランザクションIDリスト(#5)を含む。シーケンス番号は、この口座に対して1つのトランザクションを実行するたびにインクリメントされる番号であり、ユーザが指示したトランザクションの順序を表すとともに、過去にこのユーザが指示したトランザクションの総数を意味している。前述した出金処理において、出金トランザクション内のシーケンス番号と台帳DB321のシーケンス番号とが比較され、これらが一致しない場合は処理の順序エラーとなる。
The
台帳DB321において、最後のトランザクションIDは、このレコードに記述されたいずれかのデータが更新された契機となった最後のトランザクションを識別するトランザクションID(トランザクション識別子)である。トランザクションIDリストは、qualifier及びcellからなり、qualifierは上述した最後のトランザクションIDであり、Cellは時間的に1つ前のトランザクションにおける最後のトランザクションIDである。
In the
トランザクションIDリストがこのような構成になっているため、過去に実行されたトランザクションの履歴が分かるようになっている。具体的には、トランザクションIDリストの先頭の要素におけるqualifierが最後のトランザクションID(台帳DBにおける最後のトランザクションIDと同じ値)に相当し、Cellが時間的に1つ前のトランザクションIDに相当し、次の要素におけるqualifierが時間的に1つ前のトランザクションIDに相当し、Cellがさらにその時間的に1つ前(つまり2つ前)のトランザクションIDに相当する。このようなトランザクションIDの連鎖が続き、最後の要素におけるqualifierが最後のトランザクションIDに相当し、Cellが終端記号(0)となる。 Since the transaction ID list has such a structure, it is possible to know the history of transactions executed in the past. Specifically, the qualifier in the top element of the transaction ID list corresponds to the last transaction ID (the same value as the last transaction ID in the ledger DB), the Cell corresponds to the previous transaction ID in terms of time, The qualifier in the next element corresponds to the transaction ID that is temporally one before, and the Cell corresponds to the transaction ID that is temporally one (that is, two) before. This chain of transaction IDs continues, with the qualifier in the last element corresponding to the last transaction ID and the Cell being the terminator (0).
前述した出金処理及び入金処理の過程で、このトランザクションIDリストにおける先頭の要素と台帳DB321の最後のトランザクションIDとが更新されるようになっている。そして、出金処理又は入金処理の過程において、トランザクションIDリストに、処理しようとしているトランザクション(出金トランザクション又は入金トランザクション)のトランザクションIDが含まれる場合には、その処理をスキップすることで、二重出金や二重入金を防止するようになっている。
In the course of the withdrawal process and the deposit process described above, the leading element in this transaction ID list and the last transaction ID in the
トランザクション管理DB322は、各トランザクション(出金トランザクション及び入金トランザクション)に関する情報を含むデータベースである。トランザクション管理DB322は、図8に例示するように、各トランザクションのレコード作成日時(#1)、トランザクションID(#2)、ワークフローID(#3)、ファンクションID(#4)、ステップID(#5)、トランザクションの内容(#6)を含む。ワークフローID、ファンクションID、及びステップIDについては、図9に例示するようにして定義されている。トランザクションの内容は、後述するトランザクションの再実行を行うときに参照される。
The
前述した入金処理が正常に終了した場合、又は、出金処理において何らかのエラー(例えば前述したシーケンス番号の不一致や出金元口座の残高不足)が発生した場合に、このトランザクション管理DB322に対して上記情報が書き込まれる。例えば入金処理が正常に終了した場合には、「レコード作成日時」として入金トランザクションが成功した時点の日時、トランザクションIDとして前述した送金要求の内容をハッシュ化した文字列、ワークフローIDとして「送金」に対応する「WF001」(図9参照)、ファンクションIDとして「入金」に対応する「FN002」(図9参照)、ステップIDとして「終了」に対応する「ST02」(図9参照)、トランザクションの内容として送金要求の内容が書き込まれることになる。また、出金処理において何らかのエラー(例えば前述したシーケンス番号の不一致や出金元口座の残高不足)が発生した場合には、「レコード作成日時」としてエラーが発生した時点の日時、トランザクションIDとして前述した送金要求の内容をハッシュ化した文字列、トランザクションの内容として送金要求の内容が書き込まれ、さらに、ワークフローID、ファンクションID及びステップIDとしてエラー発生時において実行されていた処理に応じた内容(図9参照)が書き込まれる。このように、トランザクション管理DB322には、正常に終了したトランザクションに関する情報と、正常に終了しなかったトランザクションに関する情報とが記録されることになる。
When the aforementioned deposit processing ends normally, or when some sort of error occurs in the withdrawal processing (for example, the above-mentioned sequence number mismatch or lack of balance in the withdrawal source account), the
このようにワークフローID及びファンクションIDの組み合わせにより、1つの送金トランザクションに含まれる出金トランザクション及び入金トランザクションが定義される。例えば出金元の口座AからX円を出金して入金先の口座BにそのX円を入金するという送金トランザクションにおいて、図9に例示したワークフローID「WF001」及びファンクションID「FN001」という組み合わせによって出金トランザクションが定義され、ワークフローID「WF001」及びファンクションID「FN002」という組み合わせによって入金トランザクションが定義される。従って、トランザクション管理DB322は、出金トランザクション又は入金トランザクションに関する情報を含んでいる。
Thus, a withdrawal transaction and a deposit transaction included in one remittance transaction are defined by a combination of the workflow ID and the function ID. For example, in a remittance transaction of withdrawing X yen from withdrawal source account A and depositing X yen into deposit destination account B, the combination of workflow ID “WF001” and function ID “FN001” illustrated in FIG. defines a withdrawal transaction, and a combination of workflow ID "WF001" and function ID "FN002" defines a deposit transaction. Therefore, the
メッセージキュー保存部33は、メッセージキューイングシステムを実現する手段であり、先入れ先出し方式でメッセージ(ここではトランザクション)の書き込み及び読み出しを行う。図10は、メッセージキュー保存部33におけるメッセージに相当するトランザクション(出金トランザクション及び入金トランザクション)のデータ構造を例示する図である。トランザクションは、ワークフローID(#1)、ファンクションID(#2)、メッセージ送信元(#3)、メッセージ生存期間(#4)、トランザクションID(#5)及びメッセージ本体の内容(#6)を含む。このトランザクションにおいて、ワークフローID「WF001」及びファンクションID「FN001」という組み合わせによって出金トランザクションが定義され、ワークフローID「WF001」及びファンクションID「FN002」という組み合わせによって入金トランザクションが定義される。つまり、トランザクションに含まれるワークフローID及びファンクションIDの組み合わせにより、出金トランザクション及び入金トランザクションが識別される。なお、このメッセージキュー保存部33は1つに限らず複数あってもよい。
The message
取得部31は、仲介機関サーバ装置20から新たな送金要求を取得した場合、送金要求の内容(送金要求に含まれる文字列)をハッシュ化し、そのハッシュ化文字列をトランザクションIDとして、メッセージキュー保存部33に書き込む。つまり、トランザクションIDは送金要求と1対1に対応するものである。出金トランザクション及び入金トランザクションにおいて、トランザクションIDは同一のものが用いられる。このように出金トランザクション及び入金トランザクションにおいて同一のトランザクションIDを用いることで、同一の送金要求に対応する出金トランザクションと入金トランザクションが識別できるようになっている。
When obtaining a new remittance request from the intermediation
出金処理部34は、送金要求における出金を実現するための出金トランザクションを実行して、台帳DB321において出金元の口座の残高を更新する。出金処理部34は、メッセージキュー保存部33に書き込まれた出金トランザクションを読み出して実行した後、入金トランザクションを生成してメッセージキュー保存部33に書き込む。
The
入金処理部35は、出金処理部34による出金処理が行われた後に、送金要求における入金を実現するための入金トランザクションをメッセージキュー保存部33から読み出して実行し、台帳DB321において入金先口座の残高を更新する。
After the withdrawal processing is performed by the
出力部36は、発行主体サーバ装置30の外部に各種の情報を出力する。例えば、出力部36は、送金要求に対する処理の実行結果などを出力する。
The
再実行部37は、出金トランザクション又は入金トランザクションを実行中にプロセスが異常終了した場合などに備えて、これらのトランザクションの実行結果において不整合がないかどうかを確認し、不整合があった場合には、送金リカバリトランザクション(図9参照)を実行して、不整合の対象となるトランザクション(送金要求に対応する出金トランザクション及び入金トランザクション)を再度実行するための処理を行う。
The
[動作]
次に、本実施形態の動作について説明する。まず、図11を参照して、発行主体サーバ装置30が送金要求を取得して出金トランザクションをメッセージキュー保存部33に書き込むまでの処理について説明する。図11において、取得部31は、仲介機関サーバ装置20から送金要求を取得する(ステップS11)。
[motion]
Next, the operation of this embodiment will be described. First, with reference to FIG. 11, the processing from the acquisition of the remittance request by the
この送金要求に応じて、取得部31は、出金トランザクションを生成してメッセージキュー保存部33に書き込む(ステップS12)。このとき書き込まれる出金トランザクションは、図10におけるワークフローIDとして「WF001」(送金)が書き込まれ、ファンクションIDとして「FN001」(出金)が書き込まれ、トランザクションIDとして送金要求の内容がハッシュ化された文字列が書き込まれたものである。
In response to this remittance request, the
以上のような処理が、発行主体サーバ装置30によって送金要求が取得されるたびに実行される。これにより、メッセージキュー保存部33には各送金要求に応じた出金トランザクションが順次書き込まれていくことになる。
The processing described above is executed each time a remittance request is obtained by the
次に、図12を参照して、発行主体サーバ装置30がメッセージキュー保存部33から出金トランザクションを読み出してこれを実行し、入金トランザクションをメッセージキュー保存部33に書き込むまでの処理について説明する。図12において、出金処理部34は、先入れ先出し方式に従ってメッセージキュー保存部33から出金トランザクションを読み出す(ステップS21)。
Next, with reference to FIG. 12, the processing from the
出金処理部34は、読み出した出金トランザクションを実行する(ステップS22)。これにより台帳DB321が更新される。このとき、出金処理部34は、出金トランザクション内のシーケンス番号と台帳DB321のシーケンス番号とを比較し、これらが一致しない場合は順序エラーとしてトランザクション管理DB322に所要の情報を書き込み、処理を終了する。
The
出金トランザクションが完了すると、出金処理部34は、送金要求に応じた入金トランザクションを生成してメッセージキュー保存部33に書き込む(ステップS23)。このとき書き込まれる入金トランザクションは、図10におけるワークフローIDとして「WF001」(送金)が書き込まれ、ファンクションIDとして「FN002」(入金)が書き込まれ、トランザクションIDとして、前述した入金トランザクションのトランザクションIDと同じもの、つまり送金要求の内容がハッシュ化された文字列が書き込まれたものである。以上のような処理が、メッセージキュー保存部33から出金トランザクションが読み出されるたびに実行される。
When the withdrawal transaction is completed, the
次に、図13を参照して、発行主体サーバ装置30がメッセージキュー保存部33から入金トランザクションを読み出してこれを実行するまでの処理について説明する。図13において、入金処理部35は、先入れ先出し方式に従ってメッセージキュー保存部33から入金トランザクションを読み出す(ステップS31)。
Next, with reference to FIG. 13, the processing from the time when the
入金処理部35は、読み出した入金トランザクションを実行する(ステップS32)。これにより台帳DB321が更新される。以上のような処理が、メッセージキュー保存部33から入金トランザクションが読み出されるたびに実行される。入金処理部35は、入金トランザクションが成功した場合、図8に例示したトランザクション管理DB322の更新を行う。具体的には、入金処理部35は、図8における「レコード作成日時」として入金トランザクションが成功した時点の日時、トランザクションIDとして前述した送金要求の内容をハッシュ化した文字列、ワークフローIDとして「送金」に対応する「WF001」(図9参照)、ファンクションIDとして「入金」に対応する「FN002」(図9参照)、ステップIDとして「終了」に対応する「ST02」(図9参照)、トランザクションの内容として送金要求の内容を書き込む。
The
上記のようにメッセージキュー保存部33には、各送金要求に応じた出金トランザクション及び入金トランザクションが書き込まれることになるが、各トランザクションの書き込み及び読み出しは先入れ先出し方式で管理されているため、複数の送金要求に応じた出金処理及び入金処理がシーケンシャルに実行されることになる。
Withdrawal transactions and deposit transactions corresponding to each remittance request are written in the message
次に、図14を参照して、発行主体サーバ装置30が出金トランザクション又は入金トランザクションの実行結果において不整合があった場合に、これらのトランザクションを再実行するときの処理について説明する。図14において、再実行部37は、例えば定期的又は任意のタイミングで、メッセージキュー保存部33に保存されている全てのトランザクション(出金トランザクション及び入金トランザクション)のうち、いずれか1つのトランザクションのトランザクションIDを読み出す(ステップS41)。
Next, with reference to FIG. 14, processing when issuing
再実行部37は、読み出したトランザクションIDをキーにして、トランザクション管理DB322を検索する(ステップS42)。
The
トランザクション管理DB322には、取得部31が取得した全ての送金要求に1対1で対応するトランザクションIDが記録されているはずである。再実行部37は、トランザクション管理DB322に該当するトランザクションIDが含まれていれば(ステップS43;YES)、ステップS41に戻り、メッセージキュー保存部33から次のトランザクションIDを読み出して上述した処理を繰り返す。
The
一方、再実行部37は、トランザクション管理DB322に該当するトランザクションIDが含まれていない場合(ステップS43;NO)、このトランザクションIDに対応する送金要求に応じた出金トランザクションから再度実行する。具体的には、再実行部37は、トランザクションIDに対応する送金要求に応じた出金トランザクションをメッセージキュー保存部33に書き込んだ後に(ステップS44)、図12のステップS21の処理に遷移する。これ以降、図12~13で述べたような各処理が再度実行される。
On the other hand, if the corresponding transaction ID is not included in the transaction management DB 322 (step S43; NO), the
このとき、出金処理部34は、出金トランザクションのトランザクションIDが、台帳DB321における出金元の口座のトランザクションIDリストに含まれていれば、この出金トランザクションを実行済みと判断し、この口座の口座残高を更新せずに、入金トランザクションを作成してメッセージキュー保存部33に書き込む(図12のステップS23)。一方、出金トランザクションのトランザクションIDが、台帳DB321における出金元の口座のトランザクションIDリストに含まれていなければ、出金処理部34は、この出金トランザクションを実行済みではないと判断し、これを実行する。これと同様に、入金処理部35は、入金トランザクションのトランザクションIDが、台帳DB321における入金先の口座のトランザクションIDリストに含まれていれば、この入金トランザクションを実行済みと判断し、この口座の口座残高を更新せずに入金トランザクションを終了する。一方、入金トランザクションのトランザクションIDが、台帳DB321における入金先の口座のトランザクションIDリストに含まれていなければ、入金処理部35は、この入金トランザクションを実行済みではないと判断し、これを実行する。
At this time, if the transaction ID of the withdrawal transaction is included in the transaction ID list of the withdrawal source account in the
以上のようにして、再実行部37は、メッセージキュー保存部33に保存されている全てのトランザクションのトランザクションIDについて再実行を行うか否かを判断する。
As described above, the
以上説明した実施形態によれば、1つの送金トランザクションを、実質的に出金トランザクションと入金トランザクションという2つの異なるトランザクションに分けて実行するので、各送金トランザクションにおける排他制御を同時に二つの口座に跨って行っていた従来方法に比較して、多数の送金トランザクションを完了するのに要する所要時間を短くすることができる。つまり、多数の送金処理を高速化することが可能となる。 According to the embodiment described above, one remittance transaction is substantially divided into two different transactions, namely, a withdrawal transaction and a deposit transaction. The turnaround time required to complete a large number of money transfer transactions can be reduced as compared to the traditional methods used. That is, it becomes possible to speed up a large number of remittance processes.
また、上記実施形態では、各口座の残高を含むデータベースとして、リレーショナルデータベースよりも書き込み速度が速いNoSQLを採用するとともに、メッセージキューイングシステムを用いて、出金元の口座に対する出金処理及び入金先の口座に対する入金処理という、2つの口座に対するデータ更新処理をシーケンシャルに行うので、高速且つ確実に送金処理を実行することが可能となる。 In addition, in the above embodiment, as a database containing the balance of each account, NoSQL, which has a faster writing speed than a relational database, is adopted, and a message queuing system is used to process withdrawals and deposits to accounts from which withdrawals are made. Since data update processing for two accounts, that is, deposit processing for one account, is sequentially performed, remittance processing can be executed at high speed and with certainty.
また、上記実施形態では、出金トランザクション又は入金トランザクションの実行結果において不整合があった場合には、不整合のあったトランザクションを再度実行する。これにより、確実に送金処理を実行することが可能となる。 In addition, in the above embodiment, if there is an inconsistency in the execution result of a withdrawal transaction or a deposit transaction, the inconsistent transaction is re-executed. This makes it possible to reliably execute remittance processing.
[変形例]
本発明は上述した実施形態に限定されず、上述した実施形態を次のように変形してもよい。上記実施形態では、本発明をデジタル通過に適用した例を説明したが、本発明の適用はこれに限らず、複数の送金要求に応じて口座間で送金を行う場合に適用し得る。
[Modification]
The present invention is not limited to the embodiments described above, and the embodiments described above may be modified as follows. In the above embodiment, an example in which the present invention is applied to digital money transfer has been described, but the application of the present invention is not limited to this, and can be applied to the case of performing remittance between accounts in response to a plurality of remittance requests.
本発明は、実施形態で例示した発行主体サーバ装置という情報処理装置のみならず、この情報処理装置が行う情報処理方法、つまり、第1の口座から出金して第2の口座に入金する送金要求を取得する取得ステップと、取得された前記送金要求における出金を実現するための出金トランザクションを実行して、前記第1の口座の残高を含むデータベースを更新する出金処理ステップと、前記出金処理ステップによる出金処理が行われた後に、前記送金要求における入金を実現するためのトランザクションであって、前記出金トランザクションとは異なる入金トランザクションを実行して、前記第2の口座の残高を含むデータベースを更新する入金処理ステップとを備える情報処理方法としても実施し得る。さらに、コンピュータをこの情報処理方法を実行させるためのプログラムといった形態でも実施が可能である。このプログラムは、光ディスク等の記録媒体に記録した形態でコンピュータに提供されたり、インターネット等のネットワークを介してコンピュータに提供されたりしてもよい。 The present invention applies not only to the information processing device, which is the issuer server device exemplified in the embodiment, but also to an information processing method performed by this information processing device, that is, a remittance method in which money is withdrawn from a first account and deposited into a second account. an acquisition step of acquiring a request; a withdrawal processing step of executing a withdrawal transaction for realizing withdrawal in the acquired remittance request and updating a database containing the balance of the first account; After the withdrawal processing is performed by the withdrawal processing step, a transaction for realizing the deposit in the remittance request, which is different from the withdrawal transaction, is executed to reduce the balance of the second account. It can also be implemented as an information processing method comprising a payment processing step of updating a database including Furthermore, implementation is also possible in the form of a program for causing a computer to execute this information processing method. This program may be provided to the computer in a form recorded on a recording medium such as an optical disk, or may be provided to the computer via a network such as the Internet.
10:ユーザ端末、20:仲介機関サーバ装置、30:発行主体サーバ装置、31:取得部、32:記憶部、33:メッセージキュー保存部、34:出金処理部、35:入金処理部、36:出力部、37:再実行部、3001:プロセッサ、3002:メモリ、3003:ストレージ、3004:通信装置、3005:入力装置、3006:出力装置。 10: user terminal, 20: intermediary agency server device, 30: issuer server device, 31: acquisition unit, 32: storage unit, 33: message queue storage unit, 34: withdrawal processing unit, 35: deposit processing unit, 36 3001: Processor 3002: Memory 3003: Storage 3004: Communication device 3005: Input device 3006: Output device.
Claims (7)
取得された前記送金要求における出金を実現するための出金トランザクションを実行して、前記第1の口座の残高を含むデータベースを更新する出金処理部と、
前記出金処理部による出金処理が行われた後に、前記送金要求における入金を実現するためのトランザクションであって、前記出金トランザクションとは異なる入金トランザクションを実行して、前記第2の口座の残高を含むデータベースを更新する入金処理部と
を備えることを特徴とする情報処理装置。 an acquisition unit for acquiring a remittance request to withdraw from the first account and deposit to the second account;
a withdrawal processing unit that executes a withdrawal transaction for realizing withdrawal in the acquired remittance request and updates a database containing the balance of the first account;
After the withdrawal processing is performed by the withdrawal processing unit, a transaction for realizing the deposit in the remittance request, which is different from the withdrawal transaction, is executed to open the second account. and a deposit processing unit that updates a database containing balances.
前記取得部は、前記出金トランザクションを前記メッセージキュー保存部に書き込み、
前記出金処理部は、前記メッセージキュー保存部に書き込まれた前記出金トランザクションを読み出して実行した後、前記入金トランザクションを前記メッセージキュー保存部に書き込み、
前記入金処理部は、前記メッセージキュー保存部に書き込まれた前記入金トランザクションを読み出して実行する
ことを特徴とする請求項1記載の情報処理装置。 Equipped with a message queue storage that writes and reads transactions on a first-in, first-out basis,
The acquisition unit writes the withdrawal transaction to the message queue storage unit,
The withdrawal processing unit reads and executes the withdrawal transaction written in the message queue storage unit, and then writes the payment transaction in the message queue storage unit,
2. The information processing apparatus according to claim 1, wherein the deposit processing unit reads and executes the deposit transaction written in the message queue storage unit.
ことを特徴とする請求項2記載の情報処理装置。 3. The information processing apparatus according to claim 2, further comprising a storage unit that stores a transaction management database containing information about the payment transaction or the payment transaction.
前記メッセージキュー保存部には、各々の前記トランザクション識別子が書き込まれており、
前記メッセージキュー保存部に書き込まれている前記トランザクション識別子が前記トランザクション管理データベースに含まれていない場合に、前記送金要求に対応する出金トランザクション又は入金トランザクションを再度実行するための処理を行う再実行部を備える
ことを特徴とする請求項3記載の情報処理装置。 the transaction management database includes a transaction identifier assigned to the remittance request;
Each transaction identifier is written in the message queue storage unit,
a re-executing unit that performs processing for re-executing a withdrawal transaction or a deposit transaction corresponding to the remittance request when the transaction identifier written in the message queue storage unit is not included in the transaction management database; 4. The information processing apparatus according to claim 3, comprising:
前記第2の口座の残高を含むデータベースは、当該口座に対して実行された入金トランザクションに対応する前記送金要求に割り当てられたトランザクション識別子を含み、
前記再実行部は、
前記メッセージキュー保存部に書き込まれている前記トランザクション識別子が前記トランザクション管理データベースに含まれていない場合であって、当該トランザクション識別子が、前記第1の口座の残高を含むデータベースに含まれていない場合に、前記送金要求に対応する出金トランザクションを再度実行し、
前記メッセージキュー保存部に書き込まれている前記トランザクション識別子が前記トランザクション管理データベースに含まれていない場合であって、当該トランザクション識別子が、前記第2の口座の残高を含むデータベースに含まれていない場合に、前記送金要求に対応する入金トランザクションを再度実行する
ことを特徴とする請求項4記載の情報処理装置。 a database containing the balance of the first account includes transaction identifiers assigned to the money transfer requests corresponding to withdrawal transactions performed against the account;
a database containing the balance of the second account includes a transaction identifier assigned to the transfer request corresponding to a deposit transaction performed against the account;
The re-execution unit
When the transaction identifier written to the message queue storage unit is not included in the transaction management database, and when the transaction identifier is not included in the database containing the balance of the first account , re-execute the withdrawal transaction corresponding to said remittance request,
when the transaction identifier written to the message queue storage unit is not included in the transaction management database, and when the transaction identifier is not included in the database containing the balance of the second account; 5. The information processing apparatus according to claim 4, wherein a deposit transaction corresponding to said remittance request is executed again.
取得された前記送金要求における出金を実現するための出金トランザクションを実行して、前記第1の口座の残高を含むデータベースを更新する出金処理ステップと、
前記出金処理ステップによる出金処理が行われた後に、前記送金要求における入金を実現するためのトランザクションであって、前記出金トランザクションとは異なる入金トランザクションを実行して、前記第2の口座の残高を含むデータベースを更新する入金処理ステップと
を備えることを特徴とする情報処理方法。 an obtaining step of obtaining a remittance request to withdraw from the first account and deposit to the second account;
a withdrawal processing step of executing a withdrawal transaction for realizing withdrawal in the acquired remittance request and updating a database containing the balance of the first account;
After the withdrawal processing is performed by the withdrawal processing step, a transaction for realizing the deposit in the remittance request, which is different from the withdrawal transaction, is executed to open the second account. and a deposit processing step of updating a database containing balances.
第1の口座から出金して第2の口座に入金する送金要求を取得する取得ステップと、
取得された前記送金要求における出金を実現するための出金トランザクションを実行して、前記第1の口座の残高を含むデータベースを更新する出金処理ステップと、
前記出金処理ステップによる出金処理が行われた後に、前記送金要求における入金を実現するためのトランザクションであって、前記出金トランザクションとは異なる入金トランザクションを実行して、前記第2の口座の残高を含むデータベースを更新する入金処理ステップと
を実行させるためのプログラム。 to the computer,
an obtaining step of obtaining a remittance request to withdraw from the first account and deposit to the second account;
a withdrawal processing step of executing a withdrawal transaction for realizing withdrawal in the acquired remittance request and updating a database containing the balance of the first account;
After the withdrawal processing is performed by the withdrawal processing step, a transaction for realizing the deposit in the remittance request, which is different from the withdrawal transaction, is executed to open the second account. A program for running a payment processing step that updates a database containing balances.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021203735A JP2023088789A (en) | 2021-12-15 | 2021-12-15 | Information processing device, information processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021203735A JP2023088789A (en) | 2021-12-15 | 2021-12-15 | Information processing device, information processing method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023088789A true JP2023088789A (en) | 2023-06-27 |
Family
ID=86935315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021203735A Pending JP2023088789A (en) | 2021-12-15 | 2021-12-15 | Information processing device, information processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023088789A (en) |
-
2021
- 2021-12-15 JP JP2021203735A patent/JP2023088789A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6446086B1 (en) | System and method for logging transaction records in a computer system | |
US6018746A (en) | System and method for managing recovery information in a transaction processing system | |
US6301379B1 (en) | Electronic check presentment systems and methods employing volatile memory datastore access techniques | |
JP7541440B2 (en) | DATA PROCESSING APPARATUS AND DATA PROCESSING METHOD | |
CN101183322B (en) | Method for deferred logging and apparatus thereof | |
CN109086388A (en) | Block chain date storage method, device, equipment and medium | |
JP2003513357A (en) | Method and apparatus for performing atomic updates using a logical flash memory device | |
CN102667720A (en) | Consistency without ordering dependency | |
WO2023160077A1 (en) | Blockchain data recovery method and apparatus, and electronic device | |
CN106991606A (en) | transaction data processing method and device | |
JP2023088789A (en) | Information processing device, information processing method, and program | |
EP1208432B1 (en) | System and method for logging transaction records in a computer system | |
WO2020225224A1 (en) | Secure and transparent database transactions in untrusted environments using permissioned, minimally invasive blockchain technology | |
US9286634B2 (en) | Financial systems | |
JP2006155676A (en) | Database backup method for designated time and database backup device | |
JP2014215869A (en) | Information processing device, information processing method, and program | |
CN111752978A (en) | Method, device and system for selecting bin route based on distributed cache | |
JP2001229063A (en) | Data managing system | |
JPH10232809A (en) | Transaction processing system | |
JPH0844670A (en) | File managing method, computer system using the same and operating method for computer system | |
JPS5856142B2 (en) | Online recovery control method | |
WO2024082693A1 (en) | Data processing method, and apparatus | |
EP1835400A1 (en) | Transaction processing method | |
JP4027055B2 (en) | Transaction management device | |
JPH11353426A (en) | Information backup method for ic card and same ic card |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20230822 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20231023 |