JP2017033094A - Information processing device, information processing system, information processing method, and program - Google Patents

Information processing device, information processing system, information processing method, and program Download PDF

Info

Publication number
JP2017033094A
JP2017033094A JP2015149740A JP2015149740A JP2017033094A JP 2017033094 A JP2017033094 A JP 2017033094A JP 2015149740 A JP2015149740 A JP 2015149740A JP 2015149740 A JP2015149740 A JP 2015149740A JP 2017033094 A JP2017033094 A JP 2017033094A
Authority
JP
Japan
Prior art keywords
information processing
execution data
processing
execution
business
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015149740A
Other languages
Japanese (ja)
Inventor
雅志 椎葉
Masashi Shiiba
雅志 椎葉
博章 堀口
Hiroaki Horiguchi
博章 堀口
明斗 小林
Akito Kobayashi
明斗 小林
繁樹 岩田
Shigeki Iwata
繁樹 岩田
美弥子 石田
Miyako Ishida
美弥子 石田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Comware Corp
Original Assignee
NTT Comware Corp
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 NTT Comware Corp filed Critical NTT Comware Corp
Priority to JP2015149740A priority Critical patent/JP2017033094A/en
Publication of JP2017033094A publication Critical patent/JP2017033094A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To correspond to various requirements in asynchronous processing flexibly.SOLUTION: An information processing device acquires execution data matched with operation by database and a messaging service server for each of a plurality of operation in plural pieces to perform executive processing in one processing process by asynchronous processing, and includes: a plurality of connectors for acquiring the execution data from asynchronous processing end points, each of which is matched with the plurality of operation; a plurality of worker threads that are matched with each of the plurality of connectors and perform execution processing of the execution data acquired by the corresponding connector; and a controller for controlling the plurality of connectors and the plurality of worker threads to adjust allocation of system resources for each operation.SELECTED DRAWING: Figure 1

Description

本発明は、情報処置装置、情報処理システム、情報処理方法、及びプログラムに関する。   The present invention relates to an information processing apparatus, an information processing system, an information processing method, and a program.

電子商取引の分野等における大規模なシステムにおいて、非同期に処理するバックエンドプロセスを含んで分散トランザクション処理を実行する非同期処理の実行方式が用いられる。従来のマルチスレッドによって非同期処理を行うサーバシステムは、複数のクライアントからの処理要求を処理するために、1つのリスナと複数のワーカースレッドを有する。例えば、特許文献1に記載のサーバシステムでは、リスナがクライアントからの処理要求を受けて、その処理要求に対する処理を、ランダムにいずれかのワーカースレッドに割り当てる。ワーカースレッドは、リスナによって割り当てられた処理について、クライアントからデータを受け取り、受け取ったデータについて処理を実行する。   In a large-scale system in the field of electronic commerce and the like, an asynchronous processing execution method that executes distributed transaction processing including a back-end process that performs asynchronous processing is used. A conventional server system that performs asynchronous processing by multithreading has one listener and a plurality of worker threads in order to process processing requests from a plurality of clients. For example, in the server system described in Patent Document 1, a listener receives a processing request from a client and randomly assigns processing for the processing request to one of worker threads. The worker thread receives data from the client for processing assigned by the listener, and executes processing on the received data.

特開2013−250921号公報JP2013-250921A

しかしながら、従来の非同期処理のサーバシステムは、クライアントからの処理要求に対する処理を、ランダムにいずれかのワーカースレッドに割り当てるため、それぞれの処理要求(業務)毎にワーカースレッドのシステムリソースを割り当てることができない。そのため、例えば、より優先度が高い処理要求(業務)に、より多くのシステムリソースを割り当てるようなことは困難である。また、従来の非同期処理のサーバシステムにおいては、例えばサーバやCPU(Central Processing Unit;中央演算処理装置)を増設することによって、ワーカースレッドのシステムリソースを拡大する際には、それぞれの処理要求(業務)を分割する等の事前準備が必要になり、容易にシステムリソースを拡大することは困難である。このように、従来の非同期処理のサーバシステムは、非同期処理における様々な要件に対して柔軟に対応することができないという課題がある。   However, since the conventional asynchronous processing server system assigns a processing for a processing request from a client to one of the worker threads at random, the system resource of the worker thread cannot be assigned for each processing request (business). . Therefore, for example, it is difficult to allocate more system resources to a processing request (business) having a higher priority. Further, in the conventional asynchronous processing server system, for example, when the system resources of worker threads are expanded by adding a server or a CPU (Central Processing Unit), each processing request (business ) Is necessary, and it is difficult to easily expand system resources. As described above, the conventional server system for asynchronous processing has a problem that it cannot flexibly cope with various requirements in asynchronous processing.

本発明は上記の点に鑑みてなされたものであり、非同期処理における様々な要件に対して柔軟に対応することができる情報処置装置、情報処理システム、情報処理方法、及びプログラムを提供する。   The present invention has been made in view of the above points, and provides an information processing apparatus, an information processing system, an information processing method, and a program that can flexibly cope with various requirements in asynchronous processing.

(1)本発明は上記の課題を解決するためになされたものであり、本発明の一態様としては、データベースやメッセージングサービスサーバより業務に紐づく実行データを複数の業務毎に複数取得し、非同期処理によって1つの処理プロセスにて実行処理する情報処理装置において、前記複数の業務にそれぞれ対応付けられた非同期処理エンドポイントから前記実行データを取得する複数のコネクタと、前記複数のコネクタとそれぞれ対応付けられ、対応する前記コネクタが取得した前記実行データを実行処理する複数のワーカースレッドと、前記複数のコネクタ及び前記複数のワーカースレッドを制御し、前記業務毎にシステムリソースの割り当てを調整する制御部と、を備えることを特徴とする、情報処理装置である。 (1) The present invention has been made to solve the above problems, and as one aspect of the present invention, a plurality of execution data associated with a business is acquired for each of a plurality of business from a database or a messaging service server, In an information processing apparatus that executes processing in one processing process by asynchronous processing, a plurality of connectors that acquire the execution data from asynchronous processing endpoints that are respectively associated with the plurality of tasks, and a plurality of connectors And a plurality of worker threads that execute the execution data acquired by the corresponding connector, and a controller that controls the plurality of connectors and the plurality of worker threads, and adjusts the allocation of system resources for each job. And an information processing apparatus.

(2)また、本発明の一態様としては、前記制御部は、実行処理の起動タイミング及び停止タイミング、またはそのいずれか一方を、前記コネクタ毎に制御する、ことを特徴とする、(1)に記載の情報処理装置である。 (2) Moreover, as one aspect of the present invention, the control unit controls the start timing and stop timing of execution processing, or one of them, for each connector, (1) It is an information processing apparatus as described in.

(3)また、本発明の一態様としては、前記制御部は、実行処理の1トランザクションあたりの前記実行データの量を、前記コネクタ毎に制御する、ことを特徴とする、(1)に記載の情報処理装置である。 (3) Moreover, as one aspect of the present invention, the control unit controls the amount of the execution data per transaction of execution processing for each connector, according to (1), Information processing apparatus.

(4)また、本発明の一態様としては、前記コネクタに複数の前記ワーカースレッドが対応付けられ、前記コネクタが取得した順に前記実行データを前記ワーカースレッドに割り当て、かつ、関連性がある前記実行データについては他の前記ワーカースレッドの割り当てによる実行処理の追い越しを抑止するために、同一の前記ワーカースレッドへ前記関連性がある前記実行データを優先的に割り当てる、ことを特徴とする、(1)に記載の情報処理装置である。 (4) Moreover, as one aspect of the present invention, a plurality of the worker threads are associated with the connector, the execution data is assigned to the worker threads in the order obtained by the connector, and the execution is related. For the data, in order to suppress overtaking of execution processing due to allocation of other worker threads, the related execution data is preferentially allocated to the same worker thread. (1) It is an information processing apparatus as described in.

(5)また、本発明の一態様としては、業務に紐づく実行データを複数の業務毎に複数有する他の装置と、前記他の装置から前記実行データを取得し、非同期処理によって1つの処理プロセスにて実行処理する情報処理装置であって、前記複数の業務にそれぞれ対応付けられた非同期処理エンドポイントから前記実行データを取得する複数のコネクタと、前記複数のコネクタとそれぞれ対応付けられ、対応する前記コネクタが取得した前記実行データを実行処理する複数のワーカースレッドと、前記複数のコネクタ及び前記複数のワーカースレッドを制御し、前記業務毎にシステムリソースの割り当てを調整する制御部と、を備える前記情報処理装置と、を有することを特徴とする、情報処理システムである。 (5) Moreover, as one aspect of the present invention, another apparatus having a plurality of execution data associated with a business for each of a plurality of business operations, the execution data is acquired from the other device, and one process is performed by asynchronous processing. An information processing apparatus that executes processing in a process, wherein a plurality of connectors that acquire the execution data from asynchronous processing endpoints respectively associated with the plurality of tasks, and the plurality of connectors A plurality of worker threads that execute and process the execution data acquired by the connector, and a control unit that controls the plurality of connectors and the plurality of worker threads and adjusts the allocation of system resources for each job. An information processing system comprising the information processing apparatus.

