JP6478618B2 - Transaction control system, transaction control method and program - Google Patents

Transaction control system, transaction control method and program Download PDF

Info

Publication number
JP6478618B2
JP6478618B2 JP2014257514A JP2014257514A JP6478618B2 JP 6478618 B2 JP6478618 B2 JP 6478618B2 JP 2014257514 A JP2014257514 A JP 2014257514A JP 2014257514 A JP2014257514 A JP 2014257514A JP 6478618 B2 JP6478618 B2 JP 6478618B2
Authority
JP
Japan
Prior art keywords
transaction
information
processing unit
unit
processing
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
JP2014257514A
Other languages
Japanese (ja)
Other versions
JP2016118887A (en
Inventor
英裕 最首
英裕 最首
Original Assignee
株式会社グルーヴノーツ
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 株式会社グルーヴノーツ filed Critical 株式会社グルーヴノーツ
Priority to JP2014257514A priority Critical patent/JP6478618B2/en
Publication of JP2016118887A publication Critical patent/JP2016118887A/en
Application granted granted Critical
Publication of JP6478618B2 publication Critical patent/JP6478618B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Description

本発明は、トランザクション制御システム、トランザクション制御方法及びプログラムに関する。   The present invention relates to a transaction control system, a transaction control method, and a program.

従来、仮想化技術は、物理的には一台のコンピュータを、仮想的に複数台のコンピュータとして利用することを可能としている。つまり、仮想化技術によって、ハードウェアをソフトウェア化することが可能となり、サーバイメージをコピーして、必要なサーバ数を確保することができるようになっている。   Conventionally, the virtualization technology makes it possible to physically use one computer as a plurality of computers virtually. In other words, it becomes possible to make hardware hardware by using the virtualization technology, and it is possible to secure a necessary number of servers by copying a server image.

他方、一台の大きなサーバではなく、複数の小さなサーバに処理を分担させることにより性能を上げていく分散システムが、大量データを高速に保管・検索できる仕組みや、大規模なバッチシステムを分散して性能を上げていく仕組みなど、様々な分野で実用化されている。このような分散システムは、従来システムが一か所で行っていた機能を、複数のコンピュータで分散させながら、あたかも一台のコンピュータのように動作する。   On the other hand, a distributed system that improves performance by sharing processing with multiple small servers instead of a single large server distributes a mechanism that can store and retrieve large amounts of data at high speed and a large-scale batch system. Have been put to practical use in various fields, such as a mechanism for improving performance. Such a distributed system operates as if it were a single computer, while the functions previously performed by the system in one place are distributed among a plurality of computers.

このような仮想化技術や大規模分散技術等をベースにして、近年クラウドと総称されるサービスが、ネットワーク上で提供されている。主なクラウドサービスとして、例えば、Amazon Web Services(商標)などが知られている(非特許文献1参照)。   In recent years, services collectively referred to as cloud have been provided on the network based on such virtualization technology and large-scale distributed technology. As a main cloud service, for example, Amazon Web Services (trademark) is known (see Non-Patent Document 1).

また、大規模分散技術で求められる負荷分散について、ロードバランサを用いて、処理装置1台あたりの負荷を抑えることが知られている(非特許文献2参照)。   In addition, with respect to load distribution required for large-scale distribution technology, it is known to use a load balancer to suppress the load per processing apparatus (see Non-Patent Document 2).

「Amazon Web Services」、[online]、[平成26年12月19日検索]、インターネット<URL:http://aws.amazon.com/jp/>“Amazon Web Services”, [online], [searched on December 19, 2014], Internet <URL: http://aws.amazon.com/jp/> 「IT用語辞典 e−Words」、[online]、[平成26年12月19日検索]、インターネット<URL:http://e-words.jp/w/E383ADE383BCE38389E38390E383A9E383B3E382B5.html>“IT Glossary e-Words”, [online], [Searched on December 19, 2014], Internet <URL: http://e-words.jp/w/E383ADE383BCE38389E38390E383A9E383B3E382B5.html>

ところで、クラウド環境では、クライアントのニーズに合わせて、小規模から大規模までのトランザクションに対応可能なサーバシステムを実現することが求められている。   By the way, in a cloud environment, it is required to realize a server system that can handle transactions from a small scale to a large scale according to the needs of clients.

他方、クラウド環境において、サーバを切り替えたり、追加したりする際に、クラウド環境で提供しているサービスを停止させないことが求められる。上述のロードバランサでは、サーバを装置単位で切り替えてサービスを停止させないことは可能であるが、小規模のトランザクションを処理する処理部単位での切り替えは困難である。   On the other hand, when a server is switched or added in a cloud environment, it is required not to stop a service provided in the cloud environment. In the load balancer described above, it is possible to switch the server in units of devices and not stop the service, but it is difficult to switch in units of processing units that process small transactions.

そこで、本発明は、かかる実情に鑑み、小規模から大規模までのトランザクションに対応可能であり、サービスが停止しないような運用を実現することができるトランザクション制御システム、トランザクション制御方法及びプログラムを提供することを目的とする。   Therefore, in view of such circumstances, the present invention provides a transaction control system, a transaction control method, and a program that can deal with transactions from a small scale to a large scale and can realize an operation that does not stop the service. For the purpose.

本発明の一態様によるトランザクション制御システムは、1又は複数のサーバを有し、各クライアントから要求されるトランザクションを処理するトランザクション制御システムであって、前記トランザクションを処理する1又は複数の処理部と、前記処理部を起動し、該処理部に関する第1情報を付与する管理部と、前記クライアントからトランザクションのルーティングに関する第2情報とともにトランザクションの処理要求を受け付け、前記第2情報及び前記管理部から通知された前記第1情報に基づいて決定した処理部に、前記トランザクションをルーティングするルーティング部と、を備える。   A transaction control system according to an aspect of the present invention is a transaction control system that includes one or a plurality of servers and processes a transaction requested from each client, and includes one or a plurality of processing units that process the transaction; The management unit that starts up the processing unit and gives first information about the processing unit, and receives a transaction processing request together with second information about transaction routing from the client, and is notified from the second information and the management unit And a routing unit that routes the transaction to the processing unit determined based on the first information.

また、前記第1情報は、前記処理部のバージョン情報であってもよい。   Further, the first information may be version information of the processing unit.

また、前記ルーティング部は、前記管理部から、第2情報は同じであるが前記バージョン情報が異なる処理部への切り替えと、該処理部の異なるバージョン情報が通知された場合、前記クライアントからトランザクションとともに前記第2情報を取得すると、前記異なるバージョン情報の処理部に切り替えて前記トランザクションをルーティングしてもよい。   In addition, when the routing unit is notified of switching to a processing unit having the same second information but different version information from the management unit, and different version information of the processing unit, the routing unit and the client together with the transaction When the second information is acquired, the transaction may be routed by switching to the processing unit of the different version information.

また、前記第1情報は、クライアントアプリケーションの審査又は本番を示す情報であってもよい。   Further, the first information may be information indicating examination or production of the client application.

また、前記ルーティング部は、前記管理部から、前記審査を示す第1情報が通知された場合、前記クライアントからトランザクションとともに前記第2情報を取得すると、該トランザクションを前記審査に対応する処理部にルーティングし、前記管理部から、前記本番を示す第1情報が通知された場合、前記クライアントからトランザクションとともに前記第2情報を取得すると、該トランザクションを前記本番に対応する処理部にルーティングしてもよい。   In addition, when the management unit is notified of the first information indicating the examination, the routing unit obtains the second information together with the transaction from the client, and routes the transaction to a processing unit corresponding to the examination. When the first information indicating the production is notified from the management unit, the transaction may be routed to the processing unit corresponding to the production when the second information is acquired together with the transaction from the client.

また、前記ルーティング部は、機能ごとにキューを有し、所定の機能におけるトランザクションをクライアントから要求された場合、該所定の機能に対応するキューに関連付けられた前記処理部の群の中から、前記第1情報及び前記第2情報に基づいてルーティングする処理部を決定してもよい。   Further, the routing unit has a queue for each function, and when a transaction in a predetermined function is requested from a client, the routing unit is selected from the group of processing units associated with the queue corresponding to the predetermined function. A processing unit to be routed may be determined based on the first information and the second information.

また、本発明の一態様によるトランザクション制御方法は、1又は複数のサーバを有し、各クライアントから要求されるトランザクションを処理するトランザクション制御システムにおいて、前記トランザクション制御システムに含まれる処理装置が行うトランザクション制御方法であって、前記トランザクションを処理する1又は複数の処理部が起動された場合、該処理部に関する第1情報を取得する取得ステップと、前記クライアントからトランザクションとともに処理部へのルーティングに関する第2情報を受け付ける受付ステップと、受け付けられた前記第2情報と、取得された前記第1情報とに基づいて決定した処理部に、前記トランザクションをルーティングするルーティングステップと、を有する。   The transaction control method according to an aspect of the present invention includes a transaction control system that includes one or a plurality of servers and processes a transaction requested by each client. The transaction control is performed by a processing device included in the transaction control system. A method, wherein when one or more processing units for processing the transaction are activated, an acquisition step for acquiring first information about the processing unit, and second information about routing from the client to the processing unit together with the transaction And a routing step for routing the transaction to the processing unit determined based on the received second information and the acquired first information.

また、本発明の一態様によるプログラムは、前記トランザクション制御方法をコンピュータに実行させる。   A program according to an aspect of the present invention causes a computer to execute the transaction control method.

本発明によれば、小規模から大規模までのトランザクションに対応可能であり、サービスが停止しないような運用を実現することができる。   According to the present invention, it is possible to deal with transactions from a small scale to a large scale, and it is possible to realize an operation that does not stop the service.

クラウドコンピューティング環境の概略構成を示す図である。It is a figure which shows schematic structure of a cloud computing environment. 仮想化技術及び分散化技術の概要を示す図である。It is a figure which shows the outline | summary of a virtualization technique and a decentralization technique. 実施形態におけるコンピュータ装置の概略ハードウェア構成の一例を示すブロック図である。It is a block diagram which shows an example of schematic hardware constitutions of the computer apparatus in embodiment. 実施形態によるトランザクション制御システムの概略機能構成の一例を示すブロック図である。It is a block diagram which shows an example of schematic function structure of the transaction control system by embodiment. 実施形態におけるトランザクションの割り振り処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the transaction allocation process in embodiment. 実施形態におけるバージョン切り替え処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the version switching process in embodiment. 実施形態における審査時の切り替え処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the switching process at the time of examination in an embodiment.

以下、本発明の実施の形態について図面を参照しつつ詳細に説明する。なお、同一の要素には同一の符号を付し、重複する説明を省略する。また、以下の実施の形態は、本発明を説明するための例示であり、本発明をその実施の形態のみに限定する趣旨ではない。さらに、本発明は、その要旨を逸脱しない限り、さまざまな変形が可能である。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In addition, the same code | symbol is attached | subjected to the same element and the overlapping description is abbreviate | omitted. Further, the following embodiments are exemplifications for explaining the present invention, and are not intended to limit the present invention only to the embodiments. Furthermore, the present invention can be variously modified without departing from the gist thereof.

<クラウド環境>
図1は、本発明によるトランザクション制御システム1の前提となるクラウドコンピューティング環境(クラウド環境)の概略構成を示す図である。同図に示すように、クラウドコンピューティング環境においては、ユーザ端末装置12がネットワークNを介してクラウド10に接続される。
<Cloud environment>
FIG. 1 is a diagram showing a schematic configuration of a cloud computing environment (cloud environment) which is a premise of the transaction control system 1 according to the present invention. As shown in the figure, in a cloud computing environment, a user terminal device 12 is connected to a cloud 10 via a network N.

クラウド10は、ソフトウェアやハードウェア、データ保管領域などのコンピューティングリソースの利用を、ネットワークNを通じてサービスとして利用者に提供するシステムの総称であり、一般的には、大規模なデータセンターや、その中で運用されている複数のサーバ装置などを含む。   The cloud 10 is a generic term for systems that provide users with computing resources such as software, hardware, and data storage areas as services through the network N. In general, the cloud 10 Including a plurality of server devices operated in the network.

ASPサービスやユーティリティコンピューティング、グリッドコンピューティング、SaaS、PaaS、又はBaaSなどを包含した、より包括的な概念であるともいえる。ユーザ端末装置12の側から見れば、クラウド10は、ネットワークNの向こう側にあり、ユーザ端末装置12に何らかのサービスを提供するコンピュータリソースの総称であるともいえる。本実施形態は、パブリッククラウド、プライベートクラウド、ハイブリッドクラウドを含む、あらゆるクラウド環境に適用可能である。   It can be said that this is a more comprehensive concept including ASP service, utility computing, grid computing, SaaS, PaaS, or BaaS. When viewed from the user terminal device 12 side, the cloud 10 is on the other side of the network N and can be said to be a generic term for computer resources that provide some service to the user terminal device 12. This embodiment is applicable to all cloud environments including public clouds, private clouds, and hybrid clouds.

好適には、クラウド10内のネットワーク上に分散して存在する物理的なディスクや物理的なサーバは、仮想化して論理的に管理される。さらに、仮想化して管理されるリソースのうち、稼動していないものはリソースプールに登録しておき、トランザクション制御システム1は、変動する要求を予め予測し、リソースプールから適切にリソースを割当てる。そして、トランザクション制御システム1は、タスクを割り振って、スケーラブルなサービス提供を保障する。   Preferably, physical disks and physical servers distributed on the network in the cloud 10 are virtualized and logically managed. Furthermore, resources that are not operated among virtualized and managed resources are registered in the resource pool, and the transaction control system 1 predicts a changing request in advance, and appropriately allocates resources from the resource pool. Then, the transaction control system 1 allocates tasks to ensure scalable service provision.

ユーザ端末装置12は、利用者がクラウド10を利用するための端末装置であり、ネットワークNへの接続環境とユーザ端末装置12上で動くブラウザを含む。このようなユーザ端末装置12としては、パーソナルコンピュータ(PC)、携帯情報端末装置(PDA)、タブレット型端末装置、携帯電話機、スマートフォンなどを含む。   The user terminal device 12 is a terminal device for a user to use the cloud 10, and includes a connection environment to the network N and a browser that runs on the user terminal device 12. Such user terminal devices 12 include personal computers (PCs), personal digital assistants (PDAs), tablet terminal devices, mobile phones, smartphones, and the like.

ネットワークNは、クラウド10とユーザ端末装置12との間でデータ等を送受信するための通信回線である。例えば、インターネット、LAN、専用線、パケット通信網、電話回線、企業内ネットワーク、その他の通信回線、それらの組み合わせ等のいずれであってもよく、有線であるか無線であるかを問わない。   The network N is a communication line for transmitting and receiving data and the like between the cloud 10 and the user terminal device 12. For example, it may be any of the Internet, a LAN, a dedicated line, a packet communication network, a telephone line, a corporate network, other communication lines, combinations thereof, and the like, regardless of whether they are wired or wireless.

図2は、本発明によるトランザクション制御システム1の前提となる仮想化技術及び分散化技術の概要を示す図である。同図に示すように、物理的なコンピュータ装置20の群は、分散化技術により、コンピュータ装置20の群で機能や処理を分散させながら、あたかも一台のコンピュータ22のように動作する。例えば、コンピュータ装置20の群は、ネットワーク221を通じて、仮想的な1台のハードウェア222の上でオペレーティング・システム(OS)223が動いているように動作する。   FIG. 2 is a diagram showing an outline of the virtualization technology and the decentralized technology which are the premise of the transaction control system 1 according to the present invention. As shown in the figure, the group of physical computer devices 20 operate as if they were one computer 22 while the functions and processes are distributed among the groups of computer devices 20 by the decentralization technique. For example, the group of computer devices 20 operate as if an operating system (OS) 223 is operating on a single piece of virtual hardware 222 through the network 221.

また、仮想化技術により、一台のコンピュータ22のように動作するコンピュータ装置20の群を、仮想的に複数のコンピュータ(サーバを含む)24として利用することができる。つまり、ハードウェアのソフトウェア化である。この仮想化技術によって、仮想化されたサーバ24をコピーすれば、同じサーバのレプリケーション(複製)を作成できるため、サーバイメージをコピーすることによって、必要なサーバ数を確保することができるようになる。   In addition, a group of computer devices 20 that operate like a single computer 22 can be virtually used as a plurality of computers (including servers) 24 by virtualization technology. In other words, it is hardware conversion to hardware. If the virtualized server 24 is copied by this virtualization technology, replication of the same server can be created, so that the necessary number of servers can be secured by copying the server image. .

また、サーバ数を減らす場合は、サーバイメージを削除すればよい。仮想化の一例としては、図2に示すように、KVM(Kernel−based Virtual Machine)と呼ばれる仮想化ソフト224上でOS225が動く。そのOS225の上では、Java Virtual Machine(JVM。なお、Javaは登録商標。)のような別の仮想化環境226が動き、その上でミドルウェア227があり、アプリケーション228が動く。   Moreover, what is necessary is just to delete a server image, when reducing the number of servers. As an example of virtualization, as shown in FIG. 2, an OS 225 runs on virtualization software 224 called KVM (Kernel-based Virtual Machine). On the OS 225, another virtual environment 226 such as Java Virtual Machine (JVM. Java is a registered trademark) runs, on which the middleware 227 and the application 228 run.

<ハードウェア構成>
図3は、実施形態におけるコンピュータ装置20の概略ハードウェア構成の一例を示すブロック図である。図3に示すように、コンピュータ装置20は、CPU(Central Processing Unit)302と、RAM(Random Access Memory)304と、ROM(Read only Memory)306と、ドライブ装置308と、ネットワークI/F(Interface)310と、入力装置312と、を有する。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。
<Hardware configuration>
FIG. 3 is a block diagram illustrating an example of a schematic hardware configuration of the computer apparatus 20 according to the embodiment. As shown in FIG. 3, the computer device 20 includes a CPU (Central Processing Unit) 302, a RAM (Random Access Memory) 304, a ROM (Read Only Memory) 306, a drive device 308, a network I / F (Interface). ) 310 and an input device 312. These components are connected to each other via a bus so as to be able to transmit and receive data.

