Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7608760B2 - Transaction control device, transaction control method, and program - Google Patents
[go: Go Back, main page]

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

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

Info

Publication number
JP7608760B2
JP7608760B2 JP2020156152A JP2020156152A JP7608760B2 JP 7608760 B2 JP7608760 B2 JP 7608760B2 JP 2020156152 A JP2020156152 A JP 2020156152A JP 2020156152 A JP2020156152 A JP 2020156152A JP 7608760 B2 JP7608760 B2 JP 7608760B2
Authority
JP
Japan
Prior art keywords
transaction
task
accepted
completed
assigned
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020156152A
Other languages
Japanese (ja)
Other versions
JP2022049877A (en
Inventor
桂太 岩野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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/JP7608760B2/en
Publication of JP2022049877A publication Critical patent/JP2022049877A/en
Application granted granted Critical
Publication of JP7608760B2 publication Critical patent/JP7608760B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

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

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

特開2014-211782号公報JP 2014-211782 A

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

本開示の目的の一つは、受付順に終了させる必要があるトランザクションの並列処理において、スループットの低下を抑えるトランザクション制御装置等を提供することである。 One of the objectives 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 must be completed in the order in which they are received.

本開示に係るトランザクション制御装置は、第1処理と第2処理の順序で実行される処理を含むトランザクションに、該トランザクションの受付順にタスクを割り当てるタスク割当手段と、前記トランザクションに割り当てられたタスクを実行することにより、前記トランザクションを処理する、トランザクション処理手段と、を備え、前記トランザクション処理手段は、先に受け付けた前記トランザクションが終了する前に、後に受け付けた前記トランザクションの前記第1処理が終了した場合、当該後に受け付けたトランザクションへのタスクの割り当てを解除し、前記トランザクションが終了したときに、当該終了したトランザクションの次に受け付けた前記トランザクションにタスクが割り当てられていない場合に、当該次に受け付けたトランザクションに、前記終了したトランザクションに割り当てられていたタスクを割り当てる。 The transaction control device according to the present disclosure includes a task allocation means for assigning tasks to transactions, each of which includes processes executed in the order of a first process and a second process, in the order in which the transactions are received, and a transaction processing means for processing the transactions by executing the tasks assigned to the transactions, and when the first process of a later-accepted transaction is terminated before the earlier-accepted transaction is terminated, the transaction processing means cancels the task allocation to the later-accepted transaction, and when the transaction is terminated, if the transaction received next after the terminated transaction has no task assigned to it, assigns the task assigned to the previously-accepted transaction to the next-accepted transaction.

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

本開示に係るプログラムは、第1処理と第2処理の順序で実行される処理を含むトランザクションを受け付ける手順と、タスクを前記トランザクションの受付順に割り当てる手順と、前記トランザクションに割り当てられたタスクを実行することにより、前記トランザクションを処理する手順と、先に受け付けた前記トランザクションが終了する前に、後に受け付けた前記トランザクションの前記第1処理が終了した場合、当該トランザクションへのタスクの割り当てを解除する手順と、前記トランザクションが終了したときに、当該トランザクションの次に受け付けたトランザクションにタスクが割り当てられていない場合に、当該次に受け付けたトランザクションに、前記終了したトランザクションに割り当てられていたタスクを割り当てる手順と、をコンピュータに実行させる。 The program disclosed herein causes a computer to execute the steps of accepting a transaction including processes executed in the order of a first process and a second process, allocating tasks in the order in which the transactions are accepted, processing the transactions by executing the tasks assigned to the transactions, unassigning the task to a transaction if the first process of the later accepted transaction is completed before the earlier accepted transaction is completed, and, if the transaction accepted next to the earlier accepted transaction has no task assigned when the earlier accepted transaction is completed, assigning the task assigned to the completed transaction to the next accepted transaction.

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

第1実施形態に係るトランザクション制御装置102の構成を例示するブロック図である。FIG. 2 is a block diagram illustrating a configuration of a transaction control device 102 according to the first embodiment. トランザクション制御装置102が適用されるシステムの一例を示す図である。FIG. 1 is a diagram illustrating an example of a system to which a transaction control device 102 is applied. トランザクションが受け付けられた状態の例を示す図である。FIG. 13 illustrates an example of a state in which a transaction has been accepted. トランザクション制御装置102における割り当て処理の例を示すフローチャートである。10 is a flowchart illustrating an example of an allocation process in the transaction control device 102. 全てのタスクがトランザクションに割り当てられた状態の例を示す図である。FIG. 13 is a diagram illustrating an example of a state in which all tasks are assigned to a transaction. トランザクション制御装置102におけるタスク制御処理の例を示すフローチャートである。4 is a flowchart illustrating an example of a task control process in the transaction controller 102. 図4の状態の続きの状態を示す図である。FIG. 5 is a diagram showing a state subsequent to the state shown in FIG. 4 . 図6の状態の続きの状態を示す図である。FIG. 7 is a diagram showing a state subsequent to the state shown in FIG. 6; 図7の状態の続きの状態を示す図である。FIG. 8 is a diagram showing a state subsequent to the state shown in FIG. 7; 図8の状態の続きの状態を示す図である。FIG. 9 is a diagram showing a state subsequent to the state shown in FIG. 8 . グループ情報を含むトランザクションが受け付けられた状態の例を示す図である。FIG. 13 illustrates an example of a state in which a transaction including group information has been accepted. グループごとにタスクが割り当てられた状態の例を示す図である。FIG. 13 is a diagram illustrating an example of a state in which tasks are assigned to each group. 第3実施形態に係るトランザクション制御装置102の構成を例示するブロック図である。FIG. 13 is a block diagram illustrating a configuration of a transaction control device 102 according to a third embodiment. 第3実施形態に係るトランザクション制御装置102の動作の例を示すフローチャートである。13 is a flowchart illustrating an example of an operation of a transaction control device 102 according to the third embodiment. コンピュータ500のハードウェア構成の例を示すブロック図である。FIG. 5 is a block diagram showing an example of the hardware configuration of a 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]
[composition]
Fig. 1A is a block diagram illustrating an example of the configuration of a 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, a waiting task management unit 106, and a transaction processing unit 107. Fig. 1B is a diagram illustrating an example of a system to which the transaction control device 102 is applied. The transaction control device 102 is connected to a processing request device 101 on which an application is executed, and a storage device 103 on which a processing result is stored.