(6)また、本発明の一態様としては、データベースやメッセージングサービスサーバより業務に紐づく実行データを複数の業務毎に複数取得し、非同期処理によって1つの処理プロセスにて実行処理する情報処理方法において、前記複数の業務にそれぞれ対応付けられた非同期処理エンドポイントから前記実行データを取得する複数の第1ステップと、前記複数の第1ステップとそれぞれ対応付けられ、対応する前記第1ステップが取得した実行データを実行処理する複数の第2ステップと、前記複数の第1ステップ及び前記複数の第2ステップを制御し、前記業務毎にシステムリソースの割り当てを調整する第3ステップと、を有することを特徴とする、情報処理方法である。 (6) Moreover, as one aspect of the present invention, an information processing method for acquiring a plurality of pieces of execution data associated with a business from a database or a messaging service server for each of a plurality of business and executing the processing in one processing process by asynchronous processing The plurality of first steps for acquiring the execution data from the asynchronous processing endpoints respectively associated with the plurality of tasks, and the corresponding first steps respectively associated with the plurality of first steps. A plurality of second steps for executing the execution data, and a third step for controlling the plurality of first steps and the plurality of second steps and adjusting the allocation of system resources for each of the tasks. An information processing method characterized by

(7)また、本発明の一態様としては、データベースやメッセージングサービスサーバより業務に紐づく実行データを複数の業務毎に複数取得し、非同期処理によって1つのプロセスにて実行処理するコンピュータに、前記複数の業務にそれぞれ対応付けられた、非同期処理エンドポイントから前記実行データを取得する複数の第1ステップと、前記複数の第1ステップとそれぞれ対応付けられ、対応する前記第1ステップが取得した実行データを実行処理する複数の第2ステップと、前記複数の第1ステップ及び前記複数の第2ステップを制御し、前記業務毎にシステムリソースの割り当てを調整する第3ステップと、を実行させるための、プログラムである。 (7) Moreover, as one aspect of the present invention, a computer that acquires a plurality of execution data associated with a business from a database or a messaging service server for each of a plurality of business, and executes the processing in a single process by asynchronous processing, A plurality of first steps for acquiring the execution data from an asynchronous processing endpoint respectively associated with a plurality of business operations, and an execution associated with the plurality of first steps and acquired by the corresponding first step A plurality of second steps for executing data processing; and a third step for controlling the plurality of first steps and the plurality of second steps and adjusting allocation of system resources for each of the operations. Is a program.

本発明によれば、非同期処理における様々な要件に対して柔軟に対応することができる。   According to the present invention, it is possible to flexibly cope with various requirements in asynchronous processing.

本発明の第1の実施形態に係る情報処理システムの構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of the information processing system which concerns on the 1st Embodiment of this invention. 本発明の第2の実施形態に係る情報処理システムの構成の一例を示す概略図である。It is the schematic which shows an example of a structure of the information processing system which concerns on the 2nd Embodiment of this invention. 本発明の第3の実施形態に係る情報処理システムの構成の一例を示す概略図である。It is the schematic which shows an example of a structure of the information processing system which concerns on the 3rd Embodiment of this invention. 本発明の第4の実施形態に係る情報処理システムと従来システムとの稼働率の比較を示す概略図である。It is the schematic which shows the comparison of the operation rate of the information processing system which concerns on the 4th Embodiment of this invention, and the conventional system. 本発明の第5の実施形態に係る情報処理システムの構成の一例を示す概略図である。It is the schematic which shows an example of a structure of the information processing system which concerns on the 5th Embodiment of this invention.

(第1の実施形態)
以下、本発明の第1の実施形態について、図面を参照しながら説明する。
図1は、本発明の第1の実施形態に係る情報処理システム1Aの構成の一例を示すブロック図である。
第1の実施形態に係る情報処理システム1Aは、情報処理装置10Aと、メッセージサーバ20Aと、を含んで構成される。
(First embodiment)
Hereinafter, a first embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing an example of the configuration of an information processing system 1A according to the first embodiment of the present invention.
An information processing system 1A according to the first embodiment includes an information processing apparatus 10A and a message server 20A.

情報処理装置10Aは、メッセージサーバ20Aから取得する処理対象データを用いてソフトウェア処理を実行する装置である。情報処理装置10Aは、例えば、アプリケーションを実行するアプリケーションサーバである。   The information processing apparatus 10A is an apparatus that executes software processing using processing target data acquired from the message server 20A. The information processing apparatus 10A is, for example, an application server that executes an application.

また、メッセージサーバ20Aは、クライアント(図示せず)から処理対象データを取得し、取得したデータを、複数個のデータをまとめたデータ群(以下、メッセージとも称する)にして、情報処理装置10Aへ提供するためのサーバ装置である。
メッセージサーバ20Aは、例えば、Java(登録商標)プログラムにネットワークを介してデータを送受信させるためのAPI(Application Programming Interface)であるJMS(Java(登録商標) Message Service)を実行するサーバ装置である。
Further, the message server 20A acquires processing target data from a client (not shown), and converts the acquired data into a data group in which a plurality of data is collected (hereinafter also referred to as a message) to the information processing apparatus 10A. It is a server device for providing.
The message server 20A is a server device that executes JMS (Java (registered trademark) Message Service), which is an API (Application Programming Interface) for causing a Java (registered trademark) program to transmit and receive data via a network, for example.

第1の実施形態に係る情報処理装置10Aは、複数のコネクタ101A(101A−1、101A−2、101A−3)と、複数の業務ロジック102A(102A−1、102A−2、102A−3)と、複数のワーカースレッド103A(103A−1a、103A−1b、・・・、103A−1j、103A−2a、103A−2b、・・・、103A−2e、及び103A−3a)と、制御部104Aとを含んで構成される。
なお、図1に示す情報処理装置10Aにおいては、3個のコネクタ、3個の業務ロジック、及び合計16個のワーカースレッドが含まれるが、それぞれの個数はこれに限られるものではなく、任意の個数で構わない。
なお、ここでいう業務ロジックとは、業務に特化した処理を行うプログラムである。業務に特化した処理とは、例えば、各クライアント(連携する他のシステム)から要求され、顧客情報や契約情報などの業務に必要な情報をデータベースに反映する処理等である。
The information processing apparatus 10A according to the first embodiment includes a plurality of connectors 101A (101A-1, 101A-2, 101A-3) and a plurality of business logics 102A (102A-1, 102A-2, 102A-3). A plurality of worker threads 103A (103A-1a, 103A-1b,..., 103A-1j, 103A-2a, 103A-2b,..., 103A-2e, and 103A-3a), and a control unit 104A It is comprised including.
Note that the information processing apparatus 10A shown in FIG. 1 includes three connectors, three business logics, and a total of 16 worker threads, but the number of each is not limited to this, and any number is possible. It doesn't matter how many.
The business logic referred to here is a program that performs processing specialized for business. The business-specific processing is, for example, processing that is requested from each client (other system to be linked) and reflects information necessary for business such as customer information and contract information in a database.

コネクタ101A(101A−1、101A−2、101A−3)は、外部リソース(例えば、メッセージサーバ、またはデータベース)と接続し、処理対象データを取得する。第1の実施形態においては、コネクタ101A(101A−1、101A−2、101A−3)は、メッセージサーバ20Aと接続する。
コネクタ101A(101A−1、101A−2、101A−3)は、一度の処理で複数個のデータ(メッセージ)を取得することで、バッチコミットを行うことができる。バッチコミットとは、複数個のデータを1トランザクションで処理することでコミットのオーバーヘッドを軽減し、スループットを向上させることができる実行方式である。
The connector 101A (101A-1, 101A-2, 101A-3) is connected to an external resource (for example, a message server or a database), and acquires processing target data. In the first embodiment, the connector 101A (101A-1, 101A-2, 101A-3) is connected to the message server 20A.
The connector 101A (101A-1, 101A-2, 101A-3) can perform batch commit by acquiring a plurality of data (messages) in a single process. Batch commit is an execution method that can reduce the overhead of commit and improve throughput by processing a plurality of data in one transaction.