CPU302は、コンピュータ装置の中で、各装置の制御やデータの演算、加工を行う制御部である。また、CPU302は、RAM304又はROM306に記憶されたプログラムを実行する演算装置である。   The CPU 302 is a control unit that performs control of each device, calculation of data, and processing in the computer device. The CPU 302 is an arithmetic device that executes a program stored in the RAM 304 or the ROM 306.

RAM304は、例えば主記憶部などである。RAM304は、CPU302が実行する基本ソフトウェアであるOS(Operating System)やアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。   The RAM 304 is, for example, a main storage unit. The RAM 304 is a storage device that stores or temporarily stores programs and data such as an OS (Operating System) and application software that are basic software executed by the CPU 302.

ROM306は、例えばアプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。   The ROM 306 is a storage device that stores data related to application software, for example.

ドライブ装置308は、記録媒体316、例えばCD−ROMやSDカードなどからプログラムやデータを読み出し、記憶装置にインストールしたりダウンロードしたりする。   The drive device 308 reads a program and data from a recording medium 316, for example, a CD-ROM or an SD card, and installs or downloads the program or data in a storage device.

また、記録媒体316に、所定のプログラムを格納し、この記録媒体316に格納されたプログラムはドライブ装置308を介してコンピュータ装置20にインストールされる。インストールされた所定のプログラムは、コンピュータ装置20により実行可能となる。   A predetermined program is stored in the recording medium 316, and the program stored in the recording medium 316 is installed in the computer device 20 via the drive device 308. The installed predetermined program can be executed by the computer device 20.