トランザクション受付管理部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 consists of a specified process on data (hereinafter referred to as data processing) and a completion process performed on the results of the data processing. The data processing may be a specified calculation process on the data specified in the transaction. The completion process may be a process of outputting (storing) the results of the data processing to one or more storage devices 103.

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

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

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

トランザクション受付管理部104は、トランザクションを受付順に管理する。例えば、トランザクション受付管理部104は、トランザクションをキューで管理する。例えば、トランザクション受付管理部104は、トランザクションの受付順に、トランザクションの識別子を格納するキューを含んでもよい。 The transaction reception management unit 104 manages transactions in the order in which they are received. 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 that stores transaction identifiers in the order in which the transactions are received.

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

タスク割当部105は、割当待ちタスク管理部106に管理されている割当待ちタスクを、トランザクション受付管理部104のキューの先頭トランザクションに割り当てて、トランザクション処理部107に渡す。 The task allocation unit 105 assigns the waiting task managed by the 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, a task processes a transaction and outputs the processing result to the storage device 103. In the transaction processing unit 107, multiple tasks may run simultaneously. That is, the transaction processing unit 107 can process multiple 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 that stores the identifiers of the transactions in the order in which they are handed over.

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

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

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

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

図4は、図2の状態から、タスク割当部105によって全てのタスクがトランザクションに割り当てられ、トランザクション処理部107に渡された状態を示す図である。トランザクション処理部107内において、タスクとトランザクションのペア203A~203Dは、トランザクションの受付順、即ち、タスク割当部105から渡された順番にキューで管理されている。図4において、トランザクション処理部107内の矢印はキューを示す。なお、図4において、トランザクション受付管理部104にあるトランザクションTx Eは、タスクが割り当てられないまま処理を待っている。 Figure 4 shows the state in Figure 2 where all tasks have been assigned to transactions by the task allocation unit 105 and handed over to the transaction processing unit 107. Within the transaction processing unit 107, task and transaction pairs 203A to 203D are managed in a queue in the order in which the transactions were received, i.e., in the order in which they were handed over from the task allocation unit 105. In Figure 4, the arrows within the transaction processing unit 107 indicate queues. Note that in Figure 4, transaction Tx E in the transaction reception management unit 104 is waiting to be processed without being assigned a task.