業務ロジック102A(102A−1、102A−2、102A−3)は、コネクタ101A(101A−1、101A−2、101A−3)が取得した処理対象データを実行処理するためのロジック(例えば、プログラムコード)である。業務ロジック102A(102A−1、102A−2、102A−3)は、後述するワーカースレッド103A(103A−1a、103A−1b、・・・、103A−1j、103A−2a、103A−2b、・・・、103A−2e、及び103A−3a)が生成されることにより実行される。
なお、図1に示すようにコネクタ101A(101A−1、101A−2、101A−3)と、業務ロジック102A(102A−1、102A−2、102A−3)とは、それぞれ1対1に対応づけられる。例えば、処理内容が異なる2種類の業務ロジック、「顧客情報更新」及び「契約情報更新」が存在する場合には、各業務ロジックにそれぞれ1つのコネクタが対応づけられる。
The business logic 102 </ b> A (102 </ b> A- 1, 102 </ b> A- 2, 102 </ b> A- 3) is logic (for example, a program) for executing the processing target data acquired by the connector 101 </ b> A (101 </ b> A- 1, 101 </ b> A- 2, 101 </ b> A- 3). Code). The business logic 102A (102A-1, 102A-2, 102A-3) is a worker thread 103A (103A-1a, 103A-1b,... 103A-1j, 103A-2a, 103A-2b,. • 103A-2e and 103A-3a) are generated and executed.
As shown in FIG. 1, the connector 101A (101A-1, 101A-2, 101A-3) and the business logic 102A (102A-1, 102A-2, 102A-3) have a one-to-one correspondence. It is attached. For example, when there are two types of business logics with different processing contents, “customer information update” and “contract information update”, one connector is associated with each business logic.

ワーカースレッド103A(103A−1a、103A−1b、・・・、103A−1j、103A−2a、103A−2b、・・・、103A−2e、及び103A−3a)は、並列処理におけるプログラムの実行単位である。各ワーカースレッド103Aは、複数個生成されることによって、対応する業務ロジック102を並列に複数同時実行することができる。
ワーカースレッド103A(103A−1a、103A−1b、・・・、103A−1j、103A−2a、103A−2b、・・・、103A−2e、及び103A−3a)は、処理対象データが存在する場合に、業務ロジック102A(102A−1、102A−2、102A−3)を実行する。また、ワーカースレッド103A(103A−1a、103A−1b、・・・、103A−1j、103A−2a、103A−2b、・・・、103A−2e、及び103A−3a)は、処理対象データが存在しない場合には、新たな処理対象データが発生するまで待機する。
The worker thread 103A (103A-1a, 103A-1b,..., 103A-1j, 103A-2a, 103A-2b,..., 103A-2e, and 103A-3a) is a program execution unit in parallel processing. It is. Each worker thread 103 </ b> A can generate a plurality of corresponding business logics 102 in parallel by being generated a plurality.
The worker thread 103A (103A-1a, 103A-1b,..., 103A-1j, 103A-2a, 103A-2b,..., 103A-2e, and 103A-3a) has processing target data. The business logic 102A (102A-1, 102A-2, 102A-3) is executed. The worker thread 103A (103A-1a, 103A-1b,..., 103A-1j, 103A-2a, 103A-2b,..., 103A-2e, and 103A-3a) has processing target data. If not, it waits until new data to be processed is generated.

第1の実施形態に係る情報処理装置10Aにおいて、各業務ロジック102A(102A−1、102A−2、102A−3)を実行するために生成されるワーカースレッド103Aの数の上限値は、予め定められている。図1に例示する情報処理装置10Aにおいては、業務ロジック102A−1を実行するワーカースレッド103A−1は、最大10個まで生成される(ワーカースレッド103A−1a、ワーカースレッド103A−1b、・・・、ワーカースレッド103A−1j))。また、業務ロジック102A−2を実行するワーカースレッド103A−2は、最大5個まで生成される(ワーカースレッド103A−2a、103A−2b、・・・、103A−2e)。また、業務ロジック102A−2を実行するワーカースレッド103A−2は、最大でも1個のみ生成される(ワーカースレッド103A−3a)。
生成される各ワーカースレッド103Aの数の上限値は、例えば、予め設定ファイル(図示せず)等に定義される。生成される各ワーカースレッド103Aの数の上限値は、例えば、各業務の重要度に応じて、情報処理装置10Aのユーザによって定義される。
In the information processing apparatus 10A according to the first embodiment, an upper limit value of the number of worker threads 103A generated to execute each business logic 102A (102A-1, 102A-2, 102A-3) is determined in advance. It has been. In the information processing apparatus 10A illustrated in FIG. 1, up to ten worker threads 103A-1 for executing the business logic 102A-1 are generated (worker threads 103A-1a, worker threads 103A-1b,... , Worker thread 103A-1j)). Also, up to five worker threads 103A-2 for executing the business logic 102A-2 are generated (worker threads 103A-2a, 103A-2b,..., 103A-2e). Further, only one worker thread 103A-2 that executes the business logic 102A-2 is generated at the maximum (worker thread 103A-3a).
The upper limit value of the number of worker threads 103A to be generated is defined in advance in a setting file (not shown), for example. The upper limit value of the number of worker threads 103A to be generated is defined by the user of the information processing apparatus 10A, for example, according to the importance of each job.

制御部104Aは、コネクタ101A(101A−1、101A−2、101A−3)の動作の制御、及びワーカースレッド103A(103A−1a、103A−1b、・・・、103A−1j、103A−2a、103A−2b、・・・、103A−2e、及び103A−3a)の生成、等を制御する。制御部104Aは、例えば、上述した制御ファイルが示す定義に基づいて、ワーカースレッド103Aが起動している数が上限数に達しているかを判定する。制御部104Aは、ワーカースレッド103Aが起動している数が上限数に達していないと判定した場合には、ワーカースレッド103Aを新たに生成する。また、制御部104Aは、ワーカースレッド103Aが起動している数が上限数に達していると判定した場合には、実行中のワーカースレッドのいずれかが実行完了して消滅するまで待機した後、ワーカースレッド103Aを新たに生成する。   The control unit 104A controls the operation of the connector 101A (101A-1, 101A-2, 101A-3) and the worker thread 103A (103A-1a, 103A-1b,..., 103A-1j, 103A-2a, 103A-2b,... 103A-2e and 103A-3a) are controlled. For example, the control unit 104A determines whether the number of worker threads 103A running has reached the upper limit number based on the definition indicated by the control file described above. When it is determined that the number of worker threads 103A activated has not reached the upper limit, the control unit 104A newly generates a worker thread 103A. In addition, when the control unit 104A determines that the number of worker threads 103A that have been activated has reached the upper limit, after waiting for any of the running worker threads to complete and disappear, A new worker thread 103A is generated.

メッセージサーバ20Aは、業務201A(201A−1、201A−2、201A−3)と、処理対象データ202A(202A−1、202A−2、202A−3)と、を含んで構成される。
図1に例示するメッセージサーバ20Aにおいては、3個の業務201A(201A−1、201A−2、201A−3)があり、それぞれの業務201A(201A−1、201A−2、201A−3)は、それぞれ処理対象データ202A(202A−1、202A−2、202A−3)を有する。メッセージサーバ20Aは、例えば、各処理対象データ202A(202A−1、202A−2、202A−3)を、それぞれクライアント(図示せず)から取得する。
図1に例示するメッセージサーバ20Aにおいては、3個の業務201A(201A−1、201A−2、201A−3)が含まれるが、その個数は3個に限られるものではなく、それよりも多くてもよいし、少なくてもよい。
The message server 20A includes business 201A (201A-1, 201A-2, 201A-3) and processing target data 202A (202A-1, 202A-2, 202A-3).
In the message server 20A illustrated in FIG. 1, there are three tasks 201A (201A-1, 201A-2, 201A-3), and each task 201A (201A-1, 201A-2, 201A-3) , Respectively, have processing target data 202A (202A-1, 202A-2, 202A-3). For example, the message server 20A acquires each processing target data 202A (202A-1, 202A-2, 202A-3) from a client (not shown).
The message server 20A illustrated in FIG. 1 includes three tasks 201A (201A-1, 201A-2, 201A-3), but the number is not limited to three, and more than that. It may be less or less.

また、図1に例示する情報処理システム1Aにおいては、メッセージサーバ20Aが有する各業務201A(201A−1、201A−2、201A−3)と、情報処理装置10Aの各コネクタ101A(101A−1、101A−2、101A−3)とは、1対1に対応付けられているが、これに限られない。例えば、メッセージサーバ20Aが有する業務201Aの1つに、情報処理装置10Aのコネクタ101Aが複数個対応づけられていても構わない。   Further, in the information processing system 1A illustrated in FIG. 1, each business 201A (201A-1, 201A-2, 201A-3) included in the message server 20A and each connector 101A (101A-1, 101A-1, 101A-3) of the information processing apparatus 10A are included. 101A-2 and 101A-3) are associated one-to-one, but are not limited thereto. For example, a plurality of connectors 101A of the information processing apparatus 10A may be associated with one of the tasks 201A of the message server 20A.