ネットワークI/F310は、通信機能を有する周辺機器とコンピュータ装置20とのインターフェースである。また、ネットワークI/F310は、例えば、有線及び/又は無線回線などのデータ伝送路により構築されたLAN(Local Area Network)、WAN(Wide Area Network)などのネットワークを介して接続される。   The network I / F 310 is an interface between the peripheral device having a communication function and the computer device 20. The network I / F 310 is connected via a network such as a LAN (Local Area Network) or a WAN (Wide Area Network) constructed by a data transmission path such as a wired and / or wireless line.

入力装置312は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード等を有する。   The input device 312 includes a keyboard having cursor keys, numeric input, and various function keys.

以上のように、コンピュータ装置20は、コンピュータの動作や処理を制御するためのCPUなどの処理装置、データの格納や処理の作業領域として機能するメモリや記憶装置、入出力インターフェース、通信インターフェース、及びこれらを結ぶバスを含むことが好ましい。   As described above, the computer device 20 includes a processing device such as a CPU for controlling the operation and processing of the computer, a memory and a storage device functioning as a work area for data storage and processing, an input / output interface, a communication interface, It is preferable to include a bus connecting these.

また、コンピュータ装置20の群は、単一のコンピュータより構成されるものであっても、ネットワーク上に分散した複数のコンピュータより構成されるものであってもよい。各コンピュータは、処理装置がメモリまたは記憶装置などに記憶された所定のプログラムを実行することにより、各種機能実現手段として各コンピュータを機能させる。   The group of computer devices 20 may be composed of a single computer or may be composed of a plurality of computers distributed on a network. Each computer causes each computer to function as various function realizing means by the processing device executing a predetermined program stored in a memory or a storage device.

<機能構成>
図4は、実施形態によるトランザクション制御システム1の概略機能構成の一例を示すブロック図である。図4に示すように、トランザクション制御システム1は、ルーティン部402、認証部404、処理部406A、406B、DB408、管理部410等を有する。処理部について、それぞれの区別が必要ない場合は、符号406が用いられる。
<Functional configuration>
FIG. 4 is a block diagram illustrating an example of a schematic functional configuration of the transaction control system 1 according to the embodiment. As shown in FIG. 4, the transaction control system 1 includes a routine unit 402, an authentication unit 404, processing units 406A and 406B, a DB 408, a management unit 410, and the like. When the processing units need not be distinguished from each other, reference numeral 406 is used.

