JP2022049877A - Transaction control device, transaction control method, and program - Google Patents

Transaction control device, transaction control method, and program Download PDF

Info

Publication number
JP2022049877A
JP2022049877A JP2020156152A JP2020156152A JP2022049877A JP 2022049877 A JP2022049877 A JP 2022049877A JP 2020156152 A JP2020156152 A JP 2020156152A JP 2020156152 A JP2020156152 A JP 2020156152A JP 2022049877 A JP2022049877 A JP 2022049877A
Authority
JP
Japan
Prior art keywords
transaction
task
completed
assigned
received
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
JP2020156152A
Other languages
Japanese (ja)
Inventor
桂太 岩野
Keita Iwano
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2020156152A priority Critical patent/JP2022049877A/en
Publication of JP2022049877A publication Critical patent/JP2022049877A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

To provide a transaction control device that suppresses a decrease in throughput when processing transactions in parallel and terminating transactions in the order in which these were accepted.SOLUTION: The transaction control device comprises: task assignment means for assigning tasks to a transaction that includes processes executed in order from a first process to a second process, in the order where the tasks were accepted; and transaction processing means for executing tasks and thereby processing the transaction. If the first process of a transaction accepted later finishes before a transaction accepted earlier finishes, the task assignment to the transaction is cancelled; if, when a transaction has finished, no tasks are assigned to a transaction accepted next to the transaction, the tasks having been assigned to the transaction that has finished are assigned to the transaction accepted next.SELECTED DRAWING: Figure 12

Description

本開示は、トランザクション制御に関する。 The present disclosure relates to transaction control.

コンピュータの処理時間を短縮するために、複数の処理を並列で実行することが行われる。特許文献1には、複数のスレッドを生成し、複数のトランザクション処理を並列で実行させるデータ並列処理システムが開示されている。特許文献1のデータ並列処理システムは、各スレッドが処理するトランザクションの完了(ファイル出力)を実施可能かどうか、待ち合わせの制御を行うことで、完了の追い抜きが発生しないようにする。 In order to reduce the processing time of the computer, multiple processes are executed in parallel. Patent Document 1 discloses a data parallel processing system that generates a plurality of threads and executes a plurality of transaction processes in parallel. The data parallel processing system of Patent Document 1 controls whether the transaction processed by each thread can be completed (file output) and waits so that overtaking of the completion does not occur.

特開2014-211782号公報Japanese Unexamined Patent Publication No. 2014-211782

特許文献1に係るシステムにおいて、後続のトランザクションを処理するスレッドは、処理を完了する前に、先発のトランザクション完了を待ち合わせる必要がある。しかし、例えば動画データや音声データの変換等の処理においては、そのデータの特性上、一定の処理単位(時間等)毎のデータ処理量にはばらつきが生じる。例えば10秒間ずつに処理単位を区切って処理を行うとしても、ある区間と別の区間では内容が異なるため処理時間に差が生じうる。このように、トランザクション毎に処理時間のばらつきが大きい場合、処理時間の長いトランザクションの完了を、後発のトランザクションを処理するスレッドが待ち合わせを行うことで並列度が下がる。したがって、スループットの低下の課題がある。 In the system according to Patent Document 1, the thread that processes the subsequent transaction needs to wait for the completion of the starting transaction before completing the processing. However, in processing such as conversion of moving image data or audio data, the amount of data processed for each fixed processing unit (time, etc.) varies due to the characteristics of the data. For example, even if the processing unit is divided into 10 seconds each, the processing time may differ because the contents are different between a certain section and another section. In this way, when the processing time varies widely for each transaction, the degree of parallelism is lowered because the thread processing the subsequent transaction waits for the completion of the transaction having a long processing time. Therefore, there is a problem of a decrease in throughput.

本開示の目的の一つは、受付順に終了させる必要があるトランザクションの並列処理において、スループットの低下を抑えるトランザクション制御装置等を提供することである。 One of the objects of the present disclosure is to provide a transaction control device or the like that suppresses a decrease in throughput in parallel processing of transactions that need to be completed in the order of reception.

本開示に係るトランザクション制御装置は、第1処理と第2処理の順序で実行される処理を含むトランザクションに、該トランザクションの受付順にタスクを割り当てるタスク割当手段と、前記トランザクションに割り当てられたタスクを実行することにより、前記トランザクションを処理する、トランザクション処理手段と、を備え、前記トランザクション処理手段は、先に受け付けた前記トランザクションが終了する前に、後に受け付けた前記トランザクションの前記第1処理が終了した場合、当該後に受け付けたトランザクションへのタスクの割り当てを解除し、前記トランザクションが終了したときに、当該終了したトランザクションの次に受け付けた前記トランザクションにタスクが割り当てられていない場合に、当該次に受け付けたトランザクションに、前記終了したトランザクションに割り当てられていたタスクを割り当てる。 The transaction control device according to the present disclosure executes a task assignment means that assigns a task to a transaction including processes executed in the order of the first process and the second process in the order in which the transaction is received, and a task assigned to the transaction. By doing so, the transaction processing means for processing the transaction is provided, and the transaction processing means finishes the first process of the transaction received later before the transaction received earlier ends. , Cancel the assignment of the task to the transaction received after that, and when the transaction ends, if the task is not assigned to the transaction received next to the completed transaction, the transaction received next Is assigned the task assigned to the completed transaction.

本開示に係るトランザクション制御方法は、第1処理と第2処理の順序で実行される処理を含むトランザクションを受け付け、タスクを前記トランザクションの受付順に割り当て、前記トランザクションに割り当てられたタスクを実行することにより、前記トランザクションを処理し、先に受け付けた前記トランザクションが終了する前に、後に受け付けた前記トランザクションの前記第1処理が終了した場合、当該トランザクションへのタスクの割り当てを解除し、前記トランザクションが終了したときに、当該トランザクションの次に受け付けた前記トランザクションにタスクが割り当てられていない場合に、当該次に受け付けたトランザクションに、前記終了したトランザクションに割り当てられていたタスクを割り当てる。 The transaction control method according to the present disclosure accepts a transaction including processes executed in the order of the first process and the second process, assigns tasks in the order of receiving the transaction, and executes the task assigned to the transaction. If the first process of the transaction received later is completed before the transaction received earlier is completed, the task assignment to the transaction is released and the transaction is terminated. Occasionally, when a task is not assigned to the transaction received next to the transaction, the task assigned to the completed transaction is assigned to the transaction received next.