以上説明したように、第1の実施形態に係る情報処理システム1Aにおいて、情報処理装置10Aは、各業務ロジック102A(102A−1、102A−2、102A−3)を実行するために生成されるワーカースレッド103Aの個数の上限値を、それぞれ個別に設定することができる。これにより、情報処理装置10Aは、メッセージサーバ20Aが有する業務毎に、任意のシステムリソース(ワーカースレッド数)をそれぞれ割り当てることができる。
以上により、本発明の第1の実施形態に係る情報処理システム1Aは、非同期処理において、業務毎に異なる割合で、システムリソースの割り当てを指定(調整)したいという要件に対して、柔軟に対応することができる。
As described above, in the information processing system 1A according to the first embodiment, the information processing apparatus 10A is generated to execute each business logic 102A (102A-1, 102A-2, 102A-3). The upper limit value of the number of worker threads 103A can be set individually. As a result, the information processing apparatus 10A can allocate an arbitrary system resource (number of worker threads) for each task of the message server 20A.
As described above, the information processing system 1A according to the first embodiment of the present invention flexibly responds to the requirement to specify (adjust) the allocation of system resources at different rates for each task in asynchronous processing. be able to.

(第2の実施形態)
以下、本発明の第2の実施形態について、図面を参照しながら説明する。
図2は、本発明の第2の実施形態に係る情報処理システム1Bの構成の一例を示す概略図である。なお、上記説明した第1の実施形態に係る情報処理システム1Aと共通する部分については説明を省略する。
第2の実施形態に係る情報処理システム1Bは、システムリソースの拡張により処理性能の向上(例えば、実行処理速度の高速化)が可能である。例えば、業務201Bの処理対象データ202Bが増えて高負荷化することにより、実行処理速度を高速化したい場合等において、システムリソースの拡張がなされる。
(Second Embodiment)
Hereinafter, a second embodiment of the present invention will be described with reference to the drawings.
FIG. 2 is a schematic diagram illustrating an example of a configuration of an information processing system 1B according to the second embodiment of the present invention. In addition, description is abbreviate | omitted about the part which is common in information processing system 1A which concerns on 1st Embodiment demonstrated above.
The information processing system 1B according to the second embodiment can improve processing performance (for example, increase the execution processing speed) by expanding system resources. For example, system resources are expanded when it is desired to increase the execution processing speed by increasing the processing load data 202B of the business 201B and increasing the load.

下記において説明する情報処理システム1Bのシステムリソース拡張方法として、スケールアップとスケールアウトの2つの方法がある。
スケールアップは、既存の各情報処理装置10Bを機能強化して処理性能を向上させることである。例えば、スケールアップは、情報処理装置10BのCPUやメモリ等が増設されることによって、情報処理装置10Bの処理性能が向上することである。
また、スケールアウトは、情報処理装置10Bの台数を増やすことによって情報処理システム1Bの処理性能を向上させることである。例えば、スケールアウトは、既存の情報処理装置10B−1に加え、新たに情報処理装置10B−2を増設されることによって情報処理システム1B全体の処理性能が向上することである。
There are two methods of scaling up and scaling out as system resource expansion methods of the information processing system 1B described below.
The scale-up is to improve the processing performance by strengthening the function of each existing information processing apparatus 10B. For example, the scale-up is that the processing performance of the information processing apparatus 10B is improved by adding a CPU, a memory, and the like of the information processing apparatus 10B.
The scale-out is to improve the processing performance of the information processing system 1B by increasing the number of information processing apparatuses 10B. For example, the scale-out is that the processing performance of the entire information processing system 1B is improved by newly adding the information processing apparatus 10B-2 in addition to the existing information processing apparatus 10B-1.

第2の実施形態に係る情報処理装置10B(10B−1、10B−2)は、上述したように、スケールアップを図ることができる。情報処理装置10B(10B−1、10B−2)は、スケールアップにより、多重起動可能なワーカースレッド数の上限値を増やすことが可能である。なお、上限値の設定変更は、コネクタ毎に可能である。多重起動するワーカースレッド数が増えることにより、ワーカースレッドに紐づいて実行される業務ロジック数も増える。   As described above, the information processing apparatus 10B (10B-1, 10B-2) according to the second embodiment can be scaled up. The information processing apparatus 10 </ b> B (10 </ b> B- 1, 10 </ b> B- 2) can increase the upper limit value of the number of worker threads that can be activated multiple times by scaling up. Note that the setting of the upper limit value can be changed for each connector. As the number of worker threads that are activated in multiple increases, the number of business logics that are executed in association with worker threads also increases.

なお、従来のシステムは、コネクタ101B(101B−1,101B−2)を備えていないことにより、システムを運用しつつ、スケールアップをすることが容易ではなかった。すなわち、従来のシステムは、生成可能なワーカースレッド103B−1の個数を増やすためには、処理対象データを予め分割し、関連するデータ毎にまとめて情報処理装置10B(10B−1、10B−2)にそれぞれ提供するような構成である必要があった。   Since the conventional system does not include the connector 101B (101B-1, 101B-2), it is not easy to scale up while operating the system. That is, in the conventional system, in order to increase the number of worker threads 103B-1 that can be generated, the data to be processed is divided in advance, and information processing apparatuses 10B (10B-1, 10B-2) are grouped for each related data. It was necessary to have a configuration as provided respectively.

一方、第2の実施形態に係る情報処理装置10B(10B−1、10B−2)は、コネクタ101B(101B−1,101B−2)を備える。また、第2の実施形態に係る情報処理システム1において、情報処理装置10B−1が備えるコネクタ101B−1と、情報処理装置10B−2が備えるコネクタ101B−2とは、制御装置30Bにより制御部104B(104B−1、104B−2)を介して、互いに排他制御されて処理対象データ202Bのデータ取得を行う。これにより、第2の実施形態に係る情報処理システム1Bでは、処理対象データ202Bが、実行順序の保障が求められるデータである場合であっても、実行順序の保障をしつつ、情報処理装置10B(10B−1、10B−2)がそれぞれ同時起動可能なワーカースレッドの上限数を追加するスケールアップを図ることができる。したがって、従来のシステムに比べ、第2の実施形態に係る情報処理装置10B(10B−1、10B−2)は、スケールアップを容易に行うことができる。   On the other hand, the information processing apparatus 10B (10B-1, 10B-2) according to the second embodiment includes a connector 101B (101B-1, 101B-2). In the information processing system 1 according to the second embodiment, the connector 101B-1 included in the information processing device 10B-1 and the connector 101B-2 included in the information processing device 10B-2 are controlled by the control device 30B. Via the 104B (104B-1, 104B-2), the data to be processed 202B is acquired under mutually exclusive control. As a result, in the information processing system 1B according to the second embodiment, even when the processing target data 202B is data for which the guarantee of the execution order is required, the information processing apparatus 10B while ensuring the execution order. (10B-1, 10B-2) can be scaled up by adding the upper limit number of worker threads that can be started simultaneously. Therefore, compared to the conventional system, the information processing apparatus 10B (10B-1, 10B-2) according to the second embodiment can easily scale up.

また、第2の実施形態に係る情報処理システム1Bは、既存の情報処理装置10B−1に加え、情報処理装置10B(例えば情報処理装置10B−2)を新たに追加することによって、上述したスケールアウトを図ることができる。例えば、このスケールアウトにより、情報処理システム1Bが生成可能なワーカースレッド103Bの個数の上限値は、既存の情報処理装置10B−1が生成可能なワーカースレッド103B(例えば、ワーカースレッド103B−1a、103B−1b、・・・、103B−1j)の個数の上限値(例えば、10個)に、新たに追加した情報処理装置10B−2が生成可能なワーカースレッド103B(例えば、ワーカースレッド103B−2a、103B−2b、・・・、103B−2j)の個数の上限値(例えば、10個)を加えた個数(例えば、20個)となる。   Further, the information processing system 1B according to the second embodiment adds the information processing apparatus 10B (for example, the information processing apparatus 10B-2) to the scale described above in addition to the existing information processing apparatus 10B-1. You can try out. For example, the upper limit of the number of worker threads 103B that can be generated by the information processing system 1B by this scale-out is the worker thread 103B that can be generated by the existing information processing apparatus 10B-1 (for example, worker threads 103B-1a and 103B). -1b,..., 103B-1j) to the upper limit (for example, 10), the worker thread 103B (for example, worker thread 103B-2a, 103B-2b,..., 103B-2j) is added to the upper limit (for example, 10) (for example, 20).