図5は、タスクがトランザクション処理部107に渡された後のトランザクション制御装置102のタスク制御処理の例を示すフローチャートである。 Figure 5 is a flowchart showing an example of task control processing of the transaction control device 102 after a task is handed over 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 performs data processing of the transaction (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 data processing of a transaction is completed, each task suspends processing of the transaction and waits. Each task may notify the transaction processing unit 107 of the completion of data processing. When the transaction processing unit 107 detects the completion of data processing in a task, it determines whether the transaction to which the task is assigned is at the top of the queue.

トランザクションがキューの先頭に位置しない場合(ステップE02の「いいえ」)、先行するトランザクションの処理が終了していないため、完了処理を行わない。この場合、トランザクション処理部107は、タスクのトランザクションへの割り当てを解除する(ステップE08)。割当待ちタスク管理部106は、割り当てが解除されたタスクを割当待ちタスク管理部106内のキューに再登録する(ステップE09)。 If the transaction is not at the top of the queue ("No" in step E02), the preceding transaction has not been completed and therefore completion processing is not performed. In this case, the transaction processing unit 107 releases the task from the transaction (step E08). The task waiting for assignment management unit 106 re-registers the released task in the queue within the task waiting for assignment management unit 106 (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がデータ処理を終了した状態を示す図である。 Figure 6 shows a state in which, after the state in Figure 4, data processing of transaction Tx B processed by task 2 is completed before the completion processing of the preceding transaction Tx A processed by task 1 is completed. In Figure 6, task 2 is released from the allocation of transaction Tx B and registered in the queue of the task waiting for allocation management unit 106. After that, by the operation of the task allocation unit 105 (Figure 3), task 2 is assigned to transaction Tx E waiting in the transaction reception management unit 104. After being handed over to the transaction processing unit 107, the transaction processing unit 107 processes transaction Tx E by executing task 2. Figure 7 shows a state in which, after the state in Figure 6, task 2 is assigned to transaction Tx E and task 1 has completed data processing.

図5の説明に戻る。トランザクションがキューの先頭に位置する場合(ステップE02の「はい」)、トランザクション処理部107は、当該トランザクションに割り当てられたタスクの実行を再開し、当該トランザクションの完了処理を行う(ステップE03)。完了処理が終了すると、トランザクション処理部107は、キューからトランザクションを削除する(ステップE04)。キューに別のトランザクションが残っており(ステップE05の「はい」)、キューの新たな先頭トランザクションにタスクが割り当てられていない場合(ステップE06の「いいえ」)、トランザクション処理部107は、完了処理が終了したトランザクションに割り当てられていたタスクを当該先頭トランザクションに割り当て直す(ステップE07)。 Returning to the explanation of FIG. 5, if the transaction is at the top of the queue (Yes in step E02), the transaction processing unit 107 resumes execution of the task assigned to the transaction and completes the transaction (step E03). When the completion process is complete, 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 top transaction in the queue (No in step E06), the transaction processing unit 107 reassigns the task that was assigned to the transaction whose completion process has been completed to the top transaction (step E07).

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

図8は、図7の状態の後、完了処理が終了したトランザクションTx Aに割り当てられていたタスク1がトランザクションTx Bに割り当て直された状態(ステップE07の後)を示す図である。図8において、トランザクションTx Bはデータ処理まで処理が終了しており、かつキューの先頭に位置している。したがって、トランザクション処理部107が、タスク1を実行することにより、トランザクションの完了処理を行う(ステップE03)。トランザクションTx Bの完了処理が終了すると、当該トランザクションは、キューから削除される(ステップE04)。 Figure 8 shows the state after the state of Figure 7, in which task 1, which was assigned to transaction Tx A whose completion processing has been completed, is reallocated to transaction Tx B (after step E07). In Figure 8, transaction Tx B has completed processing up to data processing, and is at the top of the queue. Therefore, the transaction processing unit 107 executes task 1 to complete the transaction (step E03). When the completion processing 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 transaction Tx C, which is the new head of the queue, is confirmed ("Yes" in step E05), task 3 has been assigned to it ("Yes" in step E06), so the task waiting for assignment management unit 106 re-registers task 1 in the queue (step E10). Figure 9 shows the state after the state in Figure 8 where transaction Tx B, whose completion processing has been completed, is deleted from the queue of the transaction processing unit 107 and task 1 is re-registered as a task waiting for assignment.

[効果]
第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 in which they are received.

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

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

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

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

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

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

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

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

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

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

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

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

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

[動作]
図13は、第3実施形態に係るトランザクション制御装置102の動作の例を示すフローチャートである。タスク割当部105は、トランザクションを受け付ける(ステップS101)。タスク割当部105は、トランザクションの受付順に、タスクをトランザクションに割り当てる(ステップS102)。トランザクション処理部107は、割り当てられたタスクを実行し、トランザクションの第1処理を行う(ステップS103)。
[Action]
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 receives a transaction (step S101). The task allocation unit 105 assigns tasks to the transactions in the order in which the transactions were received (step S102). The transaction processing unit 107 executes the assigned tasks and performs a first process of the transaction (step S103).

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

第1処理が終了したときに、先に受け付けたトランザクションが終了していた場合(ステップS104の「はい」)、トランザクション処理部107は、引き続き、割り当てられている処理を実行し、第2処理を行う(ステップS106)。 When the first process is completed, if the previously accepted transaction has been 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 has been assigned to the next transaction of the completed transaction ("Yes" in step S107), the transaction processing unit 107 puts the task that has completed the transaction on hold. The task put on hold is assigned to a new transaction in step S102.

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

トランザクション処理部107は、割り当て直されたタスクを実行し、トランザクションの第2処理を行う(ステップS106)。 The transaction processing unit 107 executes the reallocated 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 in which they are received.

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

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

[ハードウェア構成]
上述した各実施形態において、トランザクション制御装置102の各構成要素は、機能単位のブロックを示している。各装置の各構成要素の一部又は全部は、コンピュータ500とプログラムとの任意の組み合わせにより実現されてもよい。
[Hardware configuration]
In each of the above-described embodiments, each component of the transaction control device 102 is shown as a functional block. Some or all of the components of each device may be realized by any combination of the computer 500 and a 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 a computer 500. Referring to FIG. 14, the computer 500 includes, 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, a communication interface 508, an input device 509, an input/output interface 511, and a bus 512.

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

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

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

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

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

また、各構成要素の一部又は全部が複数のコンピュータや回路等により実現される場合、複数のコンピュータや回路等は、集中配置されてもよいし、分散配置されてもよい。 In addition, when some or all of the components are realized by multiple computers, circuits, etc., the multiple computers, circuits, etc. may be centralized 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 modifications that can be understood by a person skilled in the art can be made to the configuration and details of the present disclosure within the scope of the present disclosure. Furthermore, the configurations in each embodiment can be combined with each other without departing 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 Task waiting for allocation management unit 107 Transaction processing unit

Claims (8)

データ処理とコミット処理の順序で実行される処理を含むトランザクションに、該トランザクションの受付順にタスクを割り当てるタスク割当手段と、
前記トランザクションに割り当てられたタスクを実行することにより、前記トランザクションを処理する、トランザクション処理手段と、
を備え、
前記トランザクション処理手段は、
先に受け付けた前記トランザクションが終了する前に、後に受け付けた前記トランザクションのデータ処理が終了した場合、当該後に受け付けたトランザクションへのタスクの割り当てを解除し、
前記トランザクションが終了したときに、当該終了したトランザクションの次に受け付けたトランザクションのコミット処理にタスクが割り当てられていない場合に、当該次に受け付けたトランザクションに、前記終了したトランザクションに割り当てられていたタスクを割り当てる、トランザクション制御装置。
a task allocation means for allocating tasks to transactions including processes to be executed in the order of data processing and commit processing in the order in which the transactions are received;
a transaction processing means for processing the transaction by executing a task assigned to the transaction;
Equipped with
The transaction processing means includes:
When data processing of the later accepted transaction is completed before the earlier accepted transaction is completed, the task allocation to the later accepted transaction is cancelled;
When the transaction is terminated, if a task is not assigned to the commit process of the transaction accepted next to the terminated transaction, the transaction control device assigns the task assigned to the terminated transaction to the next accepted transaction.
前記トランザクション処理手段は、
前記トランザクションの受付順に、処理対象のトランザクションの識別子を格納するキューを含み、
前記トランザクションのデータ処理が終了したときに、当該データ処理が終了したトランザクションが前記キューの先頭にない場合に、当該データ処理が終了したトランザクションへのタスクの割り当てを解除し、
前記トランザクションが終了したときに、前記キューの先頭のトランザクションであって、タスクを割り当てられていないトランザクションがある場合、当該終了したトランザクションに割り当てられていたタスクを、当該キューの先頭のトランザクションに割り当てる、請求項1に記載のトランザクション制御装置。
The transaction processing means includes:
a queue for storing identifiers of transactions to be processed in the order in which the transactions are received;
when data processing of the transaction is completed and the transaction whose data processing has been completed is not at the head of the queue, release the task assignment to the transaction whose data processing has been completed;
2. The transaction control device according to claim 1, wherein, when the transaction is completed, if there is a transaction at the head of the queue that has not been assigned a task, the task that was assigned to the completed transaction is assigned to the transaction at the head of the queue.
割り当て待ちの前記タスクを管理する割当待ちタスク管理手段をさらに備え、
前記タスク割当手段は、前記割当待ちのタスクを、受け付けた前記トランザクションに割り当て、
前記割当待ちタスク管理手段は、前記終了したトランザクションの次に受け付けたトランザクションにタスクが割り当てられていない場合、前記終了したトランザクションに割り当てられていたタスクを前記割り当て待ちのタスクとして管理する、
請求項1又は2に記載のトランザクション制御装置。
The system further includes a waiting task management unit for managing the tasks waiting for allocation,
the task allocation means allocates the waiting task to the accepted transaction;
the waiting task management means, when a task is not assigned to a transaction accepted next to the completed transaction, manages the task assigned to the completed transaction as the waiting task.
The transaction control device according to claim 1 or 2.
前記トランザクションは、グループに属するトランザクションを含み、
前記トランザクション処理手段は、
先に受け付けた前記トランザクションが終了する前に、同じグループに属し、かつ、後に受け付けた前記トランザクションのデータ処理が終了した場合、当該後に受け付けたトランザクションへのタスクの割り当てを解除し、
前記トランザクションが終了したときに、当該終了したトランザクションと同じグループに属し、かつ、当該終了したトランザクションの次に受け付けた前記トランザクションにタスクが割り当てられていない場合に、当該次に受け付けたトランザクションに、前記終了したトランザクションに割り当てられていたタスクを割り当てる、
請求項1乃至3のいずれか1項に記載のトランザクション制御装置。
The transactions include transactions belonging to a group;
The transaction processing means includes:
When data processing of a transaction that belongs to the same group and is accepted later is completed before the previously accepted transaction is completed, the task allocation to the subsequently accepted transaction is released;
when the transaction is terminated, if a task is not assigned to the transaction that belongs to the same group as the terminated transaction and is accepted next after the terminated transaction, assigning the task that was assigned to the terminated transaction to the next accepted transaction;
The transaction control device according to any one of claims 1 to 3.
前記トランザクション処理手段は、前記グループに属しないトランザクションについて、当該トランザクションが終了するまで、前記タスクの割り当てを解除しない、
請求項4に記載のトランザクション制御装置。
the transaction processing means does not release the task allocation for a transaction not belonging 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 identifiers of transactions to be processed in the order of receipt of the transactions for each group to which the transactions belong;
The transaction control device according to claim 4.
データ処理とコミット処理の順序で実行される処理を含むトランザクションを受け付け、
タスクを前記トランザクションの受付順に割り当て、
前記トランザクションに割り当てられたタスクを実行することにより、前記トランザクションを処理し、
先に受け付けた前記トランザクションが終了する前に、後に受け付けた前記トランザクションのデータ処理が終了した場合、当該トランザクションへのタスクの割り当てを解除し、
前記トランザクションが終了したときに、当該終了したトランザクションの次に受け付けたトランザクションのコミット処理にタスクが割り当てられていない場合に、当該次に受け付けたトランザクションに、前記終了したトランザクションに割り当てられていたタスクを割り当てる、
トランザクション制御方法。
Accepts transactions that contain operations that are executed in the order of data processing and commit processing,
Assigning tasks to the transactions in the order in which they are received;
Processing the transaction by performing tasks assigned to the transaction;
If data processing of the later accepted transaction is completed before the earlier accepted transaction is completed, the task allocation to the transaction is cancelled;
when the transaction is terminated, if no task is assigned to a commit process of a transaction accepted next to the terminated transaction, assigning the task assigned to the terminated transaction to the next accepted transaction;
Transaction control method.
データ処理とコミット処理の順序で実行される処理を含むトランザクションを受け付ける手順と、
タスクを前記トランザクションの受付順に割り当てる手順と、
前記トランザクションに割り当てられたタスクを実行することにより、前記トランザクションを処理する手順と、
先に受け付けた前記トランザクションが終了する前に、後に受け付けた前記トランザクションのデータ処理が終了した場合、当該トランザクションへのタスクの割り当てを解除する手順と、
前記トランザクションが終了したときに、当該終了したトランザクションの次に受け付けたトランザクションのコミット処理にタスクが割り当てられていない場合に、当該次に受け付けたトランザクションに、前記終了したトランザクションに割り当てられていたタスクを割り当てる手順と、
をコンピュータに実行させるプログラム。
accepting a transaction including operations that are executed in the order of a data operation and a commit operation;
assigning tasks to the transactions in the order in which they are received;
processing said transaction by executing a task assigned to said transaction;
a step of canceling the task allocation to a transaction when data processing of a later accepted transaction is completed before the earlier accepted transaction is completed;
a step of allocating the task assigned to the completed transaction to a next accepted transaction when no task has been assigned to a commit process of the next accepted transaction when the completed transaction is terminated;
A program that causes a computer to execute the following.
JP2020156152A 2020-09-17 2020-09-17 Transaction control device, transaction control method, and program Active JP7608760B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020156152A JP7608760B2 (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 JP7608760B2 (en) 2020-09-17 2020-09-17 Transaction control device, transaction control method, and program

Publications (2)

Publication Number Publication Date
JP2022049877A JP2022049877A (en) 2022-03-30
JP7608760B2 true JP7608760B2 (en) 2025-01-07

Family

ID=80854094

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP7608760B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008512950A (en) 2004-09-10 2008-04-24 カビウム・ネットワークス Packet queuing, scheduling, and ordering
JP2013196576A (en) 2012-03-22 2013-09-30 Nec Corp Information processing apparatus, information processing method, and information processing program
JP2014211782A (en) 2013-04-19 2014-11-13 日本電気株式会社 Data parallel processing system, data parallel processing method, and program therefor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008512950A (en) 2004-09-10 2008-04-24 カビウム・ネットワークス Packet queuing, scheduling, and ordering
JP2013196576A (en) 2012-03-22 2013-09-30 Nec Corp Information processing apparatus, information processing method, and information processing program
JP2014211782A (en) 2013-04-19 2014-11-13 日本電気株式会社 Data parallel processing system, data parallel processing method, and program therefor

Also Published As

Publication number Publication date
JP2022049877A (en) 2022-03-30

Similar Documents

Publication Publication Date Title
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
US7370326B2 (en) Prerequisite-based scheduler
US20100153957A1 (en) System and method for managing thread use in a thread pool
JPH0820963B2 (en) Method for operating computer system and computer system
CN109840149B (en) Task scheduling method, device, equipment and storage medium
US20190188034A1 (en) Thread pool and task queuing method and system
CN105159768A (en) Task management method and cloud data center management platform
TW200401529A (en) System and method for the allocation of grid computing workload to network workstations
CN106569891A (en) Method and device for carrying out task scheduling in storage system
CN113032152B (en) Scheduling method, scheduling apparatus, electronic device, storage medium, and program product for deep learning framework
WO2013091219A1 (en) Method and apparatus for processing concurrent tasks
CN114461365A (en) Process scheduling processing method, device, equipment and storage medium
CN118426934A (en) Asynchronous scheduling system, method and device for concurrent tasks
CN113849295B (en) Model training method, device and computer readable storage medium
TW201709047A (en) Routine task allocating method and multicore computer using the same
JP2012059152A (en) System for performing data processing and method for allocating memory
JP7608760B2 (en) Transaction control device, transaction control method, and program
JP3893136B2 (en) Embedded computer control program, recording medium recording the program, and embedded system
CN116737331B (en) Intelligent task flow arrangement method and platform
JPH05250188A (en) Process priority control method
CN115934335A (en) Task processing method and related equipment
CN113946410A (en) Task scheduling method and device, electronic equipment and computer readable storage medium
CN121433849B (en) Scheduling system, scheduling method and electronic equipment for configuration event
JP2001142723A (en) Resource allocation method, computer system and recording medium
JP2692647B2 (en) Multitask control method and control system

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240802

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20241119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20241202

R150 Certificate of patent or registration of utility model

Ref document number: 7608760

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150