本開示に係るプログラムは、第1処理と第2処理の順序で実行される処理を含むトランザクションを受け付ける手順と、タスクを前記トランザクションの受付順に割り当てる手順と、前記トランザクションに割り当てられたタスクを実行することにより、前記トランザクションを処理する手順と、先に受け付けた前記トランザクションが終了する前に、後に受け付けた前記トランザクションの前記第1処理が終了した場合、当該トランザクションへのタスクの割り当てを解除する手順と、前記トランザクションが終了したときに、当該トランザクションの次に受け付けたトランザクションにタスクが割り当てられていない場合に、当該次に受け付けたトランザクションに、前記終了したトランザクションに割り当てられていたタスクを割り当てる手順と、をコンピュータに実行させる。 The program according to the present disclosure executes a procedure for accepting a transaction including processes executed in the order of the first process and the second process, a procedure for assigning tasks in the order of acceptance of the transaction, and a task assigned to the transaction. Thereby, a procedure for processing the transaction and a procedure for canceling the assignment of the task to the transaction when the first process of the transaction received later is completed before the transaction received earlier is completed. When the transaction is completed, if the task is not assigned to the transaction received next to the transaction, the procedure to assign the task assigned to the completed transaction to the transaction received next is assigned to the transaction. Let the computer do the transaction.

本開示によれば、受付順に終了させる必要があるトランザクションの並列処理において、スループットの低下を抑えることができる。 According to the present disclosure, it is possible to suppress a decrease in throughput in parallel processing of transactions that need to be completed in the order of reception.

第1実施形態に係るトランザクション制御装置102の構成を例示するブロック図である。It is a block diagram which illustrates the structure of the transaction control apparatus 102 which concerns on 1st Embodiment. トランザクション制御装置102が適用されるシステムの一例を示す図である。It is a figure which shows an example of the system to which a transaction control device 102 is applied. トランザクションが受け付けられた状態の例を示す図である。It is a figure which shows the example of the state which a transaction was accepted. トランザクション制御装置102における割り当て処理の例を示すフローチャートである。It is a flowchart which shows the example of the allocation process in the transaction control apparatus 102. 全てのタスクがトランザクションに割り当てられた状態の例を示す図である。It is a figure which shows the example of the state in which all tasks are assigned to a transaction. トランザクション制御装置102におけるタスク制御処理の例を示すフローチャートである。It is a flowchart which shows the example of the task control processing in the transaction control apparatus 102. 図4の状態の続きの状態を示す図である。It is a figure which shows the continuation state of the state of FIG. 図6の状態の続きの状態を示す図である。It is a figure which shows the continuation state of the state of FIG. 図7の状態の続きの状態を示す図である。It is a figure which shows the continuation state of the state of FIG. 図8の状態の続きの状態を示す図である。It is a figure which shows the continuation state of the state of FIG. グループ情報を含むトランザクションが受け付けられた状態の例を示す図である。It is a figure which shows the example of the state in which the transaction including the group information is accepted. グループごとにタスクが割り当てられた状態の例を示す図である。It is a figure which shows the example of the state which the task is assigned to each group. 第3実施形態に係るトランザクション制御装置102の構成を例示するブロック図である。It is a block diagram which illustrates the structure of the transaction control apparatus 102 which concerns on 3rd Embodiment. 第3実施形態に係るトランザクション制御装置102の動作の例を示すフローチャートである。It is a flowchart which shows the example of the operation of the transaction control apparatus 102 which concerns on 3rd Embodiment. コンピュータ500のハードウェア構成の例を示すブロック図である。It is a block diagram which shows the example of the hardware composition of the computer 500.

以下、図面を参照して、本開示の実施形態を説明する。
[第1実施形態]
[構成]
図1Aは、第1実施形態に係るトランザクション制御装置102の構成を例示するブロック図である。トランザクション制御装置102は、トランザクション受付管理部104、タスク割当部105、割当待ちタスク管理部106、及び、トランザクション処理部107を有する。図1Bは、トランザクション制御装置102が適用されるシステムの一例を示す図である。トランザクション制御装置102は、アプリケーションが実行される処理要求装置101、及び、処理結果を記憶する記憶装置103に接続される。
Hereinafter, embodiments of the present disclosure will be described with reference to the drawings.
[First Embodiment]
[Constitution]
FIG. 1A is a block diagram illustrating the configuration of the transaction control device 102 according to the first embodiment. The transaction control device 102 includes a transaction reception management unit 104, a task allocation unit 105, an allocation waiting task management unit 106, and a transaction processing unit 107. FIG. 1B is a diagram showing an example of a system to which the transaction control device 102 is applied. The transaction control device 102 is connected to the processing request device 101 in which the application is executed and the storage device 103 that stores the processing result.

トランザクション受付管理部104は、1以上の処理要求装置101からアプリケーションの処理要求をトランザクションとして受け付けて管理する。 The transaction reception management unit 104 receives and manages application processing requests as transactions from one or more processing request devices 101.

トランザクションは、データに対する所定の処理(以下、データ処理と記載)と、データ処理の結果に対して行われる完了処理と、から構成される。データ処理は、トランザクションにおいて指定されたデータに対する、所定の演算処理でもよい。完了処理は、データ処理の結果を1以上の記憶装置103に出力する(記憶させる)処理でもよい。 A transaction is composed of a predetermined process for data (hereinafter referred to as data process) and a completion process performed for the result of the data process. The data processing may be a predetermined arithmetic processing for the data specified in the transaction. The completion process may be a process of outputting (storing) the result of the data processing to one or more storage devices 103.

データ処理は本開示の第1処理の一実施形態であり、完了処理は本開示における第2処理の一実施形態である。 Data processing is an embodiment of the first process of the present disclosure, and completion process is an embodiment of the second process of the present disclosure.

トランザクションがデータベースにおけるトランザクションである場合、データ処理は、トランザクションにおいて指定されたデータに対する、指定されたコマンドに対する処理でもよい。また、この場合、完了処理は、データ処理の結果を出力し(記憶させ)、確定する、コミット処理でもよい。 If the transaction is a transaction in a database, the data processing may be processing for the specified command for the data specified in the transaction. Further, in this case, the completion process may be a commit process in which the result of the data process is output (stored) and confirmed.

本開示において、トランザクションの処理は、当該トランザクションに割り当てられたタスクによって行われる。ここで、タスクとは、処理の単位を表すもので、ある瞬間において1つのタスクは、1つのトランザクションを処理できる。言い換えると、1つのタスクは複数のトランザクションを同時に処理できない。タスクは、装置内に1つ以上存在し、その数はシステムの用途、資源(CPU(Central Processing Unit)コア数等)に基づいて、システムの利用者等が任意に決定できる。 In the present disclosure, the processing of a transaction is performed by the task assigned to that transaction. Here, the task represents a unit of processing, and one task can process one transaction at a certain moment. In other words, a task cannot process multiple transactions at the same time. There are one or more tasks in the device, and the number of tasks can be arbitrarily determined by the system user or the like based on the system usage and resources (number of CPU (Central Processing Unit) cores, etc.).

トランザクション受付管理部104は、トランザクションを受付順に管理する。例えば、トランザクション受付管理部104は、トランザクションをキューで管理する。例えば、トランザクション受付管理部104は、トランザクションの受付順に、トランザクションの識別子を格納するキューを含んでもよい。 The transaction reception management unit 104 manages transactions in the order of reception. For example, the transaction reception management unit 104 manages transactions in a queue. For example, the transaction reception management unit 104 may include a queue for storing transaction identifiers in the transaction reception order.