それぞれの機能は、各コンピュータ装置20に実装されてもよいし、複数の機能が1つのコンピュータ装置20に実装されてもよい。例えば、処理部406A、406Bは、1つのコンピュータ装置20に実装されてもよい。また、各部は、例えばコンピュータ装置20のCPU302やRAM304、ROM306などにより実現されうる。   Each function may be implemented in each computer device 20, or a plurality of functions may be implemented in one computer device 20. For example, the processing units 406A and 406B may be implemented in one computer device 20. Each unit can be realized by the CPU 302, the RAM 304, the ROM 306, and the like of the computer device 20, for example.

トランザクション制御システム1は、ユーザ端末装置(以下、クライアントとも言う。)12A〜Cのブラウザではなく、所定のアプリケーションからの要求に基づいて動作する。そのため、トランザクション制御システム1は、クライアント12A〜Cとの間において、アプリケーションに必要な情報のやり取りを行う。クライアントについて、それぞれを区別する必要がない場合は、符号12が用いられる。   The transaction control system 1 operates based on a request from a predetermined application, not a browser of user terminal devices (hereinafter also referred to as clients) 12A to 12C. Therefore, the transaction control system 1 exchanges information necessary for the application with the clients 12A to 12C. When it is not necessary to distinguish each client, reference numeral 12 is used.

クライアント12は、例えばウェアラブル端末や、パソコンやタブレットやスマートフォンのアプリケーション、又は車載組み込み機器などである。これらのクライアント12は、インストールされたアプリケーションなどからトランザクションを要求する。このとき、クライアント12は、トランザクションのルーティングに関するルーティングキー(Routing Key)をトランザクションに付与して要求する。以下、ルーティングキーは、第2情報とも称す。   The client 12 is, for example, a wearable terminal, a personal computer, a tablet, a smartphone application, or an in-vehicle embedded device. These clients 12 request a transaction from an installed application or the like. At this time, the client 12 requests a transaction by assigning a routing key related to transaction routing to the transaction. Hereinafter, the routing key is also referred to as second information.

ルーティング部402は、トランザクションルーター(Transaction Router)としての機能を有する。ルーティング部402は、クライアント12からの要求を受け付ける。このとき、ルーティング部402は、第2情報をトランザクションの要求と合わせて受け付ける。   The routing unit 402 has a function as a transaction router. The routing unit 402 receives a request from the client 12. At this time, the routing unit 402 accepts the second information together with the transaction request.

ルーティング部402は、所定のクライアントから第2情報を取得すると、この第2情報と、後述する管理部410により付与された第1情報とに基づいて、トランザクションが割り振られる処理部406を決定し、トランザクションをルーティングする。この制御を行うことで、トランザクション制御システム1は、稼働中の処理部に適切にルーティングすることができ、無停止状態のサービスを提供することが可能になる。   When the routing unit 402 acquires the second information from the predetermined client, the routing unit 402 determines the processing unit 406 to which the transaction is allocated based on the second information and the first information given by the management unit 410 described later. Route transactions. By performing this control, the transaction control system 1 can appropriately route to the operating processing unit, and can provide a non-stop service.

ルーティング部402は、トランザクションの結果を、このトランザクションを要求した所定のクライアントに通知する。   The routing unit 402 notifies the result of the transaction to a predetermined client that has requested this transaction.

ルーティング部402は、機能ごとに対応するキュー(Queue)を有する。このキューには、そのキューに対応する機能を実行する処理部406の群が関連付けられる。この場合、ルーティング部402は、機能を示す第2情報とトランザクションとをクライアント12から取得し、機能に対応するキューにトランザクションを入れる。キューから出されるトランザクションは、そのキューに対応する処理部406にルーティングされる。このときの第2情報は、トランザクションの機能を示す情報であってもよい。   The routing unit 402 has a queue corresponding to each function. The queue is associated with a group of processing units 406 that execute a function corresponding to the queue. In this case, the routing unit 402 acquires the second information indicating the function and the transaction from the client 12, and puts the transaction in a queue corresponding to the function. Transactions issued from the queue are routed to the processing unit 406 corresponding to the queue. The second information at this time may be information indicating the function of the transaction.

ここで、ルーティング部402の割り振り先について具体的に説明する。例えば、ルーティング部402は、単純なクラウド系トランザクションを、直接DB408に割り振る。これにより、セーブデータの保存、検索などの単純なデータアクセスは、ノンプログラミングで実現することができるだけではなく、レイテンシを最小化させることができる。   Here, the allocation destination of the routing unit 402 will be specifically described. For example, the routing unit 402 directly allocates a simple cloud transaction to the DB 408. As a result, simple data access such as saving and retrieval of saved data can be realized not by programming, but also latency can be minimized.

また、ルーティング部402は、サーバ側ロジックと連携するため、処理部406にトランザクションを割り振る。このとき、クライアント12からは、割り振って欲しい処理部を識別するために、第2情報が指定される。   Further, the routing unit 402 allocates a transaction to the processing unit 406 in order to cooperate with the server-side logic. At this time, the second information is designated from the client 12 in order to identify the processing unit desired to be allocated.

ルーティング部402は、この第2情報を基に、トランザクションを適切な処理部406に割り振る。アクセスの集中が予測される機能の場合には、事前に同じ第2情報で動作する処理部406が複数用意されることで、スループットを上げることができる。   The routing unit 402 allocates a transaction to an appropriate processing unit 406 based on the second information. In the case of a function for which concentration of access is predicted, throughput can be increased by preparing a plurality of processing units 406 that operate with the same second information in advance.

さらに、ルーティング部402は、クライアント間通信をサポートする。ルーティング部402は、クライアント間通信に対して、1:Nの同報通信をサポートし、チャットやMMO(Massively Multiplayer Online)などの同期型アプリケーションをサポートする。   Furthermore, the routing unit 402 supports communication between clients. The routing unit 402 supports 1: N broadcast communication for inter-client communication, and supports synchronous applications such as chat and MMO (Massively Multiplayer Online).

なお、ルーティング部402は、他のルーティング部と連携することも可能である。これにより、ルーティング部同士を複数組み合わせることで、遠隔地にあるルーティング部同士の連携や、特別な機能を持つ処理部の群やダイレクトDB機能との連携を行うことができる。   Note that the routing unit 402 can also cooperate with other routing units. As a result, by combining a plurality of routing units, it is possible to link the routing units at remote locations, or link with a group of processing units having a special function or a direct DB function.

認証部404は、ユーザ認証を行い、認証については、例えばOAuth2により行われる。また、認証部404は、ソーシャルネットワークなどとの連携を行い、ユーザ登録をすることなく、内部的にPlayerID、端末IDを自動発行するとともにPlayerIDと端末IDとの紐付登録を行うことで、異なるデバイス間でセーブデータの共有を行うことができる。また、認証部404は、なりすまし防止として、例えばX.509証明書を使い、改ざん防止を行う。   The authentication unit 404 performs user authentication, and the authentication is performed by, for example, OAuth2. In addition, the authentication unit 404 cooperates with a social network or the like, automatically issues a Player ID and a terminal ID internally without performing user registration, and performs association registration between the Player ID and the terminal ID, thereby different devices. Save data can be shared between them. In addition, the authentication unit 404 can prevent, for example, X. Use a 509 certificate to prevent tampering.

処理部406は、ワーカー(Worker)とも呼ばれ、クライアント12が要求したトランザクションを処理する。処理部406には、ルーティングに関する第2情報が付与されている。処理部406は、トランザクション制御システム1に登録されれば実現される。この処理部406の作成は、開発者のローカル端末で行うことでき、トランザクション制御システム1に登録することができる。   The processing unit 406 is also called a worker, and processes a transaction requested by the client 12. The processing unit 406 is given second information regarding routing. The processing unit 406 is realized if it is registered in the transaction control system 1. The processing unit 406 can be created at the developer's local terminal and can be registered in the transaction control system 1.