なお、従来のシステムは、コネクタ101B(101B−1,101B−2)を備えていないことにより、システムを運用しつつ、スケールアウトをすることが容易ではなかった。すなわち、従来のシステムは、上述したように、生成可能なワーカースレッド103B−1の個数を増やすためには、処理対象データを予め分割し、関連するデータ毎にまとめて情報処理装置10B−1のコネクタ101B−1、及び情報処理装置10B−2のコネクタ101B−2に提供するような構成である必要があった。   Since the conventional system does not include the connector 101B (101B-1, 101B-2), it is not easy to scale out while operating the system. That is, as described above, in order to increase the number of worker threads 103B-1 that can be generated, the conventional system divides processing target data in advance and collects the related data together for each piece of related data. The configuration needs to be provided to the connector 101B-1 and the connector 101B-2 of the information processing apparatus 10B-2.

一方、第2の実施形態に係る情報処理装置10B(10B−1、10B−2)は、コネクタ101B(101B−1、101B−2)を備える。また、第2の実施形態に係る情報処理システム1において、情報処理装置10B−1が備えるコネクタ101B−1と、情報処理装置10B−2が備えるコネクタ101B−2とは、制御装置30Bにより制御部104B(104B−1、104B−2)を介して、互いに排他制御されて処理対象データ202Bのデータ取得を行う。これにより、第2の実施形態に係る情報処理システム1Bでは、処理対象データ202Bが、実行順序の保障が求められるデータである場合であっても、実行順序の保障をしつつ、新たな情報処理装置10Bを追加するスケールアウトを図ることができる。したがって、従来のシステムに比べ、第2の実施形態に係る情報処理システム1Bは、スケールアウトを容易に行うことができる。   On the other hand, the information processing apparatus 10B (10B-1, 10B-2) according to the second embodiment includes a connector 101B (101B-1, 101B-2). In the information processing system 1 according to the second embodiment, the connector 101B-1 included in the information processing device 10B-1 and the connector 101B-2 included in the information processing device 10B-2 are controlled by the control device 30B. Via the 104B (104B-1, 104B-2), the data to be processed 202B is acquired under mutually exclusive control. As a result, in the information processing system 1B according to the second embodiment, even when the processing target data 202B is data for which the guarantee of the execution order is required, new information processing can be performed while guaranteeing the execution order. It is possible to scale out by adding the device 10B. Therefore, compared with the conventional system, the information processing system 1B according to the second embodiment can easily scale out.

以上説明したように、本発明の第2の実施形態に係る情報処理システム1Bは、非同期処理において、情報処理システム1Bの運用をしつつ、容易にシステムリソースの拡張をしたいという要件に対して、柔軟に対応することができる。   As described above, the information processing system 1B according to the second embodiment of the present invention meets the requirement of easily expanding system resources while operating the information processing system 1B in asynchronous processing. It can respond flexibly.

(第3の実施形態)
以下、本発明の第3の実施形態について、図面を参照しながら説明する。
図3は、本発明の第3の実施形態に係る情報処理システム1Cの構成の一例を示す概略図である。なお、上記説明した第1の実施形態に係る情報処理システム1A、及び第2の実施形態に係る情報処理システム1Bと共通する部分については説明を省略する。
(Third embodiment)
Hereinafter, a third embodiment of the present invention will be described with reference to the drawings.
FIG. 3 is a schematic diagram showing an example of the configuration of an information processing system 1C according to the third embodiment of the present invention. In addition, description is abbreviate | omitted about the part which is common in information processing system 1A which concerns on 1st Embodiment described above, and information processing system 1B which concerns on 2nd Embodiment.

第3の実施形態に係る情報処理システム1Cは、業務毎に柔軟な運用が可能である。例えば、情報処理システム1Cは、業務201C(201C−1、201C−2、201C−3)毎に、情報処理装置10Cによる実行処理を起動または停止することができる。また、例えば、情報処理システム1Cは、業務201C(201C−1、201C−2、201C−3)毎に、運用時間(起動タイミング及び停止タイミング)を指定することができる。また、例えば、情報処理システム1Cは、連携する他システム(クライアント)において障害が発生した場合であっても、当該障害が発生したシステムから提供された処理対象データ201Cを取得するコネクタ103Cのみを、部分的に停止することができる。   The information processing system 1C according to the third embodiment can be operated flexibly for each business. For example, the information processing system 1C can start or stop the execution process by the information processing apparatus 10C for each task 201C (201C-1, 201C-2, 201C-3). Further, for example, the information processing system 1C can specify the operation time (start timing and stop timing) for each business 201C (201C-1, 201C-2, 201C-3). In addition, for example, even if a failure occurs in another system (client) that cooperates, the information processing system 1C includes only the connector 103C that acquires the processing target data 201C provided from the system in which the failure has occurred. Can be partially stopped.

図3に図示するように、連携する他システムがDBサーバ50C−1である場合には、DBサーバ50C−1から提供される処理対象データ202C−1を取得するコネクタ101C−1は、例えば、常時起動状態にされる。   As illustrated in FIG. 3, when the other system to be linked is the DB server 50C-1, the connector 101C-1 that acquires the processing target data 202C-1 provided from the DB server 50C-1 is, for example, Always activated.

また、図3に図示するように、連携する他システムが、9時から18時までの時間帯のみ運用される他システム50C−2である場合には、他システム50C−2から提供される処理対象データ202C−2を取得するコネクタ101C−2は、例えば、他システム50C−2の運用時間帯と同一の時間帯である9時から18時までの時間帯にのみ、起動した状態にされる。すなわち、情報処理装置10Cは、他システム50C−2から処理対象データ202C−2が提供されることのない時間帯は、他システム50C−2から提供される処理対象データ202C−2を取得するためのコネクタ101C−2を停止状態にさせておくことができる。これにより、情報処理装置10Cの運用コストを低減させることができる。
なお、コネクタ101C−2の起動処理及び停止処理は、例えば、運用管理ツール60Cによって制御される。
Also, as shown in FIG. 3, when the other system to be linked is the other system 50C-2 that is operated only during the time period from 9:00 to 18:00, the processing provided from the other system 50C-2 For example, the connector 101C-2 that acquires the target data 202C-2 is activated only in the time zone from 9:00 to 18:00, which is the same time zone as the operation time zone of the other system 50C-2. . That is, the information processing apparatus 10C acquires the processing target data 202C-2 provided from the other system 50C-2 in a time zone when the processing target data 202C-2 is not provided from the other system 50C-2. The connector 101C-2 can be stopped. Thereby, the operating cost of the information processing apparatus 10C can be reduced.
Note that the start processing and stop processing of the connector 101C-2 are controlled by, for example, the operation management tool 60C.

また、図3に図示するように、連携する他システム50C−3において障害が発生した場合には、他システム50C−3から提供される処理対象データ202C−3を取得するコネクタ101C−3は、例えば、停止した状態にされる。すなわち、情報処理装置10Cは、障害発生によって他システム50C−3から処理対象データ202C−3が提供されることのない状態である場合、他システム50C−3から提供される処理対象データ202C−3を取得するためのコネクタ101C−3を停止状態にさせておくことができる。これにより、情報処理装置10Cの運用コストを低減させることができる。   Further, as illustrated in FIG. 3, when a failure occurs in the other system 50C-3 that cooperates, the connector 101C-3 that acquires the processing target data 202C-3 provided from the other system 50C-3 is For example, it is in a stopped state. That is, when the information processing apparatus 10C is in a state in which the processing target data 202C-3 is not provided from the other system 50C-3 due to the occurrence of a failure, the processing target data 202C-3 provided from the other system 50C-3. The connector 101C-3 for obtaining the information can be stopped. Thereby, the operating cost of the information processing apparatus 10C can be reduced.

以上説明したように、第3の実施形態に係る情報処理システム1Aにおいて、情報処理装置10Aは、連携する他システム50C(50C−1、50C−2、50C−3)によりそれぞれ提供される処理対象データ202C(202C−1、202C−2、202C−3)をそれぞれ取得するコネクタ101C(102C−1、102C−2、102C−3)毎に、実行処理を起動または停止させることができる。   As described above, in the information processing system 1A according to the third embodiment, the information processing apparatus 10A is a processing target provided by each of the other systems 50C (50C-1, 50C-2, and 50C-3) that cooperate with each other. The execution process can be started or stopped for each connector 101C (102C-1, 102C-2, 102C-3) that acquires the data 202C (202C-1, 202C-2, 202C-3).

以上により、本発明の第3の実施形態に係る情報処理システム1Cは、非同期処理において、業務毎に情報処理装置10Cの起動及び停止を制御したいという要件に対して、柔軟に対応することができる。   As described above, the information processing system 1C according to the third embodiment of the present invention can flexibly cope with the requirement to control activation and stop of the information processing apparatus 10C for each job in asynchronous processing. .