割当待ちタスク管理部106は、トランザクションに割り当てられていないタスクを管理する。割当待ちタスク管理部106は、タスクをスタック、キュー、あるいはタスクの識別番号順で管理してもよい。 The task management unit 106 waiting for allocation manages tasks that are not assigned to a transaction. The task management unit 106 waiting for allocation may manage tasks in the order of stack, queue, or task identification number.

タスク割当部105は、割当待ちタスク管理部106に管理されている割当待ちタスクを、トランザクション受付管理部104のキューの先頭トランザクションに割り当てて、トランザクション処理部107に渡す。 The task allocation unit 105 allocates the allocation-waiting task managed by the allocation-waiting task management unit 106 to the first transaction in the queue of the transaction reception management unit 104, and passes it to the transaction processing unit 107.

トランザクション処理部107では、タスクがトランザクションを処理し、処理結果を記憶装置103に出力する。トランザクション処理部107では、複数のタスクが同時に動作してもよい。即ち、トランザクション処理部107では、複数のトランザクションを並列で処理することができる。ただし、処理結果は、トランザクション制御装置102がトランザクションを受け付けた順番に出力される。トランザクション処理部107は、トランザクションが受け渡された順に、トランザクションの識別子を格納するキューを含んでもよい。 In the transaction processing unit 107, the task processes the transaction and outputs the processing result to the storage device 103. In the transaction processing unit 107, a plurality of tasks may be operated at the same time. That is, the transaction processing unit 107 can process a plurality of transactions in parallel. However, the processing results are output in the order in which the transaction control device 102 accepts the transactions. The transaction processing unit 107 may include a queue for storing transaction identifiers in the order in which transactions are delivered.

[動作]
第1実施形態に係るトランザクション制御装置の動作について、図2乃至図9を用いて説明する。
[motion]
The operation of the transaction control device according to the first embodiment will be described with reference to FIGS. 2 to 9.

図2は、トランザクション受付管理部104がトランザクションを受け付けた状態の例を示す図である。図2において、トランザクションは受付順にキューにより管理されている。トランザクション受付管理部104内の矢印はキューを示す。 FIG. 2 is a diagram showing an example of a state in which the transaction reception management unit 104 has received a transaction. In FIG. 2, transactions are managed by queues in the order of reception. The arrow in the transaction reception management unit 104 indicates a queue.

図2において、例としてタスクは4つ存在し、タスクにはトランザクションに割り当てられておらず、トランザクションはタスクが割り当てられるのを待っている。割当待ちタスク管理部106内の矢印はキューを示す。 In FIG. 2, there are four tasks as an example, the task is not assigned to a transaction, and the transaction is waiting for the task to be assigned. The arrow in the task management unit 106 waiting for allocation indicates a queue.

図3は、タスク割当部105の割り当て処理の例を示すフローチャートである。まず、タスク割当部105は、トランザクション受付管理部104内のキューの先頭のトランザクション(図2の「トランザクションTx A」)と、割当待ちタスク管理部106のキューの先頭のタスク(図2の「タスク1」)を、それぞれ1つずつ取り出す。次に、タスク割当部105は、取り出したタスクをトランザクションに割り当てて、トランザクション処理部107に渡す。これをトランザクション受付管理部104のトランザクション、又は割当待ちタスク管理部106のタスクのいずれかのキューが空になるまで実施する(ステップS01~ステップS05)。 FIG. 3 is a flowchart showing an example of the allocation process of the task allocation unit 105. First, the task allocation unit 105 has a transaction at the head of the queue in the transaction reception management unit 104 (“transaction Tx A” in FIG. 2) and a task at the head of the queue in the task management unit 106 waiting for allocation (“task” in FIG. 2). Take out 1 ”) one by one. Next, the task allocation unit 105 allocates the fetched task to the transaction and passes it to the transaction processing unit 107. This is executed until the queue of either the transaction of the transaction reception management unit 104 or the task of the task management unit 106 waiting for allocation is empty (steps S01 to S05).

図4は、図2の状態から、タスク割当部105によって全てのタスクがトランザクションに割り当てられ、トランザクション処理部107に渡された状態を示す図である。トランザクション処理部107内において、タスクとトランザクションのペア203A~203Dは、トランザクションの受付順、即ち、タスク割当部105から渡された順番にキューで管理されている。図4において、トランザクション処理部107内の矢印はキューを示す。なお、図4において、トランザクション受付管理部104にあるトランザクションTx Eは、タスクが割り当てられないまま処理を待っている。 FIG. 4 is a diagram showing a state in which all tasks are assigned to a transaction by the task allocation unit 105 from the state of FIG. 2 and passed to the transaction processing unit 107. In the transaction processing unit 107, the task-transaction pairs 203A to 203D are managed in a queue in the order in which transactions are received, that is, in the order in which they are passed from the task allocation unit 105. In FIG. 4, the arrow in the transaction processing unit 107 indicates a queue. In FIG. 4, the transaction Tx E in the transaction reception management unit 104 is waiting for processing without being assigned a task.

図5は、タスクがトランザクション処理部107に渡された後のトランザクション制御装置102のタスク制御処理の例を示すフローチャートである。 FIG. 5 is a flowchart showing an example of task control processing of the transaction control device 102 after the task is passed to the transaction processing unit 107.

トランザクション処理部107は、各タスクを実行し、トランザクションのデータ処理を行う(ステップE01)。例えば、トランザクション処理部107は、タスク1、2、3、4を実行することにより、トランザクションTx A、Tx B、Tx C、Tx Dを処理する。 The transaction processing unit 107 executes each task and processes the transaction data (step E01). For example, the transaction processing unit 107 processes transactions Tx A, Tx B, Tx C, and Tx D by executing tasks 1, 2, 3, and 4.

各タスクは、トランザクションのデータ処理が終了すると、当該トランザクションの処理を中断して待機する。各タスクは、データ処理の終了をトランザクション処理部107に通知してもよい。トランザクション処理部107は、タスクにおけるデータ処理の終了を検出すると、当該タスクが割り当てられたトランザクションがキューの先頭かどうかを判定する。 When the data processing of the transaction is completed, each task interrupts the processing of the transaction and waits. Each task may notify the transaction processing unit 107 of the end of data processing. When the transaction processing unit 107 detects the end of data processing in the task, it determines whether the transaction to which the task is assigned is the head of the queue.

トランザクションがキューの先頭に位置しない場合(ステップE02の「いいえ」)、先行するトランザクションの処理が終了していないため、完了処理を行わない。この場合、トランザクション処理部107は、タスクのトランザクションへの割り当てを解除する(ステップE08)。割当待ちタスク管理部106は、割り当てが解除されたタスクを割当待ちタスク管理部106内のキューに再登録する(ステップE09)。 If the transaction is not located at the top of the queue (“No” in step E02), the processing of the preceding transaction has not been completed, so the completion processing is not performed. In this case, the transaction processing unit 107 releases the assignment of the task to the transaction (step E08). The task management unit 106 waiting for allocation re-registers the task whose allocation has been released to the queue in the task management unit 106 waiting for allocation (step E09).