処理部406が登録された後、処理部406の数と稼働させるインスタンスが指定されると、トランザクション制御システム1と処理部406とが接続され、クライアント12からのトランザクションが流れる。処理部406には、それぞれ第2情報が与えられており、同じ第2情報を持つ処理部406に対して、ルーティング部402は、順番にトランザクションを割り振る。よって、同じソースコードの処理部406だけではなく、異なるソースコードの処理部406であっても、第2情報が同じであれば、順番にトランザクションが割り振られる。   After the processing units 406 are registered, when the number of processing units 406 and the instance to be operated are specified, the transaction control system 1 and the processing unit 406 are connected, and a transaction from the client 12 flows. Second information is given to each of the processing units 406, and the routing unit 402 sequentially allocates transactions to the processing units 406 having the same second information. Therefore, not only the processing unit 406 with the same source code but also the processing unit 406 with a different source code, if the second information is the same, transactions are allocated in order.

なお、処理部406は、SDK(Software Development Kit)が提供され、SDKには処理部406を実行するためのライブラリやトランザクション制御システム1にデプロイするためのツールが含まれる。処理部406を実行するために必要なモジュール類は、処理部406の実行環境であるコンテナにインストールしておくことで、デプロイ後すぐに処理部406が実行可能となる。   The processing unit 406 is provided with an SDK (Software Development Kit), and the SDK includes a library for executing the processing unit 406 and a tool for deployment in the transaction control system 1. Modules necessary for executing the processing unit 406 are installed in a container which is an execution environment of the processing unit 406, so that the processing unit 406 can be executed immediately after deployment.

処理部406のバージョン管理について、トランザクション制御システムにデプロイされた処理部406は、コンテナは、内部でバージョン管理される。後述するように、このバージョン切り替えは、無停止で実行することができる。   Regarding the version management of the processing unit 406, the container of the processing unit 406 deployed in the transaction control system is subjected to version management. As will be described later, this version switching can be executed without stopping.

処理部406は、それぞれ分離されたコンテナで動作するため、同じインスタンスを共有しつつ相互に隔離された環境で動作する。これにより、処理部406は、必要最低限のインスタンスで動作させることが可能になる。   Since the processing units 406 operate in separate containers, they operate in an environment isolated from each other while sharing the same instance. As a result, the processing unit 406 can be operated with the minimum necessary instances.

DB408は、サービスに関するデータを保持するデータベースである。DB408は、このDBに対するアクセス制御をユーザごとに指定することができる。DB408は、例えばCloud Datastore、Cloud SQL(登録商標)、BigQuery(登録商標)、MongoDB(登録商標)、redis、MySQL(登録商標)などである。   The DB 408 is a database that holds data related to services. The DB 408 can specify access control for this DB for each user. The DB 408 is, for example, Cloud Datastore, Cloud SQL (registered trademark), BigQuery (registered trademark), MongoDB (registered trademark), redis, MySQL (registered trademark), or the like.

管理部410は、処理部406の起動、停止を制御し、処理部406に関する第1情報を付与する。例えば、第1情報とは、バージョンを示すバージョン情報や、クライアントアプリケーションの審査又は本番を示す情報などである。審査とは、例えば、アプリケーション提供側が行う審査であり、市場に提供するに値するか否かの審査である。本番とは、例えば市場にアプリケーションを提供した後の処理である。   The management unit 410 controls the start and stop of the processing unit 406 and gives first information regarding the processing unit 406. For example, the first information includes version information indicating the version, information indicating the examination or production of the client application, and the like. The examination is, for example, examination performed by the application providing side, and is examination of whether or not it is worth providing to the market. “Production” is, for example, processing after providing an application to the market.

管理部410は、処理部406のバージョン切り替えが行われる場合、旧バージョンの処理部406に停止指示を出し、これらの処理部406が全て停止したかどうかを確認する。   When version switching of the processing unit 406 is performed, the management unit 410 issues a stop instruction to the old version processing unit 406 and confirms whether or not all these processing units 406 have stopped.

管理部410は、トランザクションの割り振り停止を予測した後、旧バージョンの処理部406に関連づけられているキューの状況とルーティングキーとを使って、停止を指示するトランザクションを、キュー経由で旧バージョンの処理部406に投入する。これにより、旧バージョンの処理部406が停止する。   After predicting the stop of transaction allocation, the management unit 410 uses the queue status and the routing key associated with the old version processing unit 406 to process a transaction for instructing the old version via the queue. Input to the unit 406. As a result, the old version processing unit 406 stops.

次に、エンドノード間の同報通信について説明する。トランザクション制御システム1におけるエンドノードとは、処理部406とクライアント12である。このエンドノード間でPub/Sub型の効率のよい同報通信が行われる。   Next, broadcast communication between end nodes will be described. The end nodes in the transaction control system 1 are the processing unit 406 and the client 12. Pub / Sub type efficient broadcast communication is performed between the end nodes.

同報通信は、ルーティングキーをベースにグループ化される。そのため、トランザクション制御システム1内で接続されたエンドノード同士で、仮想的に複数のチャネルを設定して通信することができる。   Broadcast communications are grouped based on routing keys. For this reason, end nodes connected within the transaction control system 1 can communicate with each other by virtually setting a plurality of channels.

ルーティング部402は、管理部410から、第2情報は同じであるがバージョン情報が異なる処理部406への切り替えと、処理部406の異なるバージョン情報が通知された場合、クライアント12からトランザクションとともに第2情報を取得すると、トランザクションを、異なるバージョン情報の処理部406に切り替えてルーティングする。   When the management unit 410 is notified of switching to the processing unit 406 having the same second information but different version information from the management unit 410 and different version information of the processing unit 406, the routing unit 402 outputs the second information together with the transaction from the client 12. When the information is acquired, the transaction is switched to the processing unit 406 of different version information and routed.

これにより、バージョン切り替えが行われる際に、無停止状態でのバージョン切り替えが可能となる。   As a result, when version switching is performed, version switching can be performed in a non-stop state.

また、ルーティング部402は、管理部410から、審査を示す第1情報が通知された場合、クライアント12からトランザクションとともに第2情報を取得すると、このトランザクションを、審査に対応する処理部406にルーティングする。   In addition, when the first information indicating examination is notified from the management unit 410, the routing unit 402 acquires the second information together with the transaction from the client 12, and routes this transaction to the processing unit 406 corresponding to the examination. .

また、ルーティング部402は、管理部410から、本番を示す第1情報が通知された場合、クライアント12からトランザクションとともに第2情報を取得すると、トランザクションを、本番に対応する処理部406にルーティングする。   In addition, when the management unit 410 receives the first information indicating the production, the routing unit 402 obtains the second information together with the transaction from the client 12, and routes the transaction to the processing unit 406 corresponding to the production.

これにより、アプリケーションの審査用のトランザクションを処理する処理部と、実際に運用が開始された後の本番で処理される処理部とを適切に切り分けることができる。よって、アプリケーションが市場に提供された後に審査が必要になった場合でも、本番の処理は実行しつつも、審査の処理を実行することが可能となるので、無停止状態を維持することができる。   As a result, it is possible to appropriately separate a processing unit that processes an application review transaction from a processing unit that is actually processed after the operation is actually started. Therefore, even if the application needs to be reviewed after being provided to the market, it is possible to execute the review process while the actual process is being executed, so that the non-stop state can be maintained. .