(第4の実施形態)
以下、本発明の第4の実施形態について、図面を参照しながら説明する。
図4は、本発明の第4の実施形態に係る情報処理システム1と従来システムとの稼働率の比較を示す概略図である。
(Fourth embodiment)
Hereinafter, a fourth embodiment of the present invention will be described with reference to the drawings.
FIG. 4 is a schematic diagram showing a comparison of operating rates between the information processing system 1 according to the fourth embodiment of the present invention and the conventional system.

図4(A)の上段の図は、従来システムにおける処理対象データの処理の実行イメージを表す。従来システムにおいては、各クライアントから取得した1つの処理対象データ(メッセージ)の処理を実行する毎に、コミット処理を行う。図4(A)の上段の図に示すように、従来システムは、処理対象データの実行処理ma1を実行した後、コミット処理ca1を実行する。次に、従来システムは、実行処理ma2を実行した後、コミット処理ca2を実行する。次に、従来システムは、実行処理ma3を実行した後、コミット処理ca3を実行する。   The upper part of FIG. 4A shows an execution image of processing of processing target data in the conventional system. In the conventional system, the commit process is performed every time one process target data (message) acquired from each client is processed. As shown in the upper diagram of FIG. 4A, the conventional system executes the commit process ca1 after executing the execution process ma1 of the processing target data. Next, the conventional system executes the commit process ca2 after executing the execution process ma2. Next, the conventional system executes the commit process ca3 after executing the execution process ma3.

なお、コミット処理とは、トランザクション処理が成功した時に、その結果を確定させる処理のことである。また、トランザクション処理とは、関連する複数の処理や操作を一つの処理単位にまとめて管理する方式のことである。   Note that the commit process is a process for determining the result when the transaction process is successful. Transaction processing is a method for managing a plurality of related processes and operations in one processing unit.

図4(A)の下段の図は、従来システムにおける処理対象データの処理の実行に伴う、従来システムの稼働率(例えば、CPU使用率)のイメージを表す。従来システムでは、1つの処理対象データ(メッセージ)の処理を実行する毎にコミット処理を行うことによって、図4(A)の下段の図に図示するように、従来システムの稼働率が頻繁に低下と上昇を繰り返すことになる。これは、稼働率が低下するコミット処理を頻繁に行うことに起因する。   The lower part of FIG. 4A represents an image of the operating rate (for example, CPU usage rate) of the conventional system that accompanies execution of processing of processing target data in the conventional system. In the conventional system, by performing the commit process every time one piece of processing target data (message) is executed, the operation rate of the conventional system is frequently lowered as shown in the lower diagram of FIG. And will continue to rise. This is due to frequent commit processing that lowers the operating rate.

一方、図4(B)の上段の図は、第4の実施形態に係る情報処理装置10における、処理対象データの処理の実行イメージを表す。第4の実施形態に係る情報処理装置10は、1トランザクションで処理する処理対象データ(メッセージ)の数を、業務毎に設定することができる。第4の実施形態に係る情報処理装置10は、各クライアントから取得した処理対象データ(メッセージ)について予め指定された量だけ連続して実行処理する毎に、コミット処理を行う。図4(B)の上段の図に示すように、第4の実施形態に係る情報処理装置10は、処理対象データの実行処理ma1を実行した後、コミット処理ca1を実行する。   On the other hand, the upper diagram in FIG. 4B represents an execution image of processing of processing target data in the information processing apparatus 10 according to the fourth embodiment. The information processing apparatus 10 according to the fourth embodiment can set the number of processing target data (messages) to be processed in one transaction for each business. The information processing apparatus 10 according to the fourth embodiment performs a commit process each time the process target data (message) acquired from each client is continuously executed by a predetermined amount. As shown in the upper diagram of FIG. 4B, the information processing apparatus 10 according to the fourth embodiment executes the commit process ca1 after executing the execution process ma1 of the processing target data.

図4(B)の下段の図は、第4の実施形態に係る情報処理装置10における、処理対象データの処理の実行に伴う、情報処理装置10の稼働率(例えば、CPU使用率)のイメージを表す。情報処理装置10では、予め指定された量の処理対象データ(メッセージ)を連続して実行処理する毎にコミット処理を行うことによって、図4(B)の下段の図に図示するように、従来システムと比べ稼働率が上昇している期間を長くすることができる。すなわち、第4の実施形態に係る情報処理装置10は、1トランザクションで複数の処理対象データ(メッセージ)を処理することで、コミット処理の実行に起因するオーバーヘッドを低減することができる。   The lower part of FIG. 4B is an image of the operation rate (for example, CPU usage rate) of the information processing apparatus 10 associated with the execution of processing of the processing target data in the information processing apparatus 10 according to the fourth embodiment. Represents. As shown in the lower diagram of FIG. 4B, the information processing apparatus 10 performs a commit process every time execution of a predetermined amount of processing target data (message) continuously. Compared with the system, it is possible to lengthen the period during which the operating rate is rising. That is, the information processing apparatus 10 according to the fourth embodiment can reduce overhead due to execution of commit processing by processing a plurality of processing target data (messages) in one transaction.

以上により、本発明の第4の実施形態に係る情報処理システム1は、非同期処理において、業務単位で、自らの情報処理システム1の稼働率を向上させたいという要件に対して、柔軟に対応することができる。   As described above, the information processing system 1 according to the fourth exemplary embodiment of the present invention flexibly responds to the requirement to improve the operation rate of the information processing system 1 for each business in asynchronous processing. be able to.

(第5の実施形態)
以下、本発明の第5の実施形態について、図面を参照しながら説明する。
図5は、本発明の第5の実施形態に係る情報処理システム1Dの構成の一例を示す概略図である。なお、上記説明した第1の実施形態に係る情報処理システム1A、乃至第3の実施形態に係る情報処理システム1Cと共通する部分については説明を省略する。
(Fifth embodiment)
Hereinafter, a fifth embodiment of the present invention will be described with reference to the drawings.
FIG. 5 is a schematic diagram showing an example of the configuration of an information processing system 1D according to the fifth embodiment of the present invention. In addition, description is abbreviate | omitted about the information processing system 1A which concerns on 1st Embodiment demonstrated above, or the information processing system 1C which concerns on 3rd Embodiment.

第5の実施形態に係る情報処理システム1Dは、処理対象データ202Dの実行処理において、実行順序を保障しつつ実行処理を行うことができる。
図5に図示するように、メッセージサーバ20Dには、例えば、業務201Dに関する処理対象データ202Dが3個発生している状態である。以下、これらの3個の処理対象データ202Dを、それぞれメッセージr1、メッセージr2、及びメッセージr3と称する。
The information processing system 1D according to the fifth embodiment can perform the execution process while ensuring the execution order in the execution process of the processing target data 202D.
As shown in FIG. 5, the message server 20D is in a state where, for example, three pieces of processing target data 202D related to the business 201D are generated. Hereinafter, these three pieces of processing target data 202D are referred to as a message r1, a message r2, and a message r3, respectively.

メッセージr1、メッセージr2、及びメッセージr3には、それぞれ「orderID」が付与されている。orderIDとは、例えば、業務ルールに基づいて付与された識別子である。orderIDが同一であるメッセージ間においては、実行順序の保障が求められる。
図5に図示するように、例えば、メッセージr1、メッセージr2、及びメッセージr3に付与されているorderIDは、それぞれ「0010」、「0011」、及び「0010」である。また、例えば、メッセージr1、メッセージr2、及びメッセージr3に基づいて実行される処理は、それぞれ「登録」、「登録」、及び「キャンセル」である。
“OrderID” is assigned to each of the message r1, the message r2, and the message r3. The order ID is, for example, an identifier assigned based on a business rule. The guarantee of the execution order is required between messages having the same orderID.
As illustrated in FIG. 5, for example, the order IDs assigned to the message r1, the message r2, and the message r3 are “0010”, “0011”, and “0010”, respectively. For example, the processes executed based on the message r1, the message r2, and the message r3 are “registration”, “registration”, and “cancel”, respectively.

メッセージr1とメッセージr3とは同一のorderIDである「0010」が付与されているため、メッセージr1とメッセージr3との間では、実行順序の保障が求められる。すなわち、メッセージr1に基づく実行処理が行われる前にメッセージr3に基づく実行処理が行われてはならないことを示す。   Since the same order ID “0010” is assigned to the message r1 and the message r3, it is required to guarantee the execution order between the message r1 and the message r3. That is, the execution process based on the message r3 should not be performed before the execution process based on the message r1 is performed.