図6は、図4の状態の後、タスク2により処理されるトランザクションTx Bのデータ処理が、先行する、タスク1により処理されるトランザクションTx Aの完了処理が終了するより先に、終了した場合の状態を示す図である。図6では、タスク2は、トランザクションTx Bへの割り当てを解除され、割当待ちタスク管理部106のキューに登録されている。その後、タスク割当部105の動作(図3)によって、タスク2はトランザクション受付管理部104で待っていたトランザクションTx Eに割り当てられる。トランザクション処理部107へ渡された後、トランザクション処理部107は、タスク2を実行することにより、トランザクションTx Eの処理を行う。図7は、図6の状態の後、タスク2がトランザクションTx Eに割り当てられ、タスク1がデータ処理を終了した状態を示す図である。 FIG. 6 shows a case where the data processing of the transaction Tx B processed by the task 2 is completed after the state of FIG. 4 before the completion processing of the transaction Tx A processed by the task 1 is completed. It is a figure which shows the state of. In FIG. 6, the task 2 is released from the allocation to the transaction Tx B and is registered in the queue of the task management unit 106 waiting for allocation. After that, the task 2 is assigned to the transaction Tx E waiting in the transaction reception management unit 104 by the operation of the task allocation unit 105 (FIG. 3). After being passed to the transaction processing unit 107, the transaction processing unit 107 processes the transaction Tx E by executing the task 2. FIG. 7 is a diagram showing a state in which task 2 is assigned to transaction Tx E and task 1 finishes data processing after the state of FIG.

図5の説明に戻る。トランザクションがキューの先頭に位置する場合(ステップE02の「はい」)、トランザクション処理部107は、当該トランザクションに割り当てられたタスクの実行を再開し、当該トランザクションの完了処理を行う(ステップE03)。完了処理が終了すると、トランザクション処理部107は、キューからトランザクションを削除する(ステップE04)。キューに別のトランザクションが残っており(ステップE05の「はい」)、キューの新たな先頭トランザクションにタスクが割り当てられていない場合(ステップE06の「いいえ」)、トランザクション処理部107は、完了処理が終了したトランザクションに割り当てられていたタスクを当該先頭トランザクションに割り当て直す(ステップE07)。 Returning to the description of FIG. When the transaction is located at the head of the queue (“Yes” in step E02), the transaction processing unit 107 resumes the execution of the task assigned to the transaction and completes the transaction (step E03). When the completion process is completed, the transaction processing unit 107 deletes the transaction from the queue (step E04). If another transaction remains in the queue (“Yes” in step E05) and no task has been assigned to the new first transaction in the queue (“No” in step E06), the transaction processing unit 107 has completed the transaction. The task assigned to the completed transaction is reassigned to the first transaction (step E07).

トランザクション処理部107のキューに別のトランザクションが残っており(ステップE05の「はい」)、キューの新たな先頭トランザクションにタスクが割り当てられている場合(ステップE06の「はい」)、割当待ちタスク管理部106は、完了処理が終了したトランザクションに割り当てられていたタスクを割当待ちタスクとしてキューに登録する(ステップE10)。 If another transaction remains in the queue of transaction processing unit 107 (“Yes” in step E05) and a task is assigned to the new first transaction in the queue (“Yes” in step E06), task management waiting for allocation Unit 106 registers the task assigned to the transaction whose completion processing has been completed in the queue as the task waiting for allocation (step E10).

図8は、図7の状態の後、完了処理が終了したトランザクションTx Aに割り当てられていたタスク1がトランザクションTx Bに割り当て直された状態(ステップE07の後)を示す図である。図8において、トランザクションTx Bはデータ処理まで処理が終了しており、かつキューの先頭に位置している。したがって、トランザクション処理部107が、タスク1を実行することにより、トランザクションの完了処理を行う(ステップE03)。トランザクションTx Bの完了処理が終了すると、当該トランザクションは、キューから削除される(ステップE04)。 FIG. 8 is a diagram showing a state (after step E07) in which task 1 assigned to transaction Tx A whose completion processing has been completed is reassigned to transaction Tx B after the state of FIG. 7. In FIG. 8, transaction Tx B has been processed up to data processing and is located at the head of the queue. Therefore, the transaction processing unit 107 performs transaction completion processing by executing task 1 (step E03). When the completion process of transaction Tx B is completed, the transaction is deleted from the queue (step E04).

キューの新たな先頭であるトランザクションTx Cを確認すると(ステップE05の「はい」)、タスク3が割り当てられている状態であるため(ステップE06の「はい」)、割当待ちタスク管理部106は、タスク1をキューに再登録する(ステップE10)。図9は、図8の状態の後、完了処理が終了したトランザクションTx Bがトランザクション処理部107のキューから削除され、タスク1が割当待ちタスクとして再登録された状態を示す図である。 When the transaction T x C, which is the new head of the queue, is confirmed (“Yes” in step E05), the task 3 is in the assigned state (“Yes” in step E06). Re-register task 1 in the queue (step E10). FIG. 9 is a diagram showing a state in which transaction Tx B whose completion processing has been completed is deleted from the queue of transaction processing unit 107 after the state of FIG. 8, and task 1 is re-registered as a task waiting for allocation.

[効果]
第1実施形態によれば、受付順に終了させる必要があるトランザクションの並列処理において、スループットの低下を抑えることができる。
[effect]
According to the first embodiment, it is possible to suppress a decrease in throughput in parallel processing of transactions that need to be completed in the order of reception.

その理由は、先に受け付けたトランザクションが終了する前に、後に受け付けたトランザクションのデータ処理が終了した場合、トランザクション処理部107が、後のトランザクションへのタスクの割り当てを解除するためである。また、タスク割当部105が、割り当てが解除されたタスクを新たなトランザクションに割り当てるためである。さらに、終了したトランザクションの次に受け付けたトランザクションへタスクが割り当てられていない場合、トランザクション処理部107が、当該次に受け付けたトランザクションに終了したトランザクションに割り当てられていたタスクを割り当てるためである。 The reason is that if the data processing of the transaction received later is completed before the transaction received earlier is completed, the transaction processing unit 107 cancels the assignment of the task to the later transaction. Further, the task allocation unit 105 allocates the task to which the assignment has been released to a new transaction. Further, when the task is not assigned to the transaction received next to the completed transaction, the transaction processing unit 107 assigns the task assigned to the completed transaction to the transaction received next.