さらに、ルーティング部402は、所定の機能におけるトランザクションをクライアント12から要求された場合、この所定の機能に対応するキューに関連付けられた処理部406の群の中から、第1情報及び第2情報に基づいてルーティングする処理部406を決定する。   Further, when the client 12 requests a transaction for a predetermined function, the routing unit 402 converts the first information and the second information from the group of processing units 406 associated with the queue corresponding to the predetermined function. Based on this, the processing unit 406 to be routed is determined.

これにより、機能別の処理部406の群が適切なキューに接続されているので、同じキューに接続された処理部406は、必ずしも同じプログラムである必要がなくなる。これを利用すると、トランザクション制御システム1は、ランダムに動作するアルゴリズムを変える仕組みを提供することも可能になる。   Thereby, since the group of processing units 406 by function is connected to an appropriate queue, the processing units 406 connected to the same queue do not necessarily need to be the same program. By using this, the transaction control system 1 can also provide a mechanism for changing an algorithm that operates at random.

<動作>
次に、実施形態におけるトランザクション制御システム1の動作について説明する。
<Operation>
Next, the operation of the transaction control system 1 in the embodiment will be described.

≪トランザクションの割り振り≫
図5は、実施形態におけるトランザクションの割り振り処理の一例を示すシーケンス図である。図5に示すステップS102で、クライアント12は、機能Aのトランザクションをルーティング部402に要求する。ルーティング部402では、機能ごとに個別のキューを有する。
≪Transaction allocation≫
FIG. 5 is a sequence diagram illustrating an example of transaction allocation processing in the embodiment. In step S102 illustrated in FIG. 5, the client 12 requests the routing unit 402 for a function A transaction. The routing unit 402 has a separate queue for each function.

ステップS104で、ルーティング部402は、機能Aのキューにトランザクションを入れ、機能Aのキューに関連付けられた機能Aを処理する処理部406Aにトランザクションを割り振り、ルーティングする。   In step S104, the routing unit 402 puts the transaction in the function A queue, allocates the transaction to the processing unit 406A that processes the function A associated with the function A queue, and routes the transaction.

ステップS106で、処理部406Aは、トランザクションの処理結果をルーティング部402に返す。   In step S106, the processing unit 406A returns the transaction processing result to the routing unit 402.

ステップS108で、ルーティング部402は、トランザクションの処理結果をクライアント12に返す。   In step S <b> 108, the routing unit 402 returns the transaction processing result to the client 12.

ステップS110で、クライアント12は、機能Bのトランザクションをルーティング部402に要求する。   In step S <b> 110, the client 12 requests the routing unit 402 for a function B transaction.

ステップS112で、ルーティング部402は、機能Bのキューにトランザクションを入れ、機能Bのキューに関連付けられた機能Bを処理する処理部406Bにトランザクションを割り振り、ルーティングする。   In step S112, the routing unit 402 puts the transaction in the function B queue, allocates the transaction to the processing unit 406B that processes the function B associated with the function B queue, and routes the transaction.

ステップS114で、処理部406Bは、トランザクションの処理結果をルーティング部402に返す。   In step S <b> 114, the processing unit 406 </ b> B returns the transaction processing result to the routing unit 402.

ステップS116で、ルーティング部402は、トランザクションの処理結果をクライアント12に返す。   In step S <b> 116, the routing unit 402 returns the transaction processing result to the client 12.

ステップS118で、クライアント12は、機能Bのトランザクションをルーティング部402に要求する。   In step S118, the client 12 requests the routing unit 402 for a function B transaction.

ステップS120で、ルーティング部402は、機能Bのキューにトランザクションを入れ、機能Bのキューに関連付けられた機能Bを処理する処理部406B’にトランザクションを割り振り、ルーティングする。このとき、機能Bのキューには複数の処理部406が関連づけられており、ステップS120では、ステップS112とは異なる処理部に割り振られる。異なる処理部に割り振る理由は、負荷分散等を考慮し、順番に各処理部に処理させるためである。   In step S120, the routing unit 402 puts the transaction in the function B queue, allocates the transaction to the processing unit 406B 'that processes the function B associated with the function B queue, and routes the transaction. At this time, a plurality of processing units 406 are associated with the queue of function B, and in step S120, the processing unit 406 is allocated to a processing unit different from step S112. The reason for allocating to different processing units is to allow each processing unit to perform processing in order in consideration of load distribution and the like.

ステップS114で、処理部406B’は、トランザクションの処理結果をルーティング部402に返す。   In step S <b> 114, the processing unit 406 </ b> B ′ returns the transaction processing result to the routing unit 402.

ステップS116で、ルーティング部402は、トランザクションの処理結果をクライアント12に返す。   In step S <b> 116, the routing unit 402 returns the transaction processing result to the client 12.

以上より、ルーティング部402は、最終的な割り振りは、第2情報を使って処理部406の種別をさらに細かく行うことができる。また、ルーティング部402は、処理部406に関する第1情報を用いることで、ユースケースに沿ったクライアントのOS毎やさらに細かいルーティングを行うことができる。   From the above, the routing unit 402 can further finely classify the processing unit 406 using the second information for final allocation. Also, the routing unit 402 can perform more detailed routing for each client OS according to the use case by using the first information regarding the processing unit 406.

≪バージョン切り替え≫
図6は、実施形態におけるバージョン切り替え処理の一例を示すシーケンス図である。図6に示すステップS202で、クライアント12は、第2情報とともにトランザクションをルーティング部402に要求する。
≪Switch version≫
FIG. 6 is a sequence diagram illustrating an example of the version switching process in the embodiment. In step S202 illustrated in FIG. 6, the client 12 requests the routing unit 402 for a transaction together with the second information.

ステップS204で、ルーティング部402は、管理部410から予め通知されている第1情報をもとに、処理部406Aにトランザクションを割り振る。ルーティング部402は、第1情報を第2情報に付与してルーティングしてもよい。ルーティング部402は、処理部406Aに対応する第1情報が管理部410から通知されている。   In step S204, the routing unit 402 allocates a transaction to the processing unit 406A based on the first information previously notified from the management unit 410. The routing unit 402 may add the first information to the second information and perform routing. The routing unit 402 is notified of the first information corresponding to the processing unit 406A from the management unit 410.

ステップS206で、処理部406Aは、トランザクションの処理結果をルーティング部402に返す。   In step S206, the processing unit 406A returns the transaction processing result to the routing unit 402.

ステップS208で、ルーティング部402は、トランザクションの処理結果をクライアント12に返す。   In step S <b> 208, the routing unit 402 returns the transaction processing result to the client 12.

ステップS210で、管理部410は、管理者等から指定された個数分新たな処理部406Bを起動させる。このとき、管理部410は、新たな処理部406Bにバージョン情報(v2:第1情報)を付与する。   In step S210, the management unit 410 activates new processing units 406B for the number specified by the administrator or the like. At this time, the management unit 410 gives version information (v2: first information) to the new processing unit 406B.

ステップS212で、処理部406Bは、起動が完了した旨の通知を管理部410に返す。   In step S212, the processing unit 406B returns a notification that activation has been completed to the management unit 410.

ステップS214で、管理部410は、処理部の切り替えと、新たな処理部406Bに付与されたバージョン情報を、ルーティング部402に通知する。このとき、管理部410は、処理部406Bが使うべきキューを通知する。   In step S214, the management unit 410 notifies the routing unit 402 of the switching of the processing unit and the version information given to the new processing unit 406B. At this time, the management unit 410 notifies the queue to be used by the processing unit 406B.