図5に図示する、メッセージr1、メッセージr2、及びメッセージr3は、例えば、電子商取引における購入処理を示すメッセージである。メッセージr1、及びメッセージr3は、例えば、それぞれ同一のオーダー(購入手続き)に対する、購入手続実行(登録)処理、及び購入手続取消(キャンセル)処理である。また、メッセージr2は、例えば、メッセージr1及びメッセージr3に基づくオーダーとは異なる別のオーダーの購入手続実行(登録)処理である。   The message r1, the message r2, and the message r3 illustrated in FIG. 5 are messages indicating purchase processing in electronic commerce, for example. The message r1 and the message r3 are, for example, a purchase procedure execution (registration) process and a purchase procedure cancel (cancel) process for the same order (purchase procedure). The message r2 is, for example, a purchase procedure execution (registration) process for another order different from the order based on the message r1 and the message r3.

したがって、メッセージr1、及びメッセージr3が、正しい順序で(メッセージr1が先に)実行された場合には、一度行われた購入手続が正常にキャンセルされる結果となる。逆に、メッセージr1、及びメッセージr3が、誤った順序で(メッセージr3が先に)実行された場合には、購入手続実行(登録)処理が後に行われることによって、購入手続が誤ってキャンセルされない結果となる。   Therefore, when the message r1 and the message r3 are executed in the correct order (message r1 first), the purchase procedure once performed is normally canceled. On the other hand, when the message r1 and the message r3 are executed in the wrong order (message r3 first), the purchase procedure is not canceled by performing the purchase procedure execution (registration) process later. Result.

第5の実施形態に係る情報処理装置10Dは、コネクタ101Dが取得したメッセージの実行処理の実行順序を保障するため、実行処理の実行順序を制御する順序制御部105Dを備える。なお、順序制御部105Dは、制御部104Dと共通の部材によって構成されるものであっても構わない。   The information processing apparatus 10D according to the fifth embodiment includes an order control unit 105D that controls the execution order of the execution processes in order to ensure the execution order of the execution processes of the messages acquired by the connector 101D. Note that the sequence control unit 105D may be configured by a member common to the control unit 104D.

順序制御部105Dは、まず、コネクタ101Dからメッセージr1を取得する。順序制御部105Dは、メッセージr1に付与されたorderIDが「0010」であることを確認し、(例えば、一時的に)記憶する。そして、順序制御部105Dは、例えば、メッセージr1をワーカースレッド103D−1rに割り当てる。   First, the order control unit 105D acquires the message r1 from the connector 101D. The order control unit 105D confirms that the order ID given to the message r1 is “0010” and stores (for example, temporarily). Then, the order control unit 105D allocates the message r1 to the worker thread 103D-1r, for example.

次に、順序制御部105Dは、コネクタ101Dからメッセージr2を取得する。順序制御部105Dは、メッセージr2に付与されたorderIDが「0011」であることを確認し、(例えば、一時的に)記憶する。そして、順序制御部105Dは、メッセージr2に付与されたorderIDがメッセージr1に付与されたorderIDとは異なることを確認することによって、順序制御部105Dは、メッセージr1を割り当てたワーカースレッド103D−1aとは異なるワーカースレッド103D−1bに、メッセージr2を割り当てる。   Next, the sequence control unit 105D acquires the message r2 from the connector 101D. The order control unit 105D confirms that the order ID given to the message r2 is “0011”, and stores (for example, temporarily). Then, the order control unit 105D confirms that the order ID assigned to the message r2 is different from the order ID assigned to the message r1, so that the order control unit 105D determines the worker thread 103D-1a to which the message r1 is assigned. Assigns message r2 to a different worker thread 103D-1b.

次に、順序制御部105Dは、コネクタ101Dからメッセージr3を取得する。順序制御部105Dは、メッセージr3に付与されたorderIDが「0010」であることを確認し、(例えば、一時的に)記憶する。そして、順序制御部105Dは、メッセージr3に付与されたorderIDがメッセージr1に付与されたorderIDと同一であることを確認することによって、順序制御部105Dは、メッセージr1を割り当てたワーカースレッド103D−1aとは同一のワーカースレッド103D−1aに、メッセージr3を割り当てる。   Next, the sequence control unit 105D acquires the message r3 from the connector 101D. The order control unit 105D confirms that the order ID given to the message r3 is “0010” and stores (for example, temporarily). Then, the order control unit 105D confirms that the order ID assigned to the message r3 is the same as the order ID assigned to the message r1, so that the order control unit 105D causes the worker thread 103D-1a to which the message r1 is assigned. The message r3 is assigned to the same worker thread 103D-1a.

これにより、メッセージr1の実行処理が完了するまではワーカースレッド103D−1aが解放されないため、メッセージr3の実行処理は開始されることがない。よって、第4の実施形態に係る情報処理装置10は、メッセージr1とメッセージr3との間で求められる実行順序の保障を担保しつつ、実行処理を行うことができる。   As a result, the worker thread 103D-1a is not released until the execution process of the message r1 is completed, so the execution process of the message r3 is not started. Therefore, the information processing apparatus 10 according to the fourth embodiment can perform the execution process while ensuring the execution order obtained between the message r1 and the message r3.

以上により、本発明の第5の実施形態に係る情報処理システム1Dは、非同期処理において、業務毎に、実行順序を保障した並列処理を実行したいという要件に対して、柔軟に対応することができる。   As described above, the information processing system 1D according to the fifth exemplary embodiment of the present invention can flexibly cope with the requirement to execute parallel processing that guarantees the execution order for each job in asynchronous processing. .

以上説明したように、本発明の第1の実施形態乃至第5の実施形態に係る情報処理システム1及び情報処理装置10は、非同期処理における様々な要件に対して柔軟に対応することができる。   As described above, the information processing system 1 and the information processing apparatus 10 according to the first to fifth embodiments of the present invention can flexibly cope with various requirements in asynchronous processing.

以上、この発明の実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。   The embodiment of the present invention has been described in detail above, but the specific configuration is not limited to the above-described one, and various design changes and the like can be made without departing from the scope of the present invention. is there.

なお、上述した各実施形態における情報処理システム1(1A、1B、・・・、1D)の一部又は全部をコンピュータで実現するようにしてもよい。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。   Note that a part or all of the information processing system 1 (1A, 1B,..., 1D) in each of the above-described embodiments may be realized by a computer. In that case, the program for realizing the control function may be recorded on a computer-readable recording medium, and the program recorded on the recording medium may be read by the computer system and executed.

なお、ここでいう「コンピュータシステム」とは、情報処理システム1(1A、1B、・・・、1D)に内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。   Here, the “computer system” is a computer system built in the information processing system 1 (1A, 1B,..., 1D), and includes an OS and hardware such as peripheral devices. The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system.

さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信回線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。   Further, the “computer-readable recording medium” is a medium that dynamically holds a program for a short time, such as a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line, In this case, a volatile memory inside a computer system that serves as a server or a client may be included that holds a program for a certain period of time. The program may be a program for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already recorded in a computer system.

また、上述した第1の実施形態における情報処理システム1(1A、1B、・・・、1D)、を、LSI(Large Scale Integration)等の集積回路として実現してもよい。情報処理システム1(1A、1B、・・・、1D)の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。   Further, the information processing system 1 (1A, 1B,..., 1D) in the first embodiment described above may be realized as an integrated circuit such as an LSI (Large Scale Integration). Each functional block of the information processing system 1 (1A, 1B,..., 1D) may be individually made into a processor, or a part or all of them may be integrated into a processor. Further, the method of circuit integration is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor. Further, in the case where an integrated circuit technology that replaces LSI appears due to progress in semiconductor technology, an integrated circuit based on the technology may be used.

1・・・情報処理システム、10・・・情報処理装置、20・・・メッセージサーバ、30・・・制御装置、50・・・他システム、60・・・運用管理ツール、101・・・コネクタ、102・・・業務ロジック、103・・ワーカースレッド、104・・・制御部、105・・・順序制御部、201・・・業務、202・・・処理対象データ、203・・・エンドポイント、ma・・・実行処理、mb・・・実行処理、ca・・・コミット処理、cb・・・コミット処理、r・・・メッセージ DESCRIPTION OF SYMBOLS 1 ... Information processing system, 10 ... Information processing apparatus, 20 ... Message server, 30 ... Control device, 50 ... Other system, 60 ... Operation management tool, 101 ... Connector 102 ... Work logic 103 ... Worker thread 104 ... Control unit 105 ... Sequence control unit 201 ... Business 202 ... Processing data 203 ... End point ma ... execution process, mb ... execution process, ca ... commit process, cb ... commit process, r ... message

Claims (7)