[第2実施形態]
第1実施形態において、トランザクション終了の順序がトランザクションの受付順であることが保証される例について説明した。第2実施形態において、終了の順序を守る必要がないトランザクションが混在する場合について説明する。また、トランザクション終了の順序を保証する範囲(グループ)を複数設ける場合についても説明する。なお、トランザクション終了の順序を保証するグループは1つであってもよい。
[Second Embodiment]
In the first embodiment, an example in which the order of transaction end is guaranteed to be the transaction reception order has been described. In the second embodiment, a case where transactions that do not need to keep the order of termination are mixed will be described. In addition, a case where a plurality of ranges (groups) that guarantee the order of transaction termination is provided will also be described. Note that there may be only one group that guarantees the order of transaction termination.

第2実施形態において、第1実施形態と同様の構成、及び、動作については、その説明を省略することがある。 In the second embodiment, the description of the same configuration and operation as in the first embodiment may be omitted.

[構成]
第2実施形態において、トランザクションの一部、または、全部は、グループに属する。トランザクション受付管理部104は、トランザクションがどのグループに属するかを示すグループ情報を含むトランザクションを受け付ける。グループ情報は、例えばアプリケーションが任意の規則に基づいて付与する。
[Constitution]
In the second embodiment, some or all of the transactions belong to a group. The transaction reception management unit 104 accepts a transaction including group information indicating which group the transaction belongs to. The group information is given by the application based on an arbitrary rule, for example.

第1実施形態と同様に、タスク割当部105は、トランザクションにタスクを割り当て、トランザクション処理部107に渡す。トランザクション処理部107はトランザクションのグループ情報を読み取り、グループごとにキューを設ける。そして、トランザクション処理部107は、グループごとに、第1実施形態と同様にタスクを制御することにより、トランザクションを処理する。なお、トランザクション処理部107は、グループに属さないトランザクションはキューで管理しなくてもよい。 Similar to the first embodiment, the task allocation unit 105 allocates a task to the transaction and passes it to the transaction processing unit 107. The transaction processing unit 107 reads the transaction group information and provides a queue for each group. Then, the transaction processing unit 107 processes the transaction by controlling the task for each group as in the first embodiment. The transaction processing unit 107 does not have to manage transactions that do not belong to the group in the queue.

トランザクション処理部107は、トランザクションの処理結果をグループ毎に異なる記憶装置103に出力してもよい。記憶装置103は、トランザクションの処理結果をグループ毎に異なるファイルに記憶してもよい。 The transaction processing unit 107 may output the transaction processing result to a different storage device 103 for each group. The storage device 103 may store the transaction processing result in a different file for each group.

図10は、グループ情報を含むトランザクションが受け付けられた状態の例を示す図である。図10においてトランザクションTx A及びTx Cはグループαに属することを示すグループ情報を含む。トランザクションTx Bにはグループ情報が含まれていない。トランザクションTx Dはグループβに属することを示すグループ情報を含む。 FIG. 10 is a diagram showing an example of a state in which a transaction including group information is accepted. In FIG. 10, transactions Tx A and Tx C include group information indicating that they belong to group α. Transaction Tx B does not contain group information. Transaction Tx D contains group information indicating that it belongs to group β.

図11は、図10の状態の後、グループごとにキューが設けられた状態の例を示す図である。図11において、トランザクションTx A、Tx Cはグループαにおいて終了の順序が制御され、トランザクションTx Dはグループβにおいて終了の順序が制御される。また、トランザクションTx Bは終了の順序が制御されない。トランザクションがグループに属する場合、例えば、図5に示した処理がグループのキューごとに行われる。 FIG. 11 is a diagram showing an example of a state in which a queue is provided for each group after the state of FIG. 10. In FIG. 11, transactions Tx A and Tx C are controlled in the order of termination in group α, and transaction Tx D is controlled in the order of termination in group β. Also, transaction Tx B has no control over the order of termination. When a transaction belongs to a group, for example, the processing shown in FIG. 5 is performed for each queue of the group.

具体的には、トランザクション処理部107は、先に受け付けたトランザクションが終了する前に、同じグループに属し、かつ、後に受け付けたトランザクションのデータ処理が終了した場合、当該後に受け付けたトランザクションへのタスクの割り当てを解除する。トランザクションが終了したときに、当該終了したトランザクションと同じグループに属し、かつ、当該終了したトランザクションの次に受け付けたトランザクションにタスクが割り当てられていない場合、トランザクション処理部107は、終了したトランザクションに割り当てられていたタスクを、当該次に受け付けたトランザクションに割り当てる。これによりグループ内のトランザクションの終了の順序が制御される。 Specifically, when the transaction processing unit 107 belongs to the same group before the transaction received earlier ends and the data processing of the transaction received later ends, the transaction processing unit 107 assigns a task to the transaction received after that. Release the assignment. When the transaction ends, if the task belongs to the same group as the terminated transaction and the task is not assigned to the transaction received next to the terminated transaction, the transaction processing unit 107 is assigned to the terminated transaction. The task that was being assigned is assigned to the transaction that was accepted next. This controls the order in which transactions in the group end.

トランザクションがグループに属さない場合、トランザクション処理部107は、当該トランザクションが終了するまで、タスクの割り当てを解除しない。すなわち、例えば、トランザクション処理部107は、グループに属さないトランザクションのデータ処理の終了後、他のトランザクションが終了しているかどうかに関わらず、引き続き、完了処理を行う。 If the transaction does not belong to a group, the transaction processing unit 107 does not release the task assignment until the transaction is completed. That is, for example, the transaction processing unit 107 continues to perform completion processing after the data processing of a transaction that does not belong to the group is completed, regardless of whether another transaction is completed.

[効果]
第2実施形態によれば、トランザクションの並列処理において、グループごとにトランザクションを受付順に終了する際にも、スループットの低下を抑えることができる。その理由は、トランザクション処理部107が、トランザクションのグループ情報に基づいて、キューを管理するためである。また、第2実施形態によれば、トランザクション終了の順序を守る必要がない処理が混在する場合にも、スループットの低下を抑えることができる。
[effect]
According to the second embodiment, in the parallel processing of transactions, it is possible to suppress a decrease in throughput even when the transactions are completed in the order of reception for each group. The reason is that the transaction processing unit 107 manages the queue based on the transaction group information. Further, according to the second embodiment, it is possible to suppress a decrease in the throughput even when processing that does not need to keep the order of transaction termination is mixed.

[第3実施形態]
本開示の他の実施形態について説明する。図12は、第3実施形態に係るトランザクション制御装置102の構成を例示するブロック図である。第3実施形態において、トランザクション制御装置102は、タスク割当部105と、トランザクション処理部107を備える。第1実施形態の構成と同様の構成については、第3実施形態において、その説明を省略する。
[Third Embodiment]
Other embodiments of the present disclosure will be described. FIG. 12 is a block diagram illustrating the configuration of the transaction control device 102 according to the third embodiment. In the third embodiment, the transaction control device 102 includes a task allocation unit 105 and a transaction processing unit 107. The description of the same configuration as that of the first embodiment will be omitted in the third embodiment.