ステップS216で、ルーティング部402は、バージョン切り替えが完了すると、切替完了を管理部410に通知する。同時に、ルーティング部402は、旧バージョンの処理部406Aにトランザクションの割り振りを行わず、新しいバージョンに割当を行う。   In step S216, when the version switching is completed, the routing unit 402 notifies the management unit 410 of the switching completion. At the same time, the routing unit 402 does not allocate a transaction to the processing unit 406A of the old version but allocates the new version.

ステップS218で、クライアント12は、従前の第2情報とともにトランザクションをルーティング部402に要求する。   In step S218, the client 12 requests a transaction from the routing unit 402 together with the previous second information.

ステップS220で、ルーティング部402は、従前の第2情報を有するトランザクションについて、(管理部410から通知されたキューにトランザクションを入れ、このキューに関連付けられた処理部406Bにトランザクションを割り振る。このとき、ルーティング部402は、第1情報を第2情報に付与してルーティングしてもよい。   In step S220, for the transaction having the previous second information, the routing unit 402 puts the transaction in the queue notified from the management unit 410 and allocates the transaction to the processing unit 406B associated with this queue. The routing unit 402 may add the first information to the second information and perform routing.

ステップS222で、処理部406Bは、トランザクションの処理結果をルーティング部402に返す。   In step S222, the processing unit 406B returns the transaction processing result to the routing unit 402.

ステップS224で、ルーティング部402は、トランザクションの処理結果をクライアント12に返す。   In step S224, the routing unit 402 returns the transaction processing result to the client 12.

ステップS228で、管理部410は停止指示を処理部406Aに通知する。停止指示を受けた処理部406Aは処理中のトランザクションがあれば処理を終えた後に停止する。   In step S228, management unit 410 notifies processing unit 406A of a stop instruction. Receiving the stop instruction, the processing unit 406A stops after finishing the processing if there is a transaction being processed.

以上の処理により、クライアント12のOSごとや、クライアントプログラムのバージョンごとに割り振る処理部406を変えたり、処理部406のバージョンアップ時にクライアントプログラムを変更することなく、無停止にサーバーロジックの切り替えを行ったりすることができる。   Through the above processing, the server logic is switched without stopping without changing the processing unit 406 allocated for each OS of the client 12 or each version of the client program, or changing the client program when the processing unit 406 is upgraded. Can be.

≪審査時の切り替え≫
図7は、実施形態における審査時の切り替え処理の一例を示すシーケンス図である。図7に示すステップS302で、クライアントアプリケーションを審査に出す場合、管理部410は、審査用の処理部406Aのキューと、第2情報と、トランザクションの関連付けに関する情報とを含む第1情報を、ルーティング部402に指示する。
≪Switch at the time of examination≫
FIG. 7 is a sequence diagram illustrating an example of a switching process at the time of examination in the embodiment. In step S302 shown in FIG. 7, when the client application is submitted for examination, the management unit 410 routes the first information including the queue of the examination processing unit 406A, the second information, and the information relating to the transaction association. The unit 402 is instructed.

ステップS304で、ルーティング部402は、審査対応が可能であることを管理部410に通知する。   In step S304, the routing unit 402 notifies the management unit 410 that the examination response is possible.

ステップS306で、クライアント12は、第2情報とともにトランザクションをルーティング部402に要求する。   In step S306, the client 12 requests a transaction from the routing unit 402 together with the second information.

ステップS308で、ルーティング部402は、審査用を示す第1情報と、第2情報と基づきキューにトランザクションを入れ、このキューに関連付けられた処理部406Aにトランザクションを割り振る。   In step S308, the routing unit 402 puts a transaction in a queue based on the first information indicating examination and the second information, and allocates the transaction to the processing unit 406A associated with the queue.

ステップS310で、処理部406Aは、トランザクションの処理結果をルーティング部402に返す。   In step S <b> 310, the processing unit 406 </ b> A returns the transaction processing result to the routing unit 402.

ステップS312で、ルーティング部402は、トランザクションの処理結果をクライアント12に返す。   In step S312, the routing unit 402 returns the transaction processing result to the client 12.

ステップS314で、クライアントアプリケーションを本番の市場に出す場合、管理部410は、本番用の処理部406Bのキューと、トランザクションの関連付けに関する情報とを含む第1情報を、ルーティング部402に指示する。本番のキューを示す情報を第1情報とすれば、ルーティング部402は、第1情報から本番用のキューを把握することができるので、審査用から本番用に適切に切り替えることができる。   When the client application is put on the production market in step S314, the management unit 410 instructs the routing unit 402 of first information including the queue of the production processing unit 406B and information relating to transaction association. If the information indicating the production queue is the first information, the routing unit 402 can grasp the production queue from the first information, and therefore can appropriately switch from examination to production.

ステップS316で、ルーティング部402は、本番対応が可能であることを管理部410に通知する。   In step S316, the routing unit 402 notifies the management unit 410 that the actual correspondence is possible.

ステップS318で、クライアント12は、第2情報とともにトランザクションをルーティング部402に要求する。   In step S318, the client 12 requests a transaction from the routing unit 402 together with the second information.

ステップS320で、ルーティング部402は、本番用を示す第1情報と、第2情報と基づくキューにトランザクションを入れ、このキューに関連付けられた処理部406Bにトランザクションを割り振る。   In step S320, the routing unit 402 puts a transaction in a queue based on the first information indicating the actual use and the second information, and allocates the transaction to the processing unit 406B associated with the queue.

ステップS322で、処理部406Bは、トランザクションの処理結果をルーティング部402に返す。   In step S322, the processing unit 406B returns the transaction processing result to the routing unit 402.

ステップS324で、ルーティング部402は、トランザクションの処理結果をクライアント12に返す。   In step S324, the routing unit 402 returns the transaction processing result to the client 12.

以上の処理により、トランザクション制御システム1は、クライアントアプリケーションの審査時には審査用処理部に割り振りを行い、本番切り替え時には切替を指示することで、本番用に適切に切り替えることができる。   Through the above processing, the transaction control system 1 can perform appropriate switching for production by allocating to the examination processing unit when examining the client application and instructing switching when switching the production.

なお、本発明は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。このため、上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、上述の各処理ステップは処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。   The present invention is not limited to the above-described embodiment, and can be implemented in various other forms without departing from the gist of the present invention. For this reason, the said embodiment is only a mere illustration in all points, and is not interpreted limitedly. For example, the above-described processing steps can be executed in any order or in parallel as long as there is no contradiction in the processing contents.

1 トランザクション制御システム
10 クラウド
12 ユーザ端末装置(クライアント)
20 コンピュータ装置
302 CPU
304 RAM
306 ROM
402 ルーティング部
404 認証部
406 処理部
408 DB
410 管理部
1 Transaction control system 10 Cloud 12 User terminal device (client)
20 Computer device 302 CPU
304 RAM
306 ROM
402 Routing unit 404 Authentication unit 406 Processing unit 408 DB
410 Management Department

Claims (7)

1又は複数のサーバを有し、各クライアントから要求されるトランザクションを処理するトランザクション制御システムであって、
前記トランザクションを処理する1又は複数の処理部と、
前記処理部を起動し、該処理部に関する第1情報を付与する管理部と、
前記クライアントからトランザクションのルーティングに関する第2情報とともにトランザクションの処理要求を受け付け、前記第2情報及び前記管理部から通知された前記第1情報に基づいて決定した処理部に、前記トランザクションをルーティングするルーティング部と、
を備え
前記ルーティング部は、
機能ごとにキューを有し、所定の機能を示す第2情報とともにトランザクションをクライアントから受け付けた場合、前記第1情報及び前記第2情報に基づいて、該第2情報が示す所定の機能に対応するキューに関連付けられた前記処理部の群の中から、ルーティングする処理部を決定する、トランザクション制御システム。
A transaction control system having one or more servers and processing a transaction requested by each client,
One or more processing units for processing the transaction;
A management unit that activates the processing unit and assigns first information about the processing unit;
A routing unit that accepts a transaction processing request together with second information related to transaction routing from the client, and routes the transaction to the processing unit determined based on the second information and the first information notified from the management unit When,
Equipped with a,
The routing unit
Each function has a queue, and when a transaction is received from the client together with the second information indicating the predetermined function, it corresponds to the predetermined function indicated by the second information based on the first information and the second information. A transaction control system for determining a processing unit to be routed from the group of processing units associated with a queue .
前記第1情報は、前記処理部のバージョン情報である、請求項1記載のトランザクション制御システム。   The transaction control system according to claim 1, wherein the first information is version information of the processing unit. 前記ルーティング部は、
前記管理部から、前記第2情報は同じであるが前記バージョン情報が異なる処理部への切り替えと、該処理部の異なるバージョン情報が通知された場合、前記クライアントからトランザクションとともに前記第2情報を取得すると、前記異なるバージョン情報の処理部に切り替えて前記トランザクションをルーティングする、請求項2記載のトランザクション制御システム。
The routing unit
When the management unit is notified of switching to a processing unit with the same second information but different version information, and when the different version information of the processing unit is notified, the client acquires the second information together with the transaction. The transaction control system according to claim 2, wherein the transaction is routed by switching to the processing unit of the different version information.
前記第1情報は、クライアントアプリケーションの審査又は本番を示す情報である、請求項1記載のトランザクション制御システム。   The transaction control system according to claim 1, wherein the first information is information indicating examination or production of a client application. 前記ルーティング部は、
前記管理部から、前記審査を示す第1情報が通知された場合、前記クライアントからトランザクションとともに前記第2情報を取得すると、該トランザクションを前記審査に対応する処理部にルーティングし、
前記管理部から、前記本番を示す第1情報が通知された場合、前記クライアントからトランザクションとともに前記第2情報を取得すると、該トランザクションを前記本番に対応する処理部にルーティングする、請求項4記載のトランザクション制御システム。
The routing unit
When the management unit is notified of the first information indicating the examination, when the second information is acquired from the client together with the transaction, the transaction is routed to a processing unit corresponding to the examination,
5. The first information indicating the production is notified from the management unit, and when the second information is acquired together with a transaction from the client, the transaction is routed to a processing unit corresponding to the production. Transaction control system.
1又は複数のサーバを有し、各クライアントから要求されるトランザクションを処理するトランザクション制御システムにおいて、前記トランザクション制御システムに含まれる処理装置が行うトランザクション制御方法であって、
前記トランザクションを処理する1又は複数の処理部が起動された場合、該処理部に関する第1情報を取得する取得ステップと、
前記クライアントからトランザクションとともに処理部へのルーティングに関する第2情報を受け付ける受付ステップと、
受け付けられた前記第2情報と、取得された前記第1情報とに基づいて決定した処理部に、前記トランザクションをルーティングするルーティングステップと、
を有し、
前記ルーティングステップは、
機能ごとにキューを有し、所定の機能を示す第2情報とともにトランザクションをクライアントから受け付けた場合、前記第1情報及び前記第2情報に基づいて、該第2情報が示す所定の機能に対応するキューに関連付けられた前記処理部の群の中から、ルーティングする処理部を決定する、トランザクション制御方法。
In a transaction control system having one or a plurality of servers and processing a transaction requested from each client, a transaction control method performed by a processing device included in the transaction control system,
An acquisition step of acquiring first information regarding the processing unit when one or more processing units for processing the transaction are activated;
A receiving step for receiving second information related to routing from the client to the processing unit together with the transaction;
A routing step for routing the transaction to a processing unit determined based on the received second information and the acquired first information;
I have a,
The routing step includes:
Each function has a queue, and when a transaction is received from the client together with the second information indicating the predetermined function, it corresponds to the predetermined function indicated by the second information based on the first information and the second information. A transaction control method for determining a processing unit to be routed from the group of processing units associated with a queue .
請求項に記載のトランザクション制御方法を処理装置に実行させるためのプログラム。
A program for causing a processing device to execute the transaction control method according to claim 6 .
JP2014257514A 2014-12-19 2014-12-19 Transaction control system, transaction control method and program Active JP6478618B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014257514A JP6478618B2 (en) 2014-12-19 2014-12-19 Transaction control system, transaction control method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014257514A JP6478618B2 (en) 2014-12-19 2014-12-19 Transaction control system, transaction control method and program

Publications (2)

Publication Number Publication Date
JP2016118887A JP2016118887A (en) 2016-06-30
JP6478618B2 true JP6478618B2 (en) 2019-03-06

Family

ID=56244323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014257514A Active JP6478618B2 (en) 2014-12-19 2014-12-19 Transaction control system, transaction control method and program

Country Status (1)

Country Link
JP (1) JP6478618B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000315192A (en) * 1999-04-30 2000-11-14 Ntt Data Corp Client-server system, method for managing server application and recording medium
JP4461777B2 (en) * 2003-11-14 2010-05-12 日本電気株式会社 Transaction processing system and method, and program
JP4957765B2 (en) * 2009-08-24 2012-06-20 日本電気株式会社 Software program execution device, software program execution method, and program

Also Published As

Publication number Publication date
JP2016118887A (en) 2016-06-30

Similar Documents

Publication Publication Date Title
US10635664B2 (en) Map-reduce job virtualization
CN108737270B (en) Resource management method and device for server cluster
US8863138B2 (en) Application service performance in cloud computing
US20190318240A1 (en) Training machine learning models in distributed computing systems
US10061619B2 (en) Thread pool management
US20190318123A1 (en) Data processing in a hybrid cluster environment
KR102103596B1 (en) A computer cluster arragement for processing a computation task and method for operation thereof
CN108667859A (en) A kind of method and device for realizing scheduling of resource
CN111212116A (en) High-performance computing cluster creating method and system based on container cloud
KR20160087706A (en) Apparatus and method for resource allocation of a distributed data processing system considering virtualization platform
JP2005056391A (en) Method and system for balancing workload of computing environment
CN104428752A (en) Offloading virtual machine flows to physical queues
US11169846B2 (en) System and method for managing tasks and task workload items between address spaces and logical partitions
US20210311798A1 (en) Dynamic microservices allocation mechanism
KR20200080458A (en) Cloud multi-cluster apparatus
KR20210105378A (en) How the programming platform&#39;s user code works and the platform, node, device, medium
CN112346871A (en) Request processing method and micro-service system
US8458702B1 (en) Method for implementing user space up-calls on java virtual machine before/after garbage collection
Zhang et al. A communication-aware container re-distribution approach for high performance VNFs
CN115280288A (en) Server system and method of managing server system
CN114911385A (en) Secure sharing of multiple applications during a remote session
Subalakshmi et al. Enhanced hybrid approach for load balancing algorithms in cloud computing
Takefusa et al. Virtual cloud service system for building effective inter-cloud applications
Luckow et al. Abstractions for loosely-coupled and ensemble-based simulations on Azure
Chang et al. A multiple parallel download scheme with server throughput and client bandwidth considerations for data grids

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181019

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190205

R150 Certificate of patent or registration of utility model

Ref document number: 6478618

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250