データベースやメッセージングサービスサーバより業務に紐づく実行データを複数の業務毎に複数取得し、非同期処理によって1つの処理プロセスにて実行処理する情報処理装置において、
前記複数の業務にそれぞれ対応付けられた非同期処理エンドポイントから前記実行データを取得する複数のコネクタと、
前記複数のコネクタとそれぞれ対応付けられ、対応する前記コネクタが取得した前記実行データを実行処理する複数のワーカースレッドと、
前記複数のコネクタ及び前記複数のワーカースレッドを制御し、前記業務毎にシステムリソースの割り当てを調整する制御部と、
を備えることを特徴とする、情報処理装置。
In an information processing apparatus that acquires a plurality of execution data associated with a business from a database or a messaging service server for each of a plurality of business operations and executes the processing in one processing process by asynchronous processing.
A plurality of connectors for acquiring the execution data from asynchronous processing endpoints respectively associated with the plurality of tasks;
A plurality of worker threads that are respectively associated with the plurality of connectors and that execute the execution data acquired by the corresponding connectors;
A control unit that controls the plurality of connectors and the plurality of worker threads, and adjusts allocation of system resources for each job;
An information processing apparatus comprising:
前記制御部は、実行処理の起動タイミング及び停止タイミング、またはそのいずれか一方を、前記コネクタ毎に制御する、
ことを特徴とする、請求項1に記載の情報処理装置。
The control unit controls the start timing and stop timing of execution processing, or any one of the connectors,
The information processing apparatus according to claim 1, wherein:
前記制御部は、実行処理の1トランザクションあたりの前記実行データの量を、前記コネクタ毎に制御する、
ことを特徴とする、請求項1に記載の情報処理装置。
The control unit controls the amount of the execution data per transaction of execution processing for each connector.
The information processing apparatus according to claim 1, wherein:
前記コネクタに複数の前記ワーカースレッドが対応付けられ、前記コネクタが取得した順に前記実行データを前記ワーカースレッドに割り当て、かつ、関連性がある前記実行データについては他の前記ワーカースレッドの割り当てによる実行処理の追い越しを抑止するために、同一の前記ワーカースレッドへ前記関連性がある前記実行データを優先的に割り当てる、
ことを特徴とする、請求項1に記載の情報処理装置。
A plurality of worker threads are associated with the connector, the execution data is assigned to the worker threads in the order obtained by the connector, and the execution data related to the execution data is assigned by another worker thread. In order to prevent overtaking, the execution data having the relation is preferentially assigned to the same worker thread.
The information processing apparatus according to claim 1, wherein:
業務に紐づく実行データを複数の業務毎に複数有する他の装置と、
前記他の装置から前記実行データを取得し、非同期処理によって1つの処理プロセスにて実行処理する情報処理装置であって、前記複数の業務にそれぞれ対応付けられた非同期処理エンドポイントから前記実行データを取得する複数のコネクタと、前記複数のコネクタとそれぞれ対応付けられ、対応する前記コネクタが取得した前記実行データを実行処理する複数のワーカースレッドと、前記複数のコネクタ及び前記複数のワーカースレッドを制御し、前記業務毎にシステムリソースの割り当てを調整する制御部と、を備える前記情報処理装置と、
を有することを特徴とする、情報処理システム。
Other devices that have multiple execution data associated with the business for each of the multiple businesses,
An information processing apparatus that acquires the execution data from the other apparatus and performs execution processing in a single processing process by asynchronous processing, wherein the execution data is acquired from asynchronous processing endpoints respectively associated with the plurality of tasks. A plurality of connectors to be acquired, a plurality of worker threads that are associated with the plurality of connectors, respectively, execute the execution data acquired by the corresponding connectors, and control the plurality of connectors and the plurality of worker threads. A control unit that adjusts the allocation of system resources for each business, and the information processing apparatus comprising:
An information processing system comprising:
データベースやメッセージングサービスサーバより業務に紐づく実行データを複数の業務毎に複数取得し、非同期処理によって1つの処理プロセスにて実行処理する情報処理方法において、
前記複数の業務にそれぞれ対応付けられた非同期処理エンドポイントから前記実行データを取得する複数の第1ステップと、
前記複数の第1ステップとそれぞれ対応付けられ、対応する前記第1ステップが取得した実行データを実行処理する複数の第2ステップと、
前記複数の第1ステップ及び前記複数の第2ステップを制御し、前記業務毎にシステムリソースの割り当てを調整する第3ステップと、
を有することを特徴とする、情報処理方法。
In an information processing method of acquiring a plurality of execution data associated with a business from a database or a messaging service server for each of a plurality of business and executing the processing in one processing process by asynchronous processing.
A plurality of first steps for obtaining the execution data from asynchronous processing endpoints respectively associated with the plurality of tasks;
A plurality of second steps each of which is associated with the plurality of first steps and executes the execution data acquired by the corresponding first step;
A third step of controlling the plurality of first steps and the plurality of second steps and adjusting allocation of system resources for each of the tasks;
An information processing method characterized by comprising:
データベースやメッセージングサービスサーバより業務に紐づく実行データを複数の業務毎に複数取得し、非同期処理によって1つのプロセスにて実行処理するコンピュータに、
前記複数の業務にそれぞれ対応付けられた、非同期処理エンドポイントから前記実行データを取得する複数の第1ステップと、
前記複数の第1ステップとそれぞれ対応付けられ、対応する前記第1ステップが取得した実行データを実行処理する複数の第2ステップと、
前記複数の第1ステップ及び前記複数の第2ステップを制御し、前記業務毎にシステムリソースの割り当てを調整する第3ステップと、
を実行させるための、プログラム。
A computer that acquires multiple execution data associated with a business from a database or messaging service server for each business, and executes it in a single process by asynchronous processing.
A plurality of first steps for acquiring the execution data from an asynchronous processing endpoint respectively associated with the plurality of tasks;
A plurality of second steps each of which is associated with the plurality of first steps and executes the execution data acquired by the corresponding first step;
A third step of controlling the plurality of first steps and the plurality of second steps and adjusting allocation of system resources for each of the tasks;
A program for running
JP2015149740A 2015-07-29 2015-07-29 Information processing device, information processing system, information processing method, and program Pending JP2017033094A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015149740A JP2017033094A (en) 2015-07-29 2015-07-29 Information processing device, information processing system, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015149740A JP2017033094A (en) 2015-07-29 2015-07-29 Information processing device, information processing system, information processing method, and program

Publications (1)

Publication Number Publication Date
JP2017033094A true JP2017033094A (en) 2017-02-09

Family

ID=57986162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015149740A Pending JP2017033094A (en) 2015-07-29 2015-07-29 Information processing device, information processing system, information processing method, and program

Country Status (1)

Country Link
JP (1) JP2017033094A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190141882A (en) * 2018-06-15 2019-12-26 주식회사 티맥스 소프트 Method for processing data flow based service and computer program stored in computer readable medium therfor

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190141882A (en) * 2018-06-15 2019-12-26 주식회사 티맥스 소프트 Method for processing data flow based service and computer program stored in computer readable medium therfor
KR102115758B1 (en) * 2018-06-15 2020-05-27 주식회사 티맥스 소프트 Method for processing data flow based service and computer program stored in computer readable medium therfor
US10908949B2 (en) 2018-06-15 2021-02-02 TmaxSoft Co., Ltd. Methods for processing data flow based service by allocating micro-services that correspond to allocated service IDs and computer programs therefor

Similar Documents

Publication Publication Date Title
CN109218356B (en) Method and apparatus for managing stateful applications on a server
WO2009147802A1 (en) Priority controller and priority control method
US10067793B2 (en) Data processing method and apparatus for executing task code using reservation instruction and release instruction
CN111897633A (en) Task processing method and device
WO2019034095A1 (en) Software processing method and apparatus, electronic device and computer-readable storage medium
CN110069265B (en) Service cluster upgrading method and device and storage medium
CN114610499A (en) Task scheduling method and device, computer readable storage medium and electronic equipment
US8103905B2 (en) Detecting and recovering from process failures
JP2017033095A (en) Information processing system, information processing method, program, and information processing device
CN113467908B (en) Task execution method, device, computer readable storage medium and terminal equipment
US20150135187A1 (en) Method for monitoring resources in computing device, and computing device
JP2016006608A (en) Management method, virtual machine, management server, management system, and computer program
EP1191439A1 (en) Computer system and computer-readable record medium
JP2017033094A (en) Information processing device, information processing system, information processing method, and program
JP2018520405A (en) Software security verification method, device, and system
CN111767126A (en) System and method for distributed batch processing
CN113342499B (en) Distributed task calling method, device, equipment, storage medium and program product
CN114327673B (en) Task starting method and device, electronic equipment and storage medium
CN115168040A (en) Job preemption scheduling method, device, equipment and storage medium
JP2016505987A (en) Application program management apparatus and management method
CN110737533A (en) task scheduling method and device, electronic equipment and storage medium
JP2017037539A (en) Server control program, server control method, and server control device
JP5417626B2 (en) Management computer, job scheduling method and job scheduling program
JP5530810B2 (en) Scale-out system and method and program
JP2009110195A (en) Information processing apparatus and system, information processing taking-over control method, and program