第3実施形態において、タスク割当部105は、図示しない外部装置のアプリケーションの処理要求をトランザクションとして受け付ける。トランザクションは、第1処理と第2処理の順序で実行される処理を含む。トランザクション処理部107は、トランザクションを受付順に処理する。トランザクション処理部107は、複数のタスクを並列で実行し、トランザクションを並列処理する。 In the third embodiment, the task allocation unit 105 accepts a processing request of an application of an external device (not shown) as a transaction. The transaction includes processes executed in the order of the first process and the second process. The transaction processing unit 107 processes transactions in the order of reception. The transaction processing unit 107 executes a plurality of tasks in parallel and processes the transaction in parallel.

[動作]
図13は、第3実施形態に係るトランザクション制御装置102の動作の例を示すフローチャートである。タスク割当部105は、トランザクションを受け付ける(ステップS101)。タスク割当部105は、トランザクションの受付順に、タスクをトランザクションに割り当てる(ステップS102)。トランザクション処理部107は、割り当てられたタスクを実行し、トランザクションの第1処理を行う(ステップS103)。
[motion]
FIG. 13 is a flowchart showing an example of the operation of the transaction control device 102 according to the third embodiment. The task allocation unit 105 accepts a transaction (step S101). The task allocation unit 105 assigns tasks to transactions in the order of transaction reception (step S102). The transaction processing unit 107 executes the assigned task and performs the first processing of the transaction (step S103).

先に受け付けたトランザクションが終了する前に、後に受け付けたトランザクションの第1処理が終了した場合(ステップS104の「いいえ」)、トランザクション処理部107は、第1処理が終了したトランザクションへのタスクの割り当てを解除する(ステップS105)。割り当てを解除されたタスクはステップS102において、新たなトランザクションに割り当てられる。 If the first process of the transaction received later is completed before the transaction received earlier is completed (“No” in step S104), the transaction processing unit 107 assigns a task to the transaction whose first process is completed. Is released (step S105). The task that has been deallocated is assigned to a new transaction in step S102.

第1処理が終了したときに、先に受け付けたトランザクションが終了していた場合(ステップS104の「はい」)、トランザクション処理部107は、引き続き、割り当てられている処理を実行し、第2処理を行う(ステップS106)。 If the previously accepted transaction is completed when the first process is completed (“Yes” in step S104), the transaction processing unit 107 continues to execute the assigned process and performs the second process. (Step S106).

第2処理が終了し、トランザクションが終了したときに、終了したトランザクションの次のトランザクションにタスクが割り当てられている場合(ステップS107の「はい」)、トランザクション処理部107は、トランザクションを終了したタスクを待機させる。待機させたタスクはステップS102において、新たなトランザクションに割り当てられる。 When the second process ends and the transaction ends, if a task is assigned to the transaction next to the completed transaction (“Yes” in step S107), the transaction processing unit 107 determines the task that ended the transaction. Make it wait. The waited task is assigned to a new transaction in step S102.

終了したトランザクションの次のトランザクションにタスクが割り当てられていない場合(ステップS107の「いいえ」)、トランザクション処理部107は、次のトランザクションに、終了したトランザクションに割り当てられていたタスクを割り当てる(ステップS108)。 If no task is assigned to the transaction following the completed transaction (“No” in step S107), the transaction processing unit 107 assigns the task assigned to the completed transaction to the next transaction (step S108). ..

トランザクション処理部107は、割り当て直されたタスクを実行し、トランザクションの第2処理を行う(ステップS106)。 The transaction processing unit 107 executes the reassigned task and performs the second processing of the transaction (step S106).

[効果]
第3実施形態によれば、受付順に終了させる必要があるトランザクションの並列処理において、スループットの低下を抑えることができる。
[effect]
According to the third embodiment, it is possible to suppress a decrease in throughput in parallel processing of transactions that need to be completed in the order of reception.

その理由は、先に受け付けたトランザクションが終了する前に、後に受け付けたトランザクションの第1処理が終了した場合、トランザクション処理部107が、後のトランザクションへのタスクの割り当てを解除するためである。また、終了したトランザクションの次に受け付けたトランザクションへタスクが割り当てられていない場合、トランザクション処理部107が、当該次に受け付けたトランザクションに終了したトランザクションに割り当てられたタスクを割り当てるためである。 The reason is that if the first process of the transaction received later is completed before the transaction received earlier is completed, the transaction processing unit 107 cancels the assignment of the task to the later transaction. Further, when the task is not assigned to the transaction received next to the completed transaction, the transaction processing unit 107 assigns the task assigned to the completed transaction to the transaction received next.

[適用例]
上述の各実施形態は、バッチ処理など、大量の情報を短時間で処理するシステムに適用することができる。
[Application example]
Each of the above embodiments can be applied to a system that processes a large amount of information in a short time, such as batch processing.

[ハードウェア構成]
上述した各実施形態において、トランザクション制御装置102の各構成要素は、機能単位のブロックを示している。各装置の各構成要素の一部又は全部は、コンピュータ500とプログラムとの任意の組み合わせにより実現されてもよい。
[Hardware configuration]
In each of the above-described embodiments, each component of the transaction control device 102 indicates a block of functional units. Some or all of the components of each device may be realized by any combination of the computer 500 and the program.

図14は、コンピュータ500のハードウェア構成の例を示すブロック図である。図14を参照すると、コンピュータ500は、例えば、CPU(Central Processing Unit)501、ROM(Read Only Memory)502、RAM(Random Access Memory)503、プログラム504、記憶装置505、ドライブ装置507、通信インタフェース508、入力装置509、入出力インタフェース511、及び、バス512を含む。 FIG. 14 is a block diagram showing an example of the hardware configuration of the computer 500. Referring to FIG. 14, the computer 500 may include, for example, a CPU (Central Processing Unit) 501, a ROM (Read Only Memory) 502, a RAM (Random Access Memory) 503, a program 504, a storage device 505, a drive device 507, and a communication interface 508. , Input device 509, input / output interface 511, and bus 512.

プログラム504は、各装置の各機能を実現するための命令(instruction)を含む。プログラム504は、予め、ROM502やRAM503、記憶装置505に格納される。CPU501は、プログラム504に含まれる命令を実行することにより、トランザクション制御装置102の各機能を実現する。例えば、CPU501がプログラム504に含まれる命令を実行することにより、トランザクション制御装置102の各機能を実現する。また、RAM503は、各機能において処理されるデータを記憶してもよい。 The program 504 includes an instruction for realizing each function of each device. The program 504 is stored in the ROM 502, the RAM 503, and the storage device 505 in advance. The CPU 501 realizes each function of the transaction control device 102 by executing the instructions included in the program 504. For example, the CPU 501 realizes each function of the transaction control device 102 by executing the instruction included in the program 504. Further, the RAM 503 may store the data processed in each function.

ドライブ装置507は、記録媒体506の読み書きを行う。通信インタフェース508は、通信ネットワークとのインタフェースを提供する。入力装置509は、例えば、マウスやキーボード等であり、システム利用者等からの情報の入力を受け付ける。出力装置510は、例えば、ディスプレイであり、システム利用者へ情報を出力(表示)する。入出力インタフェース511は、周辺機器とのインタフェースを提供する。バス512は、これらハードウェアの各構成要素を接続する。なお、プログラム504は、通信ネットワークを介してCPU501に供給されてもよいし、予め、記録媒体506に格納され、ドライブ装置507により読み出され、CPU501に供給されてもよい。 The drive device 507 reads and writes the recording medium 506. The communication interface 508 provides an interface with a communication network. The input device 509 is, for example, a mouse, a keyboard, or the like, and receives input of information from a system user or the like. The output device 510 is, for example, a display, and outputs (displays) information to the system user. The input / output interface 511 provides an interface with peripheral devices. Bus 512 connects each component of these hardware. The program 504 may be supplied to the CPU 501 via the communication network, or may be stored in the recording medium 506 in advance, read by the drive device 507, and supplied to the CPU 501.

なお、図14に示されているハードウェア構成は例示であり、これら以外の構成要素が追加されていてもよく、一部の構成要素を含まなくてもよい。 The hardware configuration shown in FIG. 14 is an example, and components other than these may be added or may not include some components.

トランザクション制御装置102の実現方法には、様々な変形例がある。例えば、トランザクション制御装置102の構成要素毎にそれぞれ異なるコンピュータとプログラムとの任意の組み合わせにより実現されてもよい。また、トランザクション制御装置102が備える複数の構成要素が、一つのコンピュータとプログラムとの任意の組み合わせにより実現されてもよい。 There are various variations in the method of realizing the transaction control device 102. For example, it may be realized by any combination of a computer and a program that are different for each component of the transaction control device 102. Further, a plurality of components included in the transaction control device 102 may be realized by any combination of one computer and a program.

また、各構成要素の一部又は全部は、プロセッサ等を含む汎用又は専用の回路(circuitry)や、これらの組み合わせによって実現されてもよい。これらの回路は、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。 Further, a part or all of each component may be realized by a general-purpose or dedicated circuitry including a processor or the like, or a combination thereof. These circuits may be composed of a single chip or a plurality of chips connected via a bus. A part or all of each component may be realized by a combination of the above-mentioned circuit or the like and a program.

また、各構成要素の一部又は全部が複数のコンピュータや回路等により実現される場合、複数のコンピュータや回路等は、集中配置されてもよいし、分散配置されてもよい。 Further, when a part or all of each component is realized by a plurality of computers, circuits, etc., the plurality of computers, circuits, etc. may be centrally arranged or distributed.

以上、実施形態を参照して本開示を説明したが、本開示は上記実施形態に限定されるものではない。本開示の構成や詳細には、本開示のスコープ内で当業者が理解し得る様々な変更をすることができる。また、各実施形態における構成は、本開示のスコープを逸脱しない限りにおいて、互いに組み合わせることが可能である。
Although the present disclosure has been described above with reference to the embodiments, the present disclosure is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the structure and details of the present disclosure within the scope of the present disclosure. Also, the configurations in each embodiment can be combined with each other as long as they do not deviate from the scope of the present disclosure.

101 処理要求装置
102 トランザクション制御装置
103 記憶装置
104 トランザクション受付管理部
105 タスク割当部
106 割当待ちタスク管理部
107 トランザクション処理部
101 Processing request device 102 Transaction control device 103 Storage device 104 Transaction reception management unit 105 Task allocation unit 106 Allocation waiting task management unit 107 Transaction processing unit

Claims (8)

第1処理と第2処理の順序で実行される処理を含むトランザクションに、該トランザクションの受付順にタスクを割り当てるタスク割当手段と、
前記トランザクションに割り当てられたタスクを実行することにより、前記トランザクションを処理する、トランザクション処理手段と、
を備え、
前記トランザクション処理手段は、
先に受け付けた前記トランザクションが終了する前に、後に受け付けた前記トランザクションの前記第1処理が終了した場合、当該後に受け付けたトランザクションへのタスクの割り当てを解除し、
前記トランザクションが終了したときに、当該終了したトランザクションの次に受け付けた前記トランザクションにタスクが割り当てられていない場合に、当該次に受け付けたトランザクションに、前記終了したトランザクションに割り当てられていたタスクを割り当てる、
トランザクション制御装置。
A task assignment means for allocating a task to a transaction including a transaction executed in the order of the first process and the second process in the order of receipt of the transaction.
A transaction processing means that processes a transaction by executing a task assigned to the transaction.
Equipped with
The transaction processing means is
If the first process of the transaction received later is completed before the transaction received earlier is completed, the task assignment to the transaction received after the transaction is released.
When the transaction is completed, if the task is not assigned to the transaction received next to the completed transaction, the task assigned to the completed transaction is assigned to the next accepted transaction.
Transaction controller.
前記トランザクション処理手段は、
前記トランザクションの受付順に、処理対象のトランザクションの識別子を格納するキューを含み、
前記トランザクションの第1処理が終了したときに、当該第1処理が終了したトランザクションが前記キューの先頭にない場合に、当該第1処理が終了したトランザクションへのタスクの割り当てを解除し、
前記トランザクションが終了したときに、前記キューの先頭のトランザクションであって、タスクを割り当てられていないトランザクションがある場合、当該終了したトランザクションに割り当てられていたタスクを、当該キューの先頭のトランザクションに割り当てる、
請求項1に記載のトランザクション制御装置。
The transaction processing means is
In the order of receipt of the transaction, a queue for storing the identifier of the transaction to be processed is included.
When the first process of the transaction is completed and the transaction for which the first process is completed is not at the head of the queue, the task assignment to the transaction for which the first process is completed is released.
When the transaction ends, if there is a transaction that is the first transaction in the queue and has not been assigned a task, the task assigned to the completed transaction is assigned to the first transaction in the queue.
The transaction control device according to claim 1.
割り当て待ちの前記タスクを管理する割当待ちタスク管理手段をさらに備え、
前記タスク割当手段は、前記割当待ちのタスクを、受け付けた前記トランザクションに割り当て、
前記割当待ちタスク管理手段は、前記終了したトランザクションの次に受け付けたトランザクションにタスクが割り当てられていない場合、前記終了したトランザクションに割り当てられていたタスクを前記割り当て待ちのタスクとして管理する、
請求項1又は2に記載のトランザクション制御装置。
Further provided with a task management means waiting for assignment to manage the task waiting for assignment,
The task allocation means allocates the task waiting for allocation to the received transaction,
When the task is not assigned to the transaction received after the completed transaction, the task management means waiting for allocation manages the task assigned to the completed transaction as the task waiting for allocation.
The transaction control device according to claim 1 or 2.
前記トランザクションは、グループに属するトランザクションを含み、
前記トランザクション処理手段は、
先に受け付けた前記トランザクションが終了する前に、同じグループに属し、かつ、後に受け付けた前記トランザクションの前記第1処理が終了した場合、当該後に受け付けたトランザクションへのタスクの割り当てを解除し、
前記トランザクションが終了したときに、当該終了したトランザクションと同じグループに属し、かつ、当該終了したトランザクションの次に受け付けた前記トランザクションにタスクが割り当てられていない場合に、当該次に受け付けたトランザクションに、前記終了したトランザクションに割り当てられていたタスクを割り当てる、
請求項1乃至3のいずれか1項に記載のトランザクション制御装置。
The transaction includes a transaction belonging to a group.
The transaction processing means is
If the transaction belongs to the same group before the transaction received earlier is completed and the first process of the transaction received later is completed, the task assignment to the transaction received after the transaction is released.
When the transaction ends, if the transaction belongs to the same group as the completed transaction and the task is not assigned to the transaction received next to the completed transaction, the transaction received next is described as described above. Assign the task that was assigned to the completed transaction,
The transaction control device according to any one of claims 1 to 3.
前記トランザクション処理手段は、前記グループに属しないトランザクションについて、当該トランザクションが終了するまで、前記タスクの割り当てを解除しない、
請求項4に記載のトランザクション制御装置。
The transaction processing means does not release the assignment of the task for a transaction that does not belong to the group until the transaction is completed.
The transaction control device according to claim 4.
前記トランザクション処理手段は、前記トランザクションが属するグループ毎に、前記トランザクションの受付順に、処理対象のトランザクションの識別子を格納するキューを含む、
請求項4に記載のトランザクション制御装置。
The transaction processing means includes a queue for storing an identifier of a transaction to be processed in the order of receiving the transaction for each group to which the transaction belongs.
The transaction control device according to claim 4.
第1処理と第2処理の順序で実行される処理を含むトランザクションを受け付け、
タスクを前記トランザクションの受付順に割り当て、
前記トランザクションに割り当てられたタスクを実行することにより、前記トランザクションを処理し、
先に受け付けた前記トランザクションが終了する前に、後に受け付けた前記トランザクションの前記第1処理が終了した場合、当該トランザクションへのタスクの割り当てを解除し、
前記トランザクションが終了したときに、当該トランザクションの次に受け付けた前記トランザクションにタスクが割り当てられていない場合に、当該次に受け付けたトランザクションに、前記終了したトランザクションに割り当てられていたタスクを割り当てる、
トランザクション制御方法。
Accepts transactions that include processes that are executed in the order of the first process and the second process,
Assign tasks in the order of receipt of the transaction,
Processing the transaction by performing the task assigned to the transaction
If the first process of the transaction received later is completed before the transaction received earlier is completed, the task assignment to the transaction is released.
When the transaction is completed, if the task is not assigned to the transaction received next to the transaction, the task assigned to the completed transaction is assigned to the transaction received next.
Transaction control method.
第1処理と第2処理の順序で実行される処理を含むトランザクションを受け付ける手順と、
タスクを前記トランザクションの受付順に割り当てる手順と、
前記トランザクションに割り当てられたタスクを実行することにより、前記トランザクションを処理する手順と、
先に受け付けた前記トランザクションが終了する前に、後に受け付けた前記トランザクションの前記第1処理が終了した場合、当該トランザクションへのタスクの割り当てを解除する手順と、
前記トランザクションが終了したときに、当該トランザクションの次に受け付けたトランザクションにタスクが割り当てられていない場合に、当該次に受け付けたトランザクションに、前記終了したトランザクションに割り当てられていたタスクを割り当てる手順と、
をコンピュータに実行させるプログラム。
A procedure for accepting transactions including processes executed in the order of the first process and the second process, and
The procedure for assigning tasks in the order of receipt of the transaction, and
A procedure for processing a transaction by executing a task assigned to the transaction, and a procedure for processing the transaction.
If the first process of the transaction received later is completed before the transaction received earlier is completed, the procedure for canceling the assignment of the task to the transaction and the procedure.
When the transaction is completed, if the task is not assigned to the transaction accepted next to the transaction, the procedure to assign the task assigned to the terminated transaction to the transaction accepted next, and the procedure.
A program that causes a computer to run.
JP2020156152A 2020-09-17 2020-09-17 Transaction control device, transaction control method, and program Pending JP2022049877A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020156152A JP2022049877A (en) 2020-09-17 2020-09-17 Transaction control device, transaction control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020156152A JP2022049877A (en) 2020-09-17 2020-09-17 Transaction control device, transaction control method, and program

Publications (1)

Publication Number Publication Date
JP2022049877A true JP2022049877A (en) 2022-03-30

Family

ID=80854094

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020156152A Pending JP2022049877A (en) 2020-09-17 2020-09-17 Transaction control device, transaction control method, and program

Country Status (1)

Country Link
JP (1) JP2022049877A (en)

Similar Documents

Publication Publication Date Title
US4918595A (en) Subsystem input service for dynamically scheduling work for a computer system
US9465663B2 (en) Allocating resources in a compute farm to increase resource utilization by using a priority-based allocation layer to allocate job slots to projects
KR20170099754A (en) System and method of application aware efficient io scheduler
US7681196B2 (en) Providing optimal number of threads to applications performing multi-tasking using threads
US7770177B2 (en) System for memory reclamation based on thread entry and release request times
KR20130087257A (en) Method and apparatus for resource allocation of gpu
CN109840149B (en) Task scheduling method, device, equipment and storage medium
US8775767B2 (en) Method and system for allocating memory to a pipeline
CN114461365A (en) Process scheduling processing method, device, equipment and storage medium
CN114896295B (en) Data desensitization method, desensitization device and desensitization system in big data scene
JP2022049877A (en) Transaction control device, transaction control method, and program
US20230393782A1 (en) Io request pipeline processing device, method and system, and storage medium
JP2008225641A (en) Computer system, interrupt control method and program
JP2005327007A (en) Integrated computer control program, recording medium for recording its program and integrated system
US5392426A (en) Method and apparatus for use in program operation, control and control block management and storage
JP6445876B2 (en) Resource allocation device, resource allocation system, and resource allocation method
CN114880101B (en) AI treater, electronic part and electronic equipment
JPH05120039A (en) Task scheduling system
JP2001142723A (en) Resource allocating method, computer system, and recording medium
US20210382752A1 (en) Server, apparatus, and method for accelerating file input-output offload for unikernel
KR102504274B1 (en) Server, apparatus and method for accelating file input-output offload for unikernel
WO2022137838A1 (en) Process allocation control device, process allocation control method, and recording medium storing process allocation control program
JP2692647B2 (en) Multitask control method and control system
CN113946410A (en) Task scheduling method and device, electronic equipment and computer readable storage medium
JP2011257973A (en) Memory management method and memory management device

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20211019

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230815

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240424