JP2014089572A - Data processing system, data processing method and data processing program - Google Patents

Data processing system, data processing method and data processing program Download PDF

Info

Publication number
JP2014089572A
JP2014089572A JP2012238896A JP2012238896A JP2014089572A JP 2014089572 A JP2014089572 A JP 2014089572A JP 2012238896 A JP2012238896 A JP 2012238896A JP 2012238896 A JP2012238896 A JP 2012238896A JP 2014089572 A JP2014089572 A JP 2014089572A
Authority
JP
Japan
Prior art keywords
thread
data processing
data
business
information
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.)
Granted
Application number
JP2012238896A
Other languages
Japanese (ja)
Other versions
JP5998851B2 (en
Inventor
Ryo Oki
遼 大木
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 JP2012238896A priority Critical patent/JP5998851B2/en
Publication of JP2014089572A publication Critical patent/JP2014089572A/en
Application granted granted Critical
Publication of JP5998851B2 publication Critical patent/JP5998851B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To prevent, when the delay of data processing using a part of a plurality of databases unexpectedly occurs in a data processing system in which a plurality of data processing is executed by a computer in a simultaneous parallel manner, and a plurality of databases are updated during the execution of the data processing, an outputtable processing result data output in a thread which has already completed processing from being put in a standby state.SOLUTION: A thread in which the delay of data processing has occurred is detected, and it is considered that the delay also occurs in another thread which performs data processing by the same data processing method to the same database as the database used by the thread in which the delay has occurred, and only the processing result data in the thread which has not received the influence of the delay are written first in a storage device in a batch without waiting for the processing completion of those delay threads.

Description

本発明は、複数のデータ処理をコンピュータで同時並行的に実行し、係るデータ処理の実行中に複数のデータベースを更新するデータ処理システム、データ処理方法およびデータ処理プログラムに関し、特に、複数のデータ処理での処理結果を一括出力するデータ処理システム、データ処理方法およびデータ処理プログラムに関する。   The present invention relates to a data processing system, a data processing method, and a data processing program for executing a plurality of data processings simultaneously and in parallel on a computer and updating a plurality of databases during the execution of such data processing. The present invention relates to a data processing system, a data processing method, and a data processing program that collectively output the processing results of the above.

ほぼ同時間帯に大量に発生するデータに対して複数のデータ処理をコンピュータで同時並行的に実行し、係るデータ処理の実行中に複数のデータベースを更新するデータ処理システムが一般的に知られている。   Generally known is a data processing system in which a plurality of data processes are executed on a computer in parallel with a large amount of data generated in substantially the same time period, and a plurality of databases are updated during the data processing. Yes.

係るデータ処理システムの一例について、図8を参照して説明する。   An example of such a data processing system will be described with reference to FIG.

図8を参照すると、係るデータ処理システムは、各種のデータ処理を実行するコンピュータ等のデータ処理装置500と、入力ファイル600を記憶している記憶装置700と、出力ファイル620を格納する記憶装置800と、それぞれ複数のファイルを格納した3つのデータベース610−1、610−2および610−3とから構成されている。   Referring to FIG. 8, the data processing system includes a data processing device 500 such as a computer that executes various data processing, a storage device 700 that stores an input file 600, and a storage device 800 that stores an output file 620. And three databases 610-1, 610-2 and 610-3 each storing a plurality of files.

次に本データ処理システムの動作について説明する。   Next, the operation of the data processing system will be described.

まず、データ処理装置500上においてあるデータの処理を行うために、データ処理実行プロセス510がデータ処理装置500上で事前に起動しているものとする。   First, it is assumed that the data processing execution process 510 is activated in advance on the data processing device 500 in order to process certain data on the data processing device 500.

次に、起動中のデータ処理実行プロセス510は、実際に当該データ処理を行う4つの業務スレッド530a〜d(ここで、「スレッド」とは、「並列処理に対応したオペレーティングシステム上でのプログラムの最小の実行単位」を言う。)と、業務スレッド530a〜dを制御する制御スレッド520とを起動させ、常駐させておく。   Next, the running data processing execution process 510 has four business threads 530a to 530d (in this case, “threads” that actually perform the data processing are “programs on an operating system that supports parallel processing”. The minimum execution unit ") and the control thread 520 that controls the business threads 530a to 530d are activated and made resident.

次に、記憶装置700から当該データ処理の対象となる大量の入力データを含む入力ファイル600がデータ処理装置500に与えられると、制御スレッド520が入力ファイル600からファイル600内の全データを読み込んで、それらのデータを関連する業務別にまとめて、4つの処理データ群を作成する。   Next, when an input file 600 including a large amount of input data to be processed from the storage device 700 is given to the data processing device 500, the control thread 520 reads all the data in the file 600 from the input file 600. Then, these data are grouped according to related tasks to create four processing data groups.

次に、制御スレッド520は、4つの業務スレッド530a〜dに、4つの上記処理データ群を一対一対応に渡し、それらの処理データ群に対するデータ処理の開始を指示する。ここで、各処理データ群のデータ量は、各業務スレッド530a〜dでのデータ処理が完了するまでに要する時間がほぼ等しくなるように、決定される。   Next, the control thread 520 passes the four processing data groups in a one-to-one correspondence to the four business threads 530a to 530d, and instructs the start of data processing for the processing data groups. Here, the data amount of each processing data group is determined so that the time required for completing the data processing in each of the business threads 530a to 530d is approximately equal.

データ処理の開始を指示された業務スレッド530a〜dは、それぞれ渡された処理データ群に対するデータ処理を同時並行的に行う。このように、複数のスレッドでデータ処理を同時並行的に行うことを一般的にマルチスレッド処理と言う。   The business threads 530a to 530d instructed to start data processing simultaneously perform data processing on the received processing data group in parallel. In this way, performing data processing in parallel with a plurality of threads is generally referred to as multi-thread processing.

業務スレッド530a〜dでのデータ処理の実行中に、各業務スレッド530a〜dが処理結果を出力先のデータベースに随時出力し、データベース610−1〜610−3の内容を随時更新する場合があるが、その際、その各更新と同時にはデータベース610−1〜610−3のコミット(更新内容の確定)は行わず、制御スレッド520からのコミット指示があるまで待つ。   During the execution of data processing in the business threads 530a to 530d, the business threads 530a to 530d may output the processing results to the output destination database at any time and update the contents of the databases 610-1 to 610-3 as needed. However, at that time, the commit of the databases 610-1 to 610-3 (confirmation of update contents) is not performed at the same time as each update, and the process waits for a commit instruction from the control thread 520.

ここで、データベースのコミットとは、データベースに対して行った更新を正式に反映し、誰もが更新内容を見ることができるようにすることである。   Here, committing a database is to formally reflect updates made to the database so that anyone can see the updated contents.

多くのデータベースは、コミットされるまで更新箇所を他の利用者が参照や更新できないように制御され、これにより、もし一連のデータ処理中に行ったデータベースの更新において、その更新に異常があったとき、その更新箇所をコミットする前であれば、その更新を取り消すことができ、その結果、他の利用者による誤った更新結果の参照等を回避できる。したがって、コミットは、ある業務スレッドにおける一連のデータ処理中に行われるデータベースの全ての更新処理が正常に完了して、更新の取り消しが必要ないことが確定した後に、その全ての更新箇所に対してまとめて実施される。   Many databases are controlled so that other users cannot see or update the update location until it is committed, so that if there is a database update during a series of data processing, the update is abnormal. At that time, if the update location is not committed, the update can be canceled, and as a result, an erroneous reference to the update result by other users can be avoided. Therefore, a commit is performed for all update locations after it has been determined that all update processing of the database performed during a series of data processing in a certain business thread has been completed normally and cancellation of the update is not necessary. Implemented collectively.

業務スレッド530a〜dは、与えられた処理データ群に対するデータ処理が完了すると、処理完了通知を制御スレッド520に送り、さらにファイル620に出力するべき処理結果データを制御スレッド520にそれぞれ渡す。   When the data processing for the given processing data group is completed, the business threads 530a to 530d send a processing completion notification to the control thread 520, and further pass the processing result data to be output to the file 620 to the control thread 520.

制御スレッド520は、全ての業務スレッド530a〜dから処理完了通知を受けると、全ての業務スレッド530a〜dから受け取った処理結果データを1つにまとめ、出力ファイル620に出力する。   When the control thread 520 receives processing completion notifications from all the business threads 530a to 530d, the control thread 520 collects the processing result data received from all the business threads 530a to 530d and outputs them to the output file 620.

ここで、全ての業務スレッド530a〜dから処理完了通知を受けとった後、それらの業務スレッド530a〜cから受け取った処理結果データを一括して出力ファイル620に出力する、すなわち、書き込む理由は、処理結果データの発生の度に書き込むよりも、全ての処理結果データが揃うまで待って一括して書き込んだ方が、ファイル620に対する書き込み処理回数が減少し、出力ファイル620へのデータ書き込みのスループットが総合的に見て高くなるからである。   Here, after receiving processing completion notifications from all the business threads 530a to 530d, the processing result data received from these business threads 530a to 530c are output to the output file 620 in a batch, that is, the reason for writing is processing Rather than writing every time result data is generated, waiting until all the processing result data is collected and writing them in a batch reduces the number of times of writing processing to the file 620, and the total throughput of writing data to the output file 620 is comprehensive. This is because it becomes expensive.

制御スレッド520は、出力ファイル620への処理結果データの出力が完了すると、各業務スレッド530にコミット指示を送る。   When the output of the processing result data to the output file 620 is completed, the control thread 520 sends a commit instruction to each business thread 530.

コミット指示に応答して、各業務スレッド530a〜dは、自身が更新を行ったデータベースに対して、更新を確定させるコミット処理を行う。   In response to the commit instruction, each business thread 530a to 530d performs a commit process for confirming the update to the database that has been updated by itself.

以上で、入力ファイル600に関する全てのデータ処理が完了する。   Thus, all data processing relating to the input file 600 is completed.

図9a)に、各業務スレッド530a〜dでのデータ処理の開始からデータベース610−1〜610−3のコミットまでの流れを示す。   FIG. 9a) shows the flow from the start of data processing in each business thread 530a-d to the commit of the databases 610-1 to 610-3.

しかしながら、図8に示したデータ処理システムにおけるデータベースの更新を含むデータ処理においては、しばしば特定のデータベースに対する更新処理の集中などのために、予想外に特定の業務スレッドでデータ処理に時間を要し、当該スレッドでのデータ処理の完了に遅延を生じる場合がある。   However, in data processing including database update in the data processing system shown in FIG. 8, it takes time to process data unexpectedly in a specific business thread due to concentration of update processing on a specific database. In some cases, there is a delay in the completion of data processing in the thread.

図9b)は、業務スレッド530bおよび530dでのデータ処理の完了が遅延した場合の例を示す。この場合、他の業務スレッド530aおよびcのデータ処理が終了して、それらの業務スレッド530aおよびcでの処理結果データが揃っているにもかかわらず、業務スレッド530bおよびdでの処理結果データが揃っていないため、最も遅延した業務スレッド530dでのデータ処理が完了して全ての処理結果データが揃うまで出力ファイル620への処理結果データの出力は待たされることになり、その結果、全体的な処理時間の増大を招くという問題点が図8に示すデータ処理システムにはある。   FIG. 9b) shows an example when the completion of data processing in the business threads 530b and 530d is delayed. In this case, the data processing results of the other business threads 530a and c are finished, and the processing result data in the business threads 530b and d are stored even though the processing result data in the business threads 530a and c are available. Since they are not prepared, the output of the processing result data to the output file 620 is waited until the data processing in the most delayed business thread 530d is completed and all the processing result data is prepared. The data processing system shown in FIG. 8 has a problem that the processing time increases.

本発明の目的は、上述した問題点を解決できるデータ処理システム、データ処理方法およびデータ処理プログラムを提供することにある。   An object of the present invention is to provide a data processing system, a data processing method, and a data processing program that can solve the above-described problems.

本発明のデータ処理装置は、複数のデータ処理を自装置上に生成された複数の業務スレッドで同時並行的に実行する装置であって、
スレッドステータスリストと、遅延判定リストと、制御部と、遅延判定部と、出力制御部とを有し、
前記ステータスリストは、前記複数の業務スレッドに一対一対応する複数のスレッドステータスデータを有し、
各前記スレッドステータスデータは、対応する前記業務スレッドを識別するID情報と、対応する前記業務スレッドが行うデータ処理の現在の処理状況を示すステータス情報と、対応する前記業務スレッドが行うデータ処理で更新する対象のデータベースを識別するデータベース識別情報と、対応する前記業務スレッドでのデータ処理方法を識別するデータ処理方法情報と、対応する前記業務スレッドが行うデータ処理の対象となる処理対象データ群のデータサイズ情報と、対応する前記業務スレッドが行うデータ処理の開始時刻を示す開始時刻情報とを有し、
前記遅延判定リストは、各前記データ処理方法情報と、各前記データ処理方法情報で識別される前記データ処理方法で更新される前記データベースを識別する前記データベース識別情報と、前記データ処理方法情報と前記データベース識別情報との各組合せに対応する各データ処理の前回の処理における処理対象データ群の所定単位サイズあたりの処理時間から求めた遅延基準値情報とを有し、
前記制御部は、外部から与えられた複数の前記処理対象データ群を読み込んで複数の前記業務スレッドに分配し、各前記業務スレッドにデータ処理の開始を指示し、各前記業務スレッドは、自スレッドのデータ処理の開始前に、自スレッドに対応する前記スレッドステータスデータに、これから行うデータ処理に対応する、前記ステータス情報と前記データベース識別情報と前記データ処理方法情報と前記データサイズ情報と前記開始時刻情報とを登録し、自スレッドの前記データ処理の完了時に、自スレッドに対応する前記スレッドステータスデータの前記ステータス情報を、データ処理が完了したことを示す情報に更新し、
前記遅延判定部は、所定の周期で前記ステータスリストに登録された各前記スレッドステータスデータを参照し、まだ処理が完了していない業務スレッドに対し、当該業務スレッドに対応する前記スレッドステータスデータの前記データベース識別情報および前記データ処理方法情報に対応する前記遅延判定リストに登録された前記遅延基準値情報と、当該業務スレッドに対応する前記スレッドステータスデータの前記データサイズ情報および前記時刻情報とから、当該業務スレッドのデータ処理の遅延有無を判定し、遅延を検出したときには、当該業務スレッドに対応する前記スレッドステータスデータの前記ステータス情報を、遅延中を示す情報に更新し、
前記出力制御部は、前記複数の業務スレッドのいずれかがデータ処理を完了した後に、各前記スレッドステータスデータに登録された前記ステータス情報と前記データベース識別情報と前記データ処理方法情報とを参照して、遅延が発生しておらず且つまだ処理中の業務スレッドがない場合に、その時点で処理を完了しているすべての業務スレッドでの処理結果データを一括して外部に出力する。
The data processing device of the present invention is a device that executes a plurality of data processings simultaneously and in parallel with a plurality of business threads generated on the device,
A thread status list, a delay determination list, a control unit, a delay determination unit, and an output control unit;
The status list has a plurality of thread status data corresponding one-to-one to the plurality of business threads,
Each of the thread status data is updated by ID information for identifying the corresponding business thread, status information indicating a current processing status of data processing performed by the corresponding business thread, and data processing performed by the corresponding business thread. Database identification information for identifying a database to be processed, data processing method information for identifying a data processing method in the corresponding business thread, and data of a processing target data group that is a target of data processing performed by the corresponding business thread Size information and start time information indicating the start time of data processing performed by the corresponding business thread,
The delay determination list includes each of the data processing method information, the database identification information for identifying the database updated by the data processing method identified by each of the data processing method information, the data processing method information, and the Delay reference value information obtained from the processing time per predetermined unit size of the processing target data group in the previous processing of each data processing corresponding to each combination with the database identification information,
The control unit reads a plurality of processing target data groups given from the outside and distributes them to the plurality of business threads, instructs each of the business threads to start data processing, and each of the business threads Before the start of the data processing, the status information, the database identification information, the data processing method information, the data size information, and the start time corresponding to the data processing to be performed are added to the thread status data corresponding to the own thread. Information, and when the data processing of the own thread is completed, the status information of the thread status data corresponding to the own thread is updated to information indicating that the data processing is completed,
The delay determination unit refers to each thread status data registered in the status list at a predetermined period, and for the business thread that has not yet been processed, the thread status data corresponding to the business thread From the delay reference value information registered in the delay determination list corresponding to the database identification information and the data processing method information, the data size information and the time information of the thread status data corresponding to the business thread, The presence / absence of a delay in data processing of the business thread is determined, and when the delay is detected, the status information of the thread status data corresponding to the business thread is updated to information indicating that the process is being delayed,
The output control unit refers to the status information, the database identification information, and the data processing method information registered in each thread status data after any of the plurality of business threads completes data processing. If no delay has occurred and there is no business thread that is still being processed, the processing result data of all the business threads that have been processed at that time are output to the outside in a batch.

また、本発明のデータ処理方法は、
複数のデータ処理を自装置上に生成された複数の業務スレッドで同時並行的に実行するとともに、
対応する前記業務スレッドを識別するID情報と、対応する前記業務スレッドが行うデータ処理の現在の処理状況を示すステータス情報と、対応する前記業務スレッドが行うデータ処理で更新する対象のデータベースを識別するデータベース識別情報と、対応する前記業務スレッドでのデータ処理方法を識別するデータ処理方法情報と、対応する前記業務スレッドが行うデータ処理の対象となる処理対象データ群のデータサイズ情報と、対応する前記業務スレッドが行うデータ処理の開始時刻を示す開始時刻情報とをそれぞれが有する、前記複数の業務スレッドに一対一対応する、複数のスレッドステータスデータからなるスレッドステータスリストと、
各前記データ処理方法情報と、各前記データ処理方法情報で識別される前記データ処理方法で更新される前記データベースを識別する前記データベース識別情報と、前記データ処理方法情報と前記データベース識別情報との各組合せに対応する各データ処理の前回の処理における処理対象データ群の所定単位サイズあたりの処理時間から求めた遅延基準値情報とを有する遅延判定リストとを備えたデータ処理装置で使用する方法であって、
外部から与えられた複数の処理対象データ群を読み込んで前記複数の業務スレッドに分配し、各前記業務スレッドにデータ処理の開始を指示するデータ処理開始ステップと、
データ処理の開始を指示された各前記業務スレッドにおいて、自スレッドのデータ処理の開始前に、自スレッドに対応する前記スレッドステータスデータに、これから行うデータ処理に対応する、前記ステータス情報と前記データベース識別情報と前記データ処理方法情報と前記データサイズ情報と前記開始時刻情報を登録し、自スレッドの前記データ処理の完了時に、自スレッドに対応する前記スレッドステータスデータの前記ステータス情報を、データ処理が完了したことを示す情報に更新するデータ処理ステップと、
所定の周期で前記ステータスリストに登録された各前記スレッドステータスデータを参照し、まだ処理が完了していない業務スレッドに対し、当該業務スレッドに対応する前記スレッドステータスデータの前記データベース識別情報および前記データ処理方法情報に対応する前記遅延判定リストに登録された前記遅延基準値情報と、当該業務スレッドに対応する前記スレッドステータスデータの前記データサイズ情報および前記時刻情報とから、当該業務スレッドのデータ処理の遅延有無を判定し、遅延を検出したときには、当該業務スレッドに対応する前記スレッドステータスデータの前記ステータス情報を、遅延中を示す情報に更新する遅延判定ステップと、
前記複数の業務スレッドのいずれかがデータ処理を完了した後に、各前記スレッドステータスデータに登録された前記ステータス情報と前記データベース識別情報と前記データ処理方法情報とを参照して、遅延が発生しておらず且つまだ処理中の業務スレッドがない場合に、その時点で処理を完了しているすべての業務スレッドでの処理結果データを一括して外部に出力する出力制御ステップとを含む。
Further, the data processing method of the present invention includes:
While executing multiple data processing concurrently in multiple business threads generated on its own device,
ID information for identifying the corresponding business thread, status information indicating the current processing status of data processing performed by the corresponding business thread, and a database to be updated by data processing performed by the corresponding business thread Database identification information, data processing method information for identifying a data processing method in the corresponding business thread, data size information of a processing target data group to be subjected to data processing performed by the corresponding business thread, and the corresponding A thread status list including a plurality of thread status data each corresponding to the plurality of business threads, each having start time information indicating a start time of data processing performed by the business threads;
Each of the data processing method information, the database identification information for identifying the database updated by the data processing method identified by each of the data processing method information, each of the data processing method information and the database identification information This is a method used in a data processing apparatus having a delay determination list having delay reference value information obtained from a processing time per predetermined unit size of a processing target data group in the previous processing of each data processing corresponding to a combination. And
A data processing start step for reading a plurality of processing target data groups given from the outside and distributing them to the plurality of business threads, and instructing the business threads to start data processing;
In each business thread instructed to start data processing, the status information and the database identification corresponding to the data processing to be performed are added to the thread status data corresponding to the own thread before starting the data processing of the own thread. Information, the data processing method information, the data size information, and the start time information are registered, and when the data processing of the own thread is completed, the status information of the thread status data corresponding to the own thread is completed. A data processing step for updating to information indicating that,
The database identification information and the data of the thread status data corresponding to the business thread for a business thread that has not yet been processed with reference to each thread status data registered in the status list at a predetermined cycle From the delay reference value information registered in the delay determination list corresponding to the processing method information, the data size information and the time information of the thread status data corresponding to the business thread, data processing of the business thread A delay determination step of determining whether there is a delay and detecting the delay, updating the status information of the thread status data corresponding to the business thread to information indicating that the delay is in progress;
After one of the plurality of business threads completes data processing, a delay occurs with reference to the status information, the database identification information, and the data processing method information registered in each thread status data. And an output control step for collectively outputting processing result data of all the business threads that have completed processing at that time when there is no business thread that is still being processed.

さらに、本発明のデータ処理プログラムは、
複数のデータ処理を自コンピュータ上に生成された複数の業務スレッドで同時並行的に実行するとともに、
対応する前記業務スレッドを識別するID情報と、対応する前記業務スレッドが行うデータ処理の現在の処理状況を示すステータス情報と、対応する前記業務スレッドが行うデータ処理で更新する対象のデータベースを識別するデータベース識別情報と、対応する前記業務スレッドでのデータ処理方法を識別するデータ処理方法情報と、対応する前記業務スレッドが行うデータ処理の対象となる処理対象データ群のデータサイズ情報と、対応する前記業務スレッドが行うデータ処理の開始時刻を示す開始時刻情報とをそれぞれが有する、前記複数の業務スレッドに一対一対応する、複数のスレッドステータスデータからなるスレッドステータスリストと、
各前記データ処理方法情報と、各前記データ処理方法情報で識別される前記データ処理方法で更新される前記データベースを識別する前記データベース識別情報と、前記データ処理方法情報と前記データベース識別情報との各組合せに対応する各データ処理の前回の処理における処理対象データ群の所定単位サイズあたりの処理時間から求めた遅延基準値情報とを有する遅延判定リストとを備えたコンピュータで実行されるプログラムであって、
外部から与えられた複数の処理対象データ群を読み込んで前記複数の業務スレッドに分配し、各前記業務スレッドにデータ処理の開始を指示するデータ処理開始処理と、
データ処理の開始を指示された各前記業務スレッドにおいて、自スレッドのデータ処理の開始前に、自スレッドに対応する前記スレッドステータスデータに、これから行うデータ処理に対応する、前記ステータス情報と前記データベース識別情報と前記データ処理方法情報と前記データサイズ情報と前記開始時刻情報を登録し、自スレッドの前記データ処理の完了時に、自スレッドに対応する前記スレッドステータスデータの前記ステータス情報を、データ処理が完了したことを示す情報に更新する情報登録・更新処理と、
所定の周期で前記ステータスリストに登録された各前記スレッドステータスデータを参照し、まだ処理が完了していない業務スレッドに対し、当該業務スレッドに対応する前記スレッドステータスデータの前記データベース識別情報および前記データ処理方法情報に対応する前記遅延判定リストに登録された前記遅延基準値情報と、当該業務スレッドに対応する前記スレッドステータスデータの前記データサイズ情報および前記時刻情報とから、当該業務スレッドのデータ処理の遅延有無を判定し、遅延を検出したときには、当該業務スレッドに対応する前記スレッドステータスデータの前記ステータス情報を、遅延中を示す情報に更新する遅延判定処理と、
前記複数の業務スレッドのいずれかがデータ処理を完了した後に、各前記スレッドステータスデータに登録された前記ステータス情報と前記データベース識別情報と前記データ処理方法情報とを参照して、遅延が発生しておらず且つまだ処理中の業務スレッドがない場合に、その時点で処理を完了しているすべての業務スレッドでの処理結果データを一括して外部に出力する出力制御処理とを前記コンピュータに実行させる。
Furthermore, the data processing program of the present invention provides:
While executing multiple data processing concurrently in multiple business threads generated on the own computer,
ID information for identifying the corresponding business thread, status information indicating the current processing status of data processing performed by the corresponding business thread, and a database to be updated by data processing performed by the corresponding business thread Database identification information, data processing method information for identifying a data processing method in the corresponding business thread, data size information of a processing target data group to be subjected to data processing performed by the corresponding business thread, and the corresponding A thread status list including a plurality of thread status data each corresponding to the plurality of business threads, each having start time information indicating a start time of data processing performed by the business threads;
Each of the data processing method information, the database identification information for identifying the database updated by the data processing method identified by each of the data processing method information, each of the data processing method information and the database identification information A program executed on a computer having a delay determination list having delay reference value information obtained from a processing time per predetermined unit size of a processing target data group in a previous process of each data process corresponding to a combination, ,
A data processing start process that reads a plurality of processing target data groups given from the outside and distributes them to the plurality of business threads, and instructs each of the business threads to start data processing;
In each business thread instructed to start data processing, the status information and the database identification corresponding to the data processing to be performed are added to the thread status data corresponding to the own thread before starting the data processing of the own thread. Information, the data processing method information, the data size information, and the start time information are registered, and when the data processing of the own thread is completed, the status information of the thread status data corresponding to the own thread is completed. Information registration / update processing to update to information indicating that,
The database identification information and the data of the thread status data corresponding to the business thread for a business thread that has not yet been processed with reference to each thread status data registered in the status list at a predetermined cycle From the delay reference value information registered in the delay determination list corresponding to the processing method information, the data size information and the time information of the thread status data corresponding to the business thread, data processing of the business thread When determining whether there is a delay and detecting a delay, a delay determination process for updating the status information of the thread status data corresponding to the business thread to information indicating that the delay is in progress;
After one of the plurality of business threads completes data processing, a delay occurs with reference to the status information, the database identification information, and the data processing method information registered in each thread status data. If there is no business thread that is not yet processed, the computer is caused to execute output control processing that collectively outputs processing result data of all business threads that have been processed at that time to the outside. .

本発明には、複数のデータ処理をコンピュータで同時並行的に実行し、係るデータ処理の実行中に複数のデータベースを更新するデータ処理システムにおいて、一部のデータベースを利用するデータ処理に遅延が予想外に発生した場合にも、遅延の影響を受けていない他の複数のデータ処理での処理結果データの記憶装置への一括書き込みを可能にし、その結果、遅延の影響を受けていない当該他の複数のデータ処理での処理結果データを遅滞なく利用することができるという効果がある。   According to the present invention, in a data processing system in which a plurality of data processes are simultaneously executed by a computer and a plurality of databases are updated during the execution of the data processes, a delay is expected in data processing using some databases. Even if it occurs outside, it is possible to batch write the processing result data in the other multiple data processing not affected by the delay to the storage device, and as a result, the other data not affected by the delay There is an effect that the processing result data in a plurality of data processing can be used without delay.

本発明の実施形態の構成を示すブロック図である。It is a block diagram which shows the structure of embodiment of this invention. 本発明の実施形態における業務スレッド制御部121での処理を示すフローチャートである。It is a flowchart which shows the process in the business thread control part 121 in embodiment of this invention. 本発明の実施形態における遅延判定部122での処理を示すフローチャートである。It is a flowchart which shows the process in the delay determination part 122 in embodiment of this invention. 本発明の実施形態における出力制御部123での処理を示すフローチャートである。It is a flowchart which shows the process in the output control part 123 in embodiment of this invention. 本発明の実施形態における業務スレッドが実行する処理を示すフローチャートである。It is a flowchart which shows the process which the business thread in embodiment of this invention performs. 本発明の実施形態における業務スレッドの処理フローの一例を示す図である。It is a figure which shows an example of the processing flow of the business thread in embodiment of this invention. 本発明の実施形態における業務スレッドステータスリストと遅延判定リストとの変化の様子を示す図である。It is a figure which shows the mode of a change with the business thread status list | wrist and the delay determination list | wrist in embodiment of this invention. データベースの更新を伴う処理を実行する一般的なデータ処理システムの構成を示すブロック図である。It is a block diagram which shows the structure of the general data processing system which performs the process accompanying the update of a database. データベースの更新を伴う処理を実行する一般的なデータ処理システムの業務スレッドの処理フローを示す図である。It is a figure which shows the processing flow of the business thread | sled of the general data processing system which performs the process accompanying the update of a database.

次に、本発明の実施形態について図面を参照して詳細に説明する。   Next, embodiments of the present invention will be described in detail with reference to the drawings.

図1は、本発明の実施形態の構成を示すブロック図である。   FIG. 1 is a block diagram showing the configuration of the embodiment of the present invention.

図1を参照すると、本実施形態に係るデータ処理システムは、データ処理装置100と、入力ファイル210を記憶している記憶装置200と、出力ファイル410を格納する記憶装置400と、それぞれ複数のファイルを格納した3つのデータベース300−1〜3から構成される。   Referring to FIG. 1, the data processing system according to the present embodiment includes a data processing device 100, a storage device 200 storing an input file 210, a storage device 400 storing an output file 410, and a plurality of files. Are composed of three databases 300-1 to 300-3.

データ処理装置100は、プログラム制御により動作する一般的な情報処理装置(コンピュータ)によって構成される。   The data processing apparatus 100 is configured by a general information processing apparatus (computer) that operates under program control.

記憶装置200および400は、例えば、ディスク装置や半導体メモリ装置により実現される。   The storage devices 200 and 400 are realized by, for example, a disk device or a semiconductor memory device.

少なくとも一つの入力ファイル210は、それぞれ、データ処理装置100の行うデータ処理の対象となる大量の入力データおよび各入力データの処理方法を指定する情報などを含む。   Each of the at least one input file 210 includes a large amount of input data to be subjected to data processing performed by the data processing apparatus 100, information specifying a processing method for each input data, and the like.

記憶装置400は、データ処理装置100が生成する出力ファイル410を記憶する。   The storage device 400 stores an output file 410 generated by the data processing device 100.

データ処理装置100は、データ処理実行プロセス110と、メモリ160とを含む。   The data processing apparatus 100 includes a data processing execution process 110 and a memory 160.

すなわち、本実施形態では、データ処理装置100に搭載されたオペレティングシステム(図示せず)が、データ処理装置100上において各種のデータ処理を行うために、データ処理実行プロセス110を予め生成し起動させてあるものとする。なお、ここで言う「プロセス」とは、コンピュータ分野においてよく知られている概念であり、その詳細な説明は省略する。   That is, in this embodiment, an operating system (not shown) mounted on the data processing apparatus 100 generates and starts a data processing execution process 110 in advance in order to perform various data processing on the data processing apparatus 100. Suppose that The “process” here is a concept well known in the computer field, and detailed description thereof is omitted.

起動中のデータ処理実行プロセス110は、実際にデータ処理を行う4つの業務スレッド130a〜dと、業務スレッド130a〜dを制御する制御スレッド120とを起動させ、常駐させておく。   The active data processing execution process 110 activates and makes the four business threads 130a to 130d that actually perform data processing and the control thread 120 that controls the business threads 130a to 130d resident.

メモリ160は、全ての業務スレッド130a〜dのデータ処理の現況を格納している業務スレッドステータスリスト140と、各データベース300−1〜3に対する処理別にその処理に要する時間の基準値を格納している遅延判定リスト150とを記憶しており、制御スレッド120および業務スレッド130a〜dはそれらリスト140および150にアクセスが可能である。   The memory 160 stores a business thread status list 140 that stores the current status of data processing of all the business threads 130a to 130d, and a reference value for the time required for each process for each database 300-1 to 300-3. The delay determination list 150 is stored, and the control thread 120 and the business threads 130a to 130d can access the lists 140 and 150.

制御スレッド120は、業務スレッド制御部121と、遅延判定部122と、出力制御部123とを有する。   The control thread 120 includes a business thread control unit 121, a delay determination unit 122, and an output control unit 123.

業務スレッド制御部121は、入力ファイル210から入力データを読み込み、4つの業務スレッド130a〜dを制御してデータ処理を開始させる。   The business thread control unit 121 reads input data from the input file 210 and controls the four business threads 130a to 130d to start data processing.

遅延判定部122は、定期的に業務スレッドステータスリスト140を参照し、遅延判定リスト150の情報に基づいて、業務スレッド130a〜dでのデータ処理の遅延発生の有無を判定する。なお、以下の説明では、遅延判定部122によって、データ処理に遅延が発生したと判定された業務スレッドを「遅延中の業務スレッド」または「遅延した業務スレッド」と言う。   The delay determination unit 122 periodically refers to the business thread status list 140 and determines whether or not there is a data processing delay in the business threads 130a to 130d based on information in the delay determination list 150. In the following description, a business thread that is determined by the delay determination unit 122 to have a delay in data processing is referred to as a “delayed business thread” or a “delayed business thread”.

出力制御部123は、4つの業務スレッド130a〜dでの処理結果の出力を制御する。すなわち、業務スレッド130a〜dは、それらでの処理結果を、ファイル410に直接出力するのではなく、出力制御部123に一旦渡す。処理結果を渡された出力制御部123は、自身で決定したタイミングで、当該処理結果を出力ファイル410へ出力する。また、出力制御部123は、業務スレッド130a〜dに、業務スレッド130a〜dが更新したデータベースのコミットを指示する。   The output control unit 123 controls output of processing results in the four business threads 130a to 130d. That is, the business threads 130a to 130d do not directly output the processing results of these to the file 410, but temporarily pass them to the output control unit 123. The output control unit 123 to which the processing result is passed outputs the processing result to the output file 410 at a timing determined by itself. Further, the output control unit 123 instructs the business threads 130a to 130d to commit the database updated by the business threads 130a to 130d.

業務スレッド130a〜dは、入力ファイル210から業務スレッド制御部121を介してそれぞれ与えられた処理データ群を指示されたデータ処理方法で同時並行的に処理し、業務スレッドステータスリスト140と遅延判定リスト150とを随時更新する。   The business threads 130a to 130d process the processing data groups given from the input file 210 via the business thread control unit 121 in parallel by the designated data processing method, and the business thread status list 140 and the delay determination list 150 is updated at any time.

なお、本実施形態では、業務スレッド130の数は4つ、データベースの数は3つとしたが、これらは一例であり、これらに限定されるものではない。   In the present embodiment, the number of business threads 130 is four and the number of databases is three. However, these are examples, and the present invention is not limited to these.

図6は、業務スレッド130a〜dでのデータ処理の流れを示す。   FIG. 6 shows a flow of data processing in the business threads 130a to 130d.

図7は、図6の時刻T1〜T5の各時点における業務スレッドステータスリスト140および遅延判定リスト150の内容を示す。   FIG. 7 shows the contents of the business thread status list 140 and the delay determination list 150 at each point in time T1 to T5 in FIG.

延判定リスト150には、あらかじめ、以前のデータ処理におけるデータ処理速度から求めた、または、任意に定めた遅延基準値が格納されているものとする。   Assume that the delay determination list 150 stores in advance a delay reference value obtained or arbitrarily determined from the data processing speed in the previous data processing.

遅延判定リスト150は、データ処理方法を示すデータ処理方法情報を登録するデータ処理方法欄と、当該データ処理方法情報で識別されるデータ処理方法で更新されるデータベースを識別するデータベース識別情報を登録する更新DB欄と、上記の遅延基準値である遅延基準値情報を登録する遅延基準値欄とから構成される。遅延基準値は、前回のデータ処理における処理データ群1KBあたりの処理時間に(1+遅延許容率)を掛けた値である。   The delay determination list 150 registers a data processing method column for registering data processing method information indicating a data processing method, and database identification information for identifying a database updated by the data processing method identified by the data processing method information. The update DB field includes a delay reference value field for registering delay reference value information that is the delay reference value. The delay reference value is a value obtained by multiplying the processing time per 1 KB of processing data group in the previous data processing by (1 + acceptable delay rate).

例えば、図7の遅延判定リスト(T1時点)の2行目を見ると、データ処理方法欄には「処理法A」が、更新DB欄には「DB−1」が、および、遅延基準値欄には1.5がそれぞれ登録されている。これは、データ処理方法が「処理法A」で更新処理対象のデータベースが「DB−1」であるデータ処理であることを示している。   For example, looking at the second line of the delay determination list (at time T1) in FIG. 7, “processing method A” is displayed in the data processing method column, “DB-1” is displayed in the update DB column, and the delay reference value is displayed. 1.5 is registered in the column. This indicates that the data processing method is “processing method A” and the database to be updated is “DB-1”.

係るデータ処理において、1KBあたりの処理時間が1.6になった場合には、この1.6という値は、対応する遅延基準値欄が示す値である1.5を越えているので、DB−1を対象とする処理法Aのデータ処理は「遅延している」とみなされる。すなわち、遅延基準値はデータ処理の遅延を判定するための閾値である。   In such data processing, when the processing time per 1 KB becomes 1.6, the value of 1.6 exceeds 1.5 which is the value indicated by the corresponding delay reference value column. Data processing of processing method A targeting -1 is regarded as “delayed”. That is, the delay reference value is a threshold value for determining a data processing delay.

遅延許容率は、データ処理の業務内容にあわせて設定する任意の値であり、本実施形態では遅延許容率を0.5とする。   The allowable delay rate is an arbitrary value set in accordance with the contents of data processing work. In this embodiment, the allowable delay rate is 0.5.

本実施形態では、遅延判定リスト150は、あらかじめ図7の遅延判定リスト(T1時点)の通りに設定されているものとする。   In this embodiment, it is assumed that the delay determination list 150 is set in advance as shown in the delay determination list (time T1) in FIG.

次に、本実施形態の動作について、図2〜図5を参照して詳細に説明する。   Next, the operation of the present embodiment will be described in detail with reference to FIGS.

まず、記憶装置200からデータ処理の対象となる大量の入力データを含む入力ファイル210がデータ処理装置100に与えられると、制御スレッド120の業務スレッド制御部121がその入力ファイル210内の全データを読み込む(図2のステップS101)。   First, when an input file 210 including a large amount of input data to be subjected to data processing is given from the storage device 200 to the data processing device 100, the business thread control unit 121 of the control thread 120 deletes all data in the input file 210. Read (step S101 in FIG. 2).

次に、業務スレッド制御部121は、入力ファイル210から読み込んだ、各入力データの処理方法を指定する、情報に従って、読み込んだ入力データを関連する処理法別にまとめて、4つの処理データ群を作成する(図2のステップS102)。   Next, the business thread control unit 121 specifies a processing method of each input data read from the input file 210, and creates four processing data groups by collecting the read input data according to related processing methods according to the information. (Step S102 in FIG. 2).

次に、業務スレッド制御部121は、4つの業務スレッド130a〜dに、4つの上記処理データ群を一対一対応に渡し、それらの処理データ群それぞれに対するデータ処理方法を指定して、それらの処理データ群に対する処理の開始を指示する(図2のステップS103)。   Next, the business thread control unit 121 passes the four processing data groups to the four business threads 130a to 130d in a one-to-one correspondence, designates a data processing method for each of the processing data groups, and executes the processing. The start of processing for the data group is instructed (step S103 in FIG. 2).

ここで、業務スレッド制御部121は、業務スレッド130aに対して、データサイズが500KBの処理データ群を渡し、データ処理の開始を指示したとする。さらに、業務スレッド制御部121は、データ処理方法としてデータベース300−1(DB−1)の更新を伴う処理法Aを指定したとする。   Here, it is assumed that the business thread control unit 121 passes a processing data group having a data size of 500 KB to the business thread 130a and instructs the start of data processing. Furthermore, it is assumed that the business thread control unit 121 specifies processing method A that involves updating the database 300-1 (DB-1) as a data processing method.

同様に、業務スレッド制御部121は、業務スレッド130b〜dにも、それぞれ300KB、600KBおよび500KBの処理データ群を渡してデータ処理の開始を指示するとともに、業務スレッド130bに対して、データ処理方法としてデータベース300−2(DB−2)の更新を伴う処理法Bを、業務スレッド130cに対して、データ処理方法としてデータベース300−3(DB−3)の更新を伴う処理法Bを、および、業務スレッド130dに対して、データ処理方法としてデータベース300−2(DB−2)の更新を伴う処理法Bをそれぞれ指定したとする。   Similarly, the business thread control unit 121 instructs the business thread 130b to start data processing by passing the 300KB, 600KB, and 500KB processing data groups to the business threads 130b to 130d, respectively. Processing method B with update of the database 300-2 (DB-2) as a processing method B with update of the database 300-3 (DB-3) as a data processing method for the business thread 130c, and Assume that the processing method B accompanied by the update of the database 300-2 (DB-2) is designated as the data processing method for the business thread 130d.

次に、データ処理の開始を指示された業務スレッド側の動作について、業務スレッド130aを代表例として、図5を参照して詳細に説明する。また、4つの業務スレッド130a〜dの動作の流れの相互関係を、図6および図7を参照して説明する。   Next, the operation on the business thread side instructed to start the data processing will be described in detail with reference to FIG. 5 using the business thread 130a as a representative example. Further, the interrelationship of the operation flow of the four business threads 130a to 130d will be described with reference to FIGS.

まず、業務スレッド130aは、業務スレッドステータスリスト140にこれから実施するデータ処理の情報を登録する(図5のステップS401)。このときの時刻をT1とする。このとき業務スレッド130b〜dも、図6に示すように、時刻T1に、同時並行的にデータ処理を開始する。   First, the business thread 130a registers information on data processing to be performed in the business thread status list 140 (step S401 in FIG. 5). The time at this time is T1. At this time, the business threads 130b to 130d also start data processing in parallel at time T1, as shown in FIG.

図7に示すように、業務スレッドステータスリスト140は、データ処理を実行する業務スレッドを識別するスレッドID情報を登録するスレッドID欄、データ処理の現在状況を示すステータス情報を登録するステータス欄、データ処理中に更新する対象のデータベースを識別するデータベース識別情報を登録する更新DB欄、データ処理方法を示すデータ処理方法情報を登録するデータ処理方法欄、与えられた処理データ群のデータサイズをKB単位で表した値であるデータサイズ情報を登録するデータサイズ欄およびデータ処理を開始した時刻を示す開始時刻情報を登録する開始時刻欄から構成される。   As shown in FIG. 7, the business thread status list 140 includes a thread ID field for registering thread ID information for identifying a business thread for executing data processing, a status field for registering status information indicating the current status of data processing, and data Update DB column for registering database identification information for identifying a database to be updated during processing, data processing method column for registering data processing method information indicating a data processing method, and data size of a given processing data group in KB units The data size column for registering the data size information, which is the value represented by (2), and the start time column for registering the start time information indicating the time when the data processing is started.

業務スレッドステータスリスト140の2行目以降の行は、複数の業務スレッドと一対一対応し、各行の全て欄の内容(情報)をまとめてスレッドステータスデータと言う。   The second and subsequent lines of the business thread status list 140 have a one-to-one correspondence with a plurality of business threads, and the contents (information) of all the columns in each line are collectively referred to as thread status data.

ここで、スレッドID欄において、「a」、「b」、「c」および「d」はそれぞれ業務スレッド130a、b、cおよびdを識別するスレッドIDであり、更新DB欄の「DB−1」、「DB−2」および「DB−3」はそれぞれデータベース300−1、300−2および300−3を識別するデータベース識別番号である。   Here, in the thread ID column, “a”, “b”, “c”, and “d” are thread IDs for identifying the business threads 130a, b, c, and d, respectively, and “DB-1” in the update DB column. "," DB-2 "and" DB-3 "are database identification numbers for identifying the databases 300-1, 300-2 and 300-3, respectively.

図7の業務スレッドステータスリスト(T1時点)に示すように、データ処理の開始前に、業務スレッド130aは、スレッドID欄に自スレッドを示す「a」、ステータス欄に「処理中」、更新DB欄にデータベース300−1を示す「DB−1」、データ処理方法欄に「処理法A」、データサイズ欄に「500」および開始時刻欄に現在時刻である「T1」を登録する。   As shown in the business thread status list of FIG. 7 (at time T1), before starting data processing, the business thread 130a displays “a” indicating its own thread in the thread ID column, “processing” in the status column, and the update DB. Register "DB-1" indicating the database 300-1 in the column, "Processing method A" in the data processing method column, "500" in the data size column, and "T1" which is the current time in the start time column.

このとき、業務スレッド130b〜dも、同様に業務スレッドステータスリスト(T1時点)の各欄に自スレッドに対応する各情報を登録する。   At this time, the business threads 130b to 130d also register each piece of information corresponding to their own thread in each column of the business thread status list (at time T1).

次に、業務スレッド130aは、指定された「処理法A」のデータ処理を実施する(図5のステップS402)。データ処理の間、業務スレッド130aは、必要に応じてデータベース300−1の更新を随時行う。このとき、データベース300−1のコミットは行わず、出力制御部123のコミット指示があるまで待つ。   Next, the business thread 130a performs data processing of the designated “processing method A” (step S402 in FIG. 5). During the data processing, the business thread 130a updates the database 300-1 as needed. At this time, the commit of the database 300-1 is not performed, and the output control unit 123 waits for a commit instruction.

また、業務スレッド130a〜dでのデータ処理の開始後、遅延判定部122は、一定周期で各業務スレッド130a〜dの遅延判定を行い、遅延している業務スレッドについては業務スレッドステータスリスト140のステータス欄を「遅延中」に書き換える。本実施形態では、遅延判定動作の周期は100ms毎とする。遅延判定の詳細な動作は後述する。   In addition, after the start of data processing in the business threads 130a to 130d, the delay determination unit 122 performs a delay determination of each business thread 130a to 130d at a constant cycle, and the delayed business threads are listed in the business thread status list 140. Rewrite the status column to “Delayed”. In this embodiment, the cycle of the delay determination operation is every 100 ms. Detailed operation of the delay determination will be described later.

次に、データ処理開始時刻T1から400ms経過後の時刻T2時点の動作を説明する。   Next, the operation at time T2 after 400 ms has elapsed from the data processing start time T1 will be described.

時刻T2において、業務スレッド130aが与えられた処理データ群のデータ処理を完了したとする。なお、図6に示すとおり、業務スレッド130b〜dのいずれも、時刻T2ではまだデータ処理を終えておらず、また、この時点で「遅延中」と判定された業務スレッド130はないものとする。   It is assumed that the data processing of the processing data group to which the business thread 130a is given is completed at time T2. As shown in FIG. 6, it is assumed that none of the business threads 130b to 130d has yet completed data processing at time T2, and there is no business thread 130 that is determined to be “delayed” at this time. .

データ処理が完了すると、業務スレッド130aは、その時点の業務スレッドステータスリスト140(すなわち、図7の業務スレッドステータスリスト(T1時点))における自スレッドのステータスを確認する(図5のステップS403)。上述したとおり、時刻T2時点で、業務スレッド130aは「遅延中」とは判定されておらず、また、そのステータスは「処理中」のままである。   When the data processing is completed, the business thread 130a confirms the status of its own thread in the current business thread status list 140 (that is, the business thread status list (time T1 in FIG. 7)) (step S403 in FIG. 5). As described above, at time T2, the business thread 130a is not determined to be “delayed”, and the status remains “processing”.

自スレッドのステータス欄が「遅延中」ではないので、業務スレッド130aは、今回のデータ処理に要した処理時間から遅延基準値を算出して遅延判定リスト150を更新する(図5のステップS404)。ここで、遅延基準値は、上述したとおり、データ処理に要した処理データ群1KBあたりの処理時間に(1+遅延許容率)を乗じて求める。業務スレッド130aは、時刻T1にデータ処理を開始し、それから400ms経過した時刻T2に処理を終了したので、所要時間は400msであり、処理データ群のサイズは500KBである。したがって、業務スレッド130aの今回のデータ処理における遅延基準値は以下のような計算式で求められる。   Since the status column of the own thread is not “delayed”, the business thread 130a calculates the delay reference value from the processing time required for the current data processing and updates the delay determination list 150 (step S404 in FIG. 5). . Here, as described above, the delay reference value is obtained by multiplying the processing time per 1 KB of processing data group required for data processing by (1 + delay tolerance). Since the business thread 130a starts data processing at time T1 and ends processing at time T2 after 400 ms has elapsed, the required time is 400 ms, and the size of the processing data group is 500 KB. Accordingly, the delay reference value in the current data processing of the business thread 130a is obtained by the following calculation formula.

1KBあたりの処理時間=所要時間/処理データ群のサイズ=400/500=0.8(ms/KB)
遅延基準値=1KBあたりの処理時間*(1+遅延許容率)=0.8*1.5=1.2(ms/KB)
業務スレッド130aは、遅延判定リスト150のデータ処理方法欄が「処理法A」で且つ更新DB欄が「DB−1」であるという条件を満たす遅延基準値欄の内容を、算出した値である1.2に書き換える(図7の遅延判定リスト(T2時点)参照)。
Processing time per 1 KB = required time / size of processing data group = 400/500 = 0.8 (ms / KB)
Delay reference value = processing time per 1 KB * (1 + delay tolerance) = 0.8 * 1.5 = 1.2 (ms / KB)
The business thread 130a is a value obtained by calculating the content of the delay reference value column that satisfies the condition that the data processing method column of the delay determination list 150 is “processing method A” and the update DB column is “DB-1”. It is rewritten to 1.2 (refer to the delay judgment list in FIG. 7 (time T2)).

次に、業務スレッド130aは、業務スレッドステータスリスト140の自スレッドのステータス欄を「処理中」から「完了」に変更し(図7の業務スレッドステータスリスト(T2時点)参照)(図5のステップS405)、制御スレッド120の出力制御部123に対して、処理結果データの引渡しと処理完了通知の送信とを行う(図5のステップS406)。   Next, the business thread 130a changes the status column of its own thread in the business thread status list 140 from “processing” to “completed” (see the business thread status list (at time T2 in FIG. 7)) (step in FIG. 5). In step S405, the processing result data is transferred and a processing completion notification is transmitted to the output control unit 123 of the control thread 120 (step S406 in FIG. 5).

この後、業務スレッド130aは、制御スレッド120からコミット指示を受信するまで待機する(図5のステップS407)。   Thereafter, the business thread 130a waits until a commit instruction is received from the control thread 120 (step S407 in FIG. 5).

次の、このようにして処理完了通知および処理結果データを業務スレッド130aから受信した出力制御部123の動作を、図4を参照して説明する。   Next, the operation of the output control unit 123 that has received the processing completion notification and the processing result data from the business thread 130a as described above will be described with reference to FIG.

まず、出力制御部123は、業務スレッド130aから渡された処理結果データを、メモリ160内に設けたバッファ領域(図示せず)に格納する(図4のステップS301)。   First, the output control unit 123 stores the processing result data passed from the business thread 130a in a buffer area (not shown) provided in the memory 160 (step S301 in FIG. 4).

次に、出力制御部123は、現時点(T2時点)で「処理中」の業務スレッドが存在するかどうかを確認する(図4のステップS302)。すなわち、出力制御部122は、業務スレッドステータスリスト140(図7の業務スレッドステータスリスト(T2時点))のステータス欄を上から順に見ていき、「処理中」の業務スレッドが存在するかどうかを確認する。その結果、出力制御部123は、スレッドIDが「b」〜「d」である業務スレッド130b〜dの3つが「処理中」であると認識する。   Next, the output control unit 123 checks whether or not there is a business thread “processing” at the present time (time T2) (step S302 in FIG. 4). That is, the output control unit 122 looks at the status column of the business thread status list 140 (business thread status list (at time T2 in FIG. 7)) in order from the top, and determines whether there is a “processing” business thread. Check. As a result, the output control unit 123 recognizes that the three business threads 130b to 130d whose thread IDs are “b” to “d” are “processing”.

「処理中」の業務スレッド130b〜dが存在するので、次に、出力制御部123は、業務スレッドステータスリスト140(図7の業務スレッドステータスリスト(T2時点))のステータス欄を参照して、「処理中」の業務スレッド130b〜dのそれぞれについて、当該「処理中」の業務スレッドが更新する更新DBと同じ更新DBを更新する他の業務スレッドであって、当該「処理中」の業務スレッドが実施するデータ処理方法と同じデータ処理方法を実施している該他の業務スレッドが「遅延中」ではないかを確認する(図4のステップS310)。時刻T2時点で、「遅延中」の業務スレッドはないので、出力制御部123は、「処理中」の業務スレッド130b〜dでのデータ処理(すなわち、「DB−2」または「DBー3」を更新対象とする「処理法B」のデータ処理)には遅延が発生していないと認識する。   Since the “in-process” business threads 130b to 130d exist, the output control unit 123 next refers to the status column of the business thread status list 140 (the business thread status list (at time T2 in FIG. 7)). Each of the “in-process” business threads 130b to 130d is another business thread that updates the same update DB as the update DB updated by the “in-process” business thread, and is the “in-process” business thread It is confirmed whether the other business thread that is executing the same data processing method as that executed by is not “delayed” (step S310 in FIG. 4). Since there is no “delayed” business thread at time T2, the output control unit 123 performs data processing (that is, “DB-2” or “DB-3”) in the “processing” business threads 130b to 130d. It is recognized that there is no delay in the “processing method B” data processing).

この後、出力制御部123は、一定時間経過後、図4のステップS302の「処理中」の業務スレッドの存在確認に戻る(図4のステップS320)。すなわち、出力制御部123は、時刻T2時点では、業務スレッド130b〜dが遅延せず正常に処理を行っているため、業務スレッド130b〜dの処理が完了するか、または、遅延とみなされるまで、上記バッファ領域に格納した業務スレッド130aからの処理結果データの記憶装置400への出力を待ち合わせる。   Thereafter, the output control unit 123 returns to the confirmation of the existence of the “processing” business thread in step S302 of FIG. 4 after a predetermined time has elapsed (step S320 of FIG. 4). That is, since the business threads 130b to 130d are normally processing without delay at the time T2, the output control unit 123 completes the processing of the business threads 130b to 130d or is regarded as a delay. Then, the output of the processing result data from the business thread 130a stored in the buffer area to the storage device 400 is awaited.

次に、時刻T1から500ms経過後の時刻T3時点の動作を説明する。   Next, the operation at time T3 after 500 ms has elapsed from time T1 will be described.

上述したとおり、遅延判定部122は、業務スレッド130a〜dでのデータ処理開始後、100ms周期で遅延判定の動作を行っているため、時刻T3のタイミングでも遅延判定を行う。   As described above, since the delay determination unit 122 performs the delay determination operation at a cycle of 100 ms after the data processing is started in the business threads 130a to 130d, the delay determination unit 122 also performs the delay determination at the time T3.

図6に示すとおり、業務スレッド130b〜dは、この時点ではまだデータ処理を終えていない。   As shown in FIG. 6, the business threads 130b-d have not yet finished data processing at this point.

図3を参照して、時刻T3における遅延判定部122の遅延判定の動作を説明する。   With reference to FIG. 3, the delay determination operation of the delay determination unit 122 at time T3 will be described.

まず、遅延判定部122は、業務スレッドステータスリスト140(図7の業務スレッドステータスリスト(T2時点))のステータス欄を上から順に見ていき、「処理中」の業務スレッドを探す(図3のステップS201)。このとき業務スレッド130aは「完了」しているので該当せず、初めに該当するのは業務スレッド130bである。なお、「処理中」の業務スレッドがない場合、遅延判定部122は、これで遅延判定動作を終了する。   First, the delay determination unit 122 looks at the status column of the business thread status list 140 (the business thread status list (at time T2 in FIG. 7)) in order from the top, and searches for a business thread of “processing” (FIG. 3). Step S201). At this time, the business thread 130a is “completed” and therefore does not correspond, and the business thread 130b first corresponds. If there is no “processing” business thread, the delay determination unit 122 ends the delay determination operation.

次に、遅延判定部122は、業務スレッドステータスリスト140(図7の業務スレッドステータスリスト(T2時点))と遅延判定リスト150(図7の遅延判定リスト(T2時点))とから、ステータス欄が「処理中」となっている業務スレッドが処理している処理データ群のデータサイズと、処理の開始時刻およびデータ処理方法に対応する遅延基準値を取得する(図3のステップS202)。   Next, the delay determination unit 122 displays the status column from the business thread status list 140 (business thread status list (time T2 in FIG. 7)) and the delay determination list 150 (delay determination list (time T2 in FIG. 7)). A delay reference value corresponding to the data size of the processing data group being processed by the business thread being “processing”, the processing start time, and the data processing method is acquired (step S202 in FIG. 3).

ここで業務スレッド103bの上記各種情報として、業務スレッドステータスリスト(T2時点)のデータサイズ欄から、データサイズが「300KB」であり、同リストの開始時刻欄から、開始時刻が「T1」であることが分かる。また、業務スレッドステータスリスト(T2時点)のデータ処理方法欄および更新DB欄から、業務スレッド130bに対応するデータ処理方法および更新DBはそれぞれ「処理法B」および「DB−2」であることが分かるので、遅延判定リスト(T2時点)のデータ処理方法欄の内容が「処理法B」で且つ同リストの更新DB欄の内容が「DB−2」であるという条件を満たす、同リストの遅延基準値欄の、行の内容から、遅延基準値は、「1.5」であることが分かる。   Here, as the various information of the business thread 103b, the data size is “300KB” from the data size column of the business thread status list (at time T2), and the start time is “T1” from the start time column of the list. I understand that. Further, from the data processing method column and the update DB column in the business thread status list (at time T2), the data processing method and the update DB corresponding to the business thread 130b are “processing method B” and “DB-2”, respectively. As can be seen, the delay of the list that satisfies the condition that the content of the data processing method column of the delay determination list (at time T2) is “processing method B” and the content of the update DB column of the list is “DB-2” It can be seen from the contents of the row in the reference value column that the delay reference value is “1.5”.

次に、遅延判定部122は、時刻T3において、遅延判定を行っている当該業務スレッドが遅延しているかどうかを判断する(図3のステップS203)。その方法は以下の通りである。   Next, the delay determination unit 122 determines whether or not the business thread performing the delay determination is delayed at time T3 (step S203 in FIG. 3). The method is as follows.

まず、遅延判定部122は、業務スレッド130bでのデータ処理が今終了したと仮定して、仮の処理データ群1KBあたりの処理時間を計算する。計算式は以下のとおりである。   First, the delay determination unit 122 calculates the processing time per tentative processing data group 1 KB on the assumption that the data processing in the business thread 130b has now ended. The calculation formula is as follows.

仮の1KBあたりの処理時間=(現在時刻−開始時刻)/データサイズ=500/300≒1.7
次に、遅延判定部122は、計算した処理時間と図3のステップS202で取得した遅延基準値とを比較し、計算した処理時間が遅延基準値以上であった場合は、その業務スレッド130を「遅延中」と判定する。すなわち、時刻T3時点で処理が終了していない業務スレッド130bの仮の1KBあたりの処理時間は少なくとも1.7より長くなり、遅延基準値である1.5以上なので、業務スレッド130bは「遅延中」と判定される。
Temporary processing time per 1 KB = (current time−start time) / data size = 500 / 300≈1.7
Next, the delay determination unit 122 compares the calculated processing time with the delay reference value acquired in step S202 of FIG. 3, and if the calculated processing time is equal to or greater than the delay reference value, the delay determination unit 122 sets the business thread 130 to be used. It is determined that “delayed”. That is, the processing time per provisional 1 KB of the business thread 130b that has not finished processing at time T3 is longer than 1.7 and is the delay reference value of 1.5 or more. Is determined.

判定結果が「遅延中」の場合、遅延判定部122は、業務スレッドステータスリスト140の遅延している業務スレッドに対応するステータス欄を「遅延中」に変更する(図3のステップS204)。ここでは、業務スレッド130bは遅延中と判定されたため、図7の業務スレッドステータスリスト(T3時点)に示すように、業務スレッド130bに対応するステータス欄は「遅延中」に更新される。   When the determination result is “delayed”, the delay determination unit 122 changes the status column corresponding to the delayed business thread in the business thread status list 140 to “delayed” (step S204 in FIG. 3). Here, since it is determined that the business thread 130b is being delayed, the status column corresponding to the business thread 130b is updated to “delayed” as shown in the business thread status list (at time T3) in FIG.

なお、図3のステップS203で、遅延していないと判定された場合は、何もせず次の「処理中」の業務スレッドの処理に移る。   If it is determined in step S203 in FIG. 3 that there is no delay, the process proceeds to the next “in process” business thread without doing anything.

遅延判定部122は、これらの動作を全ての「処理中」の業務スレッドについて行う。すなわち、本実施形態では、残りの業務スレッド130cおよび業務スレッド130dについても実施する。   The delay determination unit 122 performs these operations on all “processing” business threads. That is, in the present embodiment, the remaining business thread 130c and business thread 130d are also executed.

図3のステップS203において、仮の1KBあたりの処理時間は、業務スレッド130cについては約0.8、業務スレッド130dについては1と算出されるので、遅延判定部122は、時刻T3時点ではどちらのスレッドも遅延していないと判定する。結果として、業務スレッドステータスリスト140の内容は、図7の業務スレッドステータスリスト(T3時点)の通りとなる。   In step S203 in FIG. 3, the provisional processing time per 1 KB is calculated to be about 0.8 for the business thread 130c and 1 for the business thread 130d. Therefore, the delay determination unit 122 determines which of the processing times at time T3. It is determined that the thread is not delayed. As a result, the contents of the business thread status list 140 are as shown in the business thread status list (at time T3) in FIG.

以上のような遅延判定動作を、遅延判定部122が周期的(100ms毎)に行う。   The delay determination unit 122 performs the delay determination operation as described above periodically (every 100 ms).

次に、時刻T1から700ms経過後の時刻T4時点の動作を説明する。   Next, the operation at time T4 after 700 ms has elapsed from time T1 will be described.

時刻T4において、業務スレッド130cが与えられた処理データ群のデータ処理を完了したとする。なお、図6に示すとおり、時刻T4では、業務スレッド130aは既に処理を完了しており、遅延と判定された業務スレッド130bと、業務スレッド130dとは、この時点ではまだデータ処理を終えていない。   It is assumed that the data processing of the processing data group to which the business thread 130c is given is completed at time T4. As shown in FIG. 6, at time T4, the business thread 130a has already completed processing, and the business thread 130b and the business thread 130d that have been determined to be delayed have not yet completed data processing. .

まず、業務スレッド130cは、データ処理を完了すると、図5のステップS407までの処理を上述したとおりに実施する。すなわち、業務スレッド130cは、遅延判定リスト150のデータ処理方法欄の内容が「処理法B」で且つ同リストの更新DB欄の内容が「DB−3」であるという条件を満たす、同リストの遅延基準値欄の、行の内容を「1.8」に書き換え(図7の遅延判定リスト(T4時点)参照)、業務スレッドステータスリスト140の自スレッドのステータス欄を「完了」に変更し(図7の業務スレッドステータスリスト(T4時点)参照)、出力制御部123に処理結果データの引渡しと処理完了通知の送信とを行う。   First, when completing the data processing, the business thread 130c performs the processing up to step S407 in FIG. 5 as described above. That is, the business thread 130c satisfies the condition that the content of the data processing method column of the delay determination list 150 is “processing method B” and the content of the update DB column of the list is “DB-3”. The content of the row in the delay reference value column is rewritten to “1.8” (see the delay determination list (at time T4) in FIG. 7), and the status column of the own thread in the business thread status list 140 is changed to “completed” ( The processing thread status list (refer to the time T4 in FIG. 7) and the processing result data are delivered to the output control unit 123 and a processing completion notification is transmitted.

以下、処理完了通知を受信した出力制御部123の動作については、時刻T2時点の動作と異なる点のみ説明する
まず、出力制御部123は、業務スレッド130cからの処理完了通知と処理結果データとを受け取ると、当該処理結果データを先の業務スレッド130aの処理結果データと合わせてメモリ160内のバッファ領域に格納する(図4のステップS301)。
Hereinafter, the operation of the output control unit 123 that has received the process completion notification will be described only with respect to the operation at the time T2. First, the output control unit 123 receives the process completion notification and the processing result data from the business thread 130c. When received, the processing result data is stored in the buffer area in the memory 160 together with the processing result data of the previous business thread 130a (step S301 in FIG. 4).

次に、出力制御部123は、現時点(T4時点)で「処理中」の業務スレッドが存在するかどうかを確認し、今回は、業務スレッド130dのみが「処理中」であると認識する(図4のステップS302)。   Next, the output control unit 123 checks whether or not there is a “processing” business thread at the current time (time T4), and recognizes that only the business thread 130d is “processing” at this time (FIG. 5). 4 step S302).

「処理中」の業務スレッド130dが存在するので、出力制御部123は、「遅延中」の業務スレッドを探し、今回は、業務スレッド130bが遅延していることを認識する。ここでさらに、出力制御部123は、業務スレッドステータスリスト140(図7の業務スレッドステータスリスト(T4時点))を参照し、「処理中」の業務スレッド130dでの更新対象である更新DBおよびデータ処理方法と、「遅延中」の業務スレッド130bでの更新対象である更新DBおよびデータ処理方法とを比較する。どちらも更新DBは「DB−2」であり、データ処理方法は「処理法B」であり一致するので、出力制御部123は、「処理中」の業務スレッド130dで実施されているデータ処理と『同じデータベースを更新対象とする同じデータ処理方法』すなわち『「DB−2」を更新対象とする「処理法B」』に遅延が発生していると認識する。そこで、出力制御部123は、業務スレッド130dの処理も遅延するとみなす。業務スレッド130d以外の「処理中」の業務スレッドはないので結局、現時点では、データ処理に遅延がなく正常な処理を継続している「処理中」の業務スレッドが1つも存在しないと判断する。   Since there is a “processing” business thread 130d, the output control unit 123 searches for a “delaying” business thread, and this time recognizes that the business thread 130b is delayed. Further, the output control unit 123 refers to the business thread status list 140 (the business thread status list in FIG. 7 (at time T4)), and updates the update DB and the data to be updated in the “processing” business thread 130d. The processing method is compared with the update DB and data processing method to be updated in the “delayed” business thread 130b. In both cases, the update DB is “DB-2”, and the data processing method is “processing method B”, which coincides with each other. Therefore, the output control unit 123 performs the data processing performed in the “processing” business thread 130d. It is recognized that there is a delay in “the same data processing method for updating the same database”, ie, “processing method B” for updating “DB-2”. Therefore, the output control unit 123 considers that the processing of the business thread 130d is also delayed. Since there is no “in-process” business thread other than the business thread 130d, it is determined that there is no “in-process” business thread that has no delay in data processing and continues normal processing.

すなわち、出力制御部123は、すべての「処理中」スレッドのそれぞれについて、当該「処理中」の業務スレッドが更新する更新ベータベースと同じ更新データベースを更新する他の業務スレッドであって、当該「処理中」の業務スレッドが実施するデータ処理方法と同じデータ処理方法を実施する該他の業務スレッドが「遅延中」であるか否かを判断する(図4のステップS310)。   In other words, the output control unit 123 is another business thread that updates the same update database as the update beta base that is updated by the “in-process” business thread for each “in-process” thread. It is determined whether the other business thread that executes the same data processing method as the data processing method executed by the “processing in progress” business thread is “delayed” (step S310 in FIG. 4).

そこで、出力制御部123は、この時点でデータ処理を「完了」している業務スレッド130aおよび130cでの処理結果データのみを出力する(図4のステップS303)。すなわち、メモリ160のバッファ領域に格納していた業務スレッド130aおよび130cでの処理結果データを1つの出力ファイル410−1にまとめて、記憶装置400に出力する。   Therefore, the output control unit 123 outputs only the processing result data in the business threads 130a and 130c that have “completed” the data processing at this time (step S303 in FIG. 4). That is, the processing result data in the business threads 130 a and 130 c stored in the buffer area of the memory 160 are collected into one output file 410-1 and output to the storage device 400.

その後、出力制御部123は、業務スレッド130aおよび130cにコミット指示を送信する(図4のステップS304)。   Thereafter, the output control unit 123 transmits a commit instruction to the business threads 130a and 130c (step S304 in FIG. 4).

業務スレッド130aおよび130cは、コミット指示を受信すると(図5のステップS408)、それぞれが更新したデータベース300−1および300−3のコミット処理を行い、データベースの更新を確定する(図5のステップS409)。   Upon receiving the commit instruction (step S408 in FIG. 5), the business threads 130a and 130c perform commit processing on the updated databases 300-1 and 300-3, respectively, and confirm the database update (step S409 in FIG. 5). ).

最後に、業務スレッド130aおよび130cは、業務スレッドステータスリスト140(図7の業務スレッドステータスリスト(T4時点))から、自スレッドに対応する、スレッドID欄以外の欄の、内容を消去し、業務スレッド制御部121に指示された処理データ群に関する処理を終了する。   Finally, the business threads 130a and 130c delete the contents of the business thread status list 140 (the business thread status list in FIG. 7 (at time T4)) in the fields other than the thread ID column corresponding to the own thread. The process related to the processing data group instructed by the thread control unit 121 is terminated.

このようにして、出力制御部123は、遅延した業務スレッド130bと遅延するとみなされた業務スレッド130dとの処理完了を待たずに、先に処理が完了した業務スレッド130aおよび130cの処理結果データのファイル出力とデータベース更新のコミットとを一括して行い、業務スレッド130aおよび130cを解放する。   In this way, the output control unit 123 does not wait for the completion of processing between the delayed business thread 130b and the business thread 130d deemed to be delayed, and the processing result data of the business threads 130a and 130c that have completed processing earlier. File output and database update commit are performed collectively, and the business threads 130a and 130c are released.

以下に、遅延した業務スレッド130bと遅延するとみなされた業務スレッド130dとについて、それらでのデータ処理の完了までを説明する。   Hereinafter, a description will be given of the delayed business thread 130b and the business thread 130d deemed to be delayed up to the completion of data processing.

業務スレッド130bは、時刻T1から900ms経過後の時刻T5に、遅延していたデータ処理を完了したとする。このとき、図6に示すとおり、業務スレッド130dはまだデータ処理を終えていない。さらに、業務スレッド130dは、時刻T1から750ms経過以降(本実施形態では判定周期が100ms毎のため800ms時点)に遅延判定部122によって遅延が発生したと判定され、業務スレッドステータスリスト140の業務スレッド130dに対応するステータス欄の内容はすでに「遅延中」と書き換えられている。   It is assumed that the business thread 130b completes the delayed data processing at time T5 after 900 ms has elapsed from time T1. At this time, as shown in FIG. 6, the business thread 130d has not yet finished data processing. Furthermore, the business thread 130d is determined that a delay has occurred by the delay determination unit 122 after 750 ms from the time T1 (in this embodiment, the determination cycle is every 100 ms and at 800 ms), and the business thread in the business thread status list 140 is determined. The contents of the status column corresponding to 130d have already been rewritten as “Delayed”.

業務スレッド130bは、データ処理を完了すると、業務スレッドステータスリスト140の自スレッドのステータス欄の内容を確認し、その内容が「遅延中」となっているか否かを判定する(図5のステップS403)。このときのステータス欄の内容は「遅延中」となっているため、業務スレッド130bは、遅延判定リスト150の更新を行わず、図5のステップS405以降の処理を行う。   When the business thread 130b completes the data processing, the business thread 130b checks the content of the status column of its own thread in the business thread status list 140, and determines whether or not the content is “delayed” (step S403 in FIG. 5). ). Since the content of the status column at this time is “delayed”, the business thread 130b does not update the delay determination list 150 and performs the processing from step S405 of FIG.

すなわち、業務スレッドbは、業務スレッドステータスリスト140の自スレッドに対応するステータス欄の内容を「完了」に更新し(図7の業務スレッドステータスリスト(T5時点)参照)(図5のステップS405)、制御スレッド120の出力制御部123に対して、処理結果データの引き渡しと処理完了通知の送信とを行う(図5のステップS406)。この後、業務スレッド130aは、制御スレッド120からコミット指示を受信するまで待機する(図5のステップS407)。   That is, the business thread b updates the content of the status column corresponding to its own thread in the business thread status list 140 to “completed” (see the business thread status list (at time T5 in FIG. 7)) (step S405 in FIG. 5). Then, the processing result data is transferred and a processing completion notification is transmitted to the output control unit 123 of the control thread 120 (step S406 in FIG. 5). Thereafter, the business thread 130a waits until a commit instruction is received from the control thread 120 (step S407 in FIG. 5).

業務スレッド130bからの処理完了通知および処理結果データを受信した出力制御部123は、業務スレッドステータスリスト140(図7の業務スレッドステータスリスト(T5時点))のステータス欄の内容を参照し、その内容が「処理中」となっている業務スレッドが存在するか否かを判定し(図4のステップS302)、「処理中」の業務スレッドが存在しないため、データ処理を「完了」している業務スレッド130bでの処理結果データだけを新たな出力ファイル410−2として記憶装置400に出力するとともに(図4のステップS303)、業務スレッド130bにコミット指示を送信する(図4のステップS304)。   The output control unit 123 that has received the processing completion notification and the processing result data from the business thread 130b refers to the content of the status column of the business thread status list 140 (the business thread status list (at time T5 in FIG. 7)), and the content. It is determined whether or not there is a business thread whose status is “processing” (step S302 in FIG. 4). Since there is no business thread whose status is “processing”, the business processing whose data processing is “completed” is determined. Only the processing result data in the thread 130b is output to the storage device 400 as a new output file 410-2 (step S303 in FIG. 4), and a commit instruction is transmitted to the business thread 130b (step S304 in FIG. 4).

次に、最後に残った業務スレッド130dは、時刻T1から1500ms経過後の時刻T6に、遅延していたデータ処理を完了したとする。データ処理完了後の業務スレッド130dの動作は、上述した業務スレッド130bと全く同じである。また、業務スレッド130dからの処理完了通知を受信した出力制御部123の動作も上述した業務スレッド130bに対する動作と全く同じである。   Next, it is assumed that the last remaining business thread 130d completes the delayed data processing at time T6 after 1500 ms has elapsed from time T1. The operation of the business thread 130d after the completion of data processing is exactly the same as that of the business thread 130b described above. In addition, the operation of the output control unit 123 that has received the processing completion notification from the business thread 130d is exactly the same as the operation for the business thread 130b described above.

以上の動作により、時刻T4(時刻T1から700ms経過)時点で、業務スレッド130aおよび130cでの処理結果データを含む出力ファイル410−1が記憶装置400に出力され、時刻T5(時刻T1から900ms経過)時点で、業務スレッド130bでの処理結果データを含む出力ファイル410−2が記憶装置400に出力され、時刻T6(時刻T1から1500ms経過)時点で、業務スレッド130dの処理結果データを含む出力ファイル410−3が記憶装置400に出力される。また、時刻T4時点で、データベース300−1および300−3がデータベース300−2に先んじてコミットされる。   With the above operation, at time T4 (700 ms from time T1), the output file 410-1 including the processing result data in the business threads 130a and 130c is output to the storage device 400, and time T5 (900 ms has elapsed from time T1). ), The output file 410-2 including the processing result data in the business thread 130b is output to the storage device 400, and the output file including the processing result data of the business thread 130d at time T6 (1500 ms elapses from time T1). 410-3 is output to the storage device 400. At time T4, the databases 300-1 and 300-3 are committed prior to the database 300-2.

このように、本実施形態によれば、データベース300−2を更新対象とする「処理法B」を実施する業務スレッド130bおよび業務スレッド130dでのデータ処理に遅延が発生した場合でも、その遅延の影響を受けない業務スレッド130aおよび130cでの処理結果データを含む出力ファイルを先に記憶装置400に出力し、遅延している業務スレッド130bおよび業務スレッド130dに無関係なデータベース300−1および300−3を先にコミットさせることができる。   As described above, according to the present embodiment, even when a delay occurs in the data processing in the business thread 130b and the business thread 130d for executing the “processing method B” for updating the database 300-2, the delay Databases 300-1 and 300-3 unrelated to the delayed business thread 130b and business thread 130d are first output to the storage device 400 and output files containing the processing result data of the business threads 130a and 130c that are not affected. Can be committed first.

また、遅延していない業務スレッド130aおよび130cでの処理結果データを一括して記憶装置400に書き込むことで書込み処理を1回で済ませることができ、総合的に見て、記憶装置400へのデータ書き込みのスループットの低下を可能な限り抑制している。   In addition, the processing result data in the business threads 130a and 130c that are not delayed can be written into the storage device 400 in a lump, so that the writing process can be completed once. A reduction in writing throughput is suppressed as much as possible.

以上説明したように、本実施形態には、複数のデータ処理をコンピュータで同時並行的に実行し、係るデータ処理の実行中に複数のデータベースを更新するデータ処理システムにおいて、一部のデータベースを利用するデータ処理に遅延が予想外に発生した場合にも、遅延の影響を受けていない他の複数のデータ処理での処理結果データの記憶装置への一括書き込みを可能にし、その結果、遅延の影響を受けていない当該他の複数のデータ処理での処理結果データを遅滞なく利用することができるという効果がある。   As described above, in this embodiment, a part of databases is used in a data processing system in which a plurality of data processes are simultaneously executed by a computer and a plurality of databases are updated during the execution of the data processes. Even if a delay occurs in the data processing to be performed unexpectedly, it is possible to batch write the processing result data in the other multiple data processing that is not affected by the delay to the storage device. As a result, the influence of the delay Thus, there is an effect that it is possible to use the processing result data in the other plurality of data processing that has not been received without delay.

その理由は、データ処理の遅延が発生したスレッドを検出し、遅延が発生したスレッドが利用するデータベースと同じデータベースに対して同じデータ処理方法でデータ処理を行う他のスレッドも遅延が発生するとみなして、それらの遅延スレッドの処理完了を待ち合わせずに、遅延の影響を受けなかったスレッドでの処理結果データだけを先に一括して記憶装置に書き込むためである。   The reason is that it detects a thread with a data processing delay, and assumes that other threads that perform data processing using the same data processing method for the same database as the database used by the thread in which the delay has occurred will also cause a delay. This is because, without waiting for the completion of the processing of these delay threads, only the processing result data in the threads that are not affected by the delay are written into the storage device in a batch.

なお、業務スレッドステータスリスト140の開始時刻欄は、遅延を判定するための時刻情報であれば良く、例えば、それ以上処理完了が遅れたら遅延とみなす遅延確定時刻などでも良い。   Note that the start time column of the business thread status list 140 may be time information for determining a delay, and may be, for example, a delay confirmation time that is regarded as a delay when the completion of processing is further delayed.

100、500 データ処理装置
110、510 データ処理実行プロセス
120、520 制御スレッド
121 業務スレッド制御部
122 遅延判定部
123 出力制御部
130a〜d、530a〜d 業務スレッド
140 業務スレッドステータスリスト
150 遅延判定リスト
160 メモリ
200、400、700、800 記憶装置
210、600 入力ファイル
300−1〜3、610−1〜3 データベース
410−1〜3、620 出力ファイル
100, 500 Data processing device 110, 510 Data processing execution process 120, 520 Control thread 121 Business thread control unit 122 Delay determination unit 123 Output control unit 130a-d, 530a-d Business thread 140 Business thread status list 150 Delay determination list 160 Memory 200, 400, 700, 800 Storage device 210, 600 Input file 300-1 to 3 and 610-1 to 3 Database 410-1 to 3 and 620 Output file

Claims (9)

複数のデータ処理を自装置上に生成された複数の業務スレッドで同時並行的に実行するデータ処理装置において、
スレッドステータスリストと、遅延判定リストと、制御部と、遅延判定部と、出力制御部とを有し、
前記ステータスリストは、前記複数の業務スレッドに一対一対応する複数のスレッドステータスデータを有し、
各前記スレッドステータスデータは、対応する前記業務スレッドを識別するID情報と、対応する前記業務スレッドが行うデータ処理の現在の処理状況を示すステータス情報と、対応する前記業務スレッドが行うデータ処理で更新する対象のデータベースを識別するデータベース識別情報と、対応する前記業務スレッドでのデータ処理方法を識別するデータ処理方法情報と、対応する前記業務スレッドが行うデータ処理の対象となる処理対象データ群のデータサイズ情報と、対応する前記業務スレッドが行うデータ処理の開始時刻を示す開始時刻情報とを有し、
前記遅延判定リストは、各前記データ処理方法情報と、各前記データ処理方法情報で識別される前記データ処理方法で更新される前記データベースを識別する前記データベース識別情報と、前記データ処理方法情報と前記データベース識別情報との各組合せに対応する各データ処理の前回の処理における処理対象データ群の所定単位サイズあたりの処理時間から求めた遅延基準値情報とを有し、
前記制御部は、外部から与えられた複数の前記処理対象データ群を読み込んで複数の前記業務スレッドに分配し、各前記業務スレッドにデータ処理の開始を指示し、
各前記業務スレッドは、自スレッドのデータ処理の開始前に、自スレッドに対応する前記スレッドステータスデータに、これから行うデータ処理に対応する、前記ステータス情報と前記データベース識別情報と前記データ処理方法情報と前記データサイズ情報と前記開始時刻情報とを登録し、自スレッドの前記データ処理の完了時に、自スレッドに対応する前記スレッドステータスデータの前記ステータス情報を、データ処理が完了したことを示す情報に更新し、
前記遅延判定部は、所定の周期で前記ステータスリストに登録された各前記スレッドステータスデータを参照し、まだ処理が完了していない業務スレッドに対し、当該業務スレッドに対応する前記スレッドステータスデータの前記データベース識別情報および前記データ処理方法情報に対応する前記遅延判定リストに登録された前記遅延基準値情報と、当該業務スレッドに対応する前記スレッドステータスデータの前記データサイズ情報および前記時刻情報とから、当該業務スレッドのデータ処理の遅延有無を判定し、遅延を検出したときには、当該業務スレッドに対応する前記スレッドステータスデータの前記ステータス情報を、遅延中を示す情報に更新し、
前記出力制御部は、前記複数の業務スレッドのいずれかがデータ処理を完了した後に、各前記スレッドステータスデータに登録された前記ステータス情報と前記データベース識別情報と前記データ処理方法情報とを参照して、遅延が発生しておらず且つまだ処理中の業務スレッドがない場合に、その時点で処理を完了しているすべての業務スレッドでの処理結果データを一括して外部に出力する
ことを特徴とするデータ処理装置。
In a data processing apparatus that executes a plurality of data processes concurrently in a plurality of business threads generated on the own apparatus,
A thread status list, a delay determination list, a control unit, a delay determination unit, and an output control unit;
The status list has a plurality of thread status data corresponding one-to-one to the plurality of business threads,
Each of the thread status data is updated by ID information for identifying the corresponding business thread, status information indicating a current processing status of data processing performed by the corresponding business thread, and data processing performed by the corresponding business thread. Database identification information for identifying a database to be processed, data processing method information for identifying a data processing method in the corresponding business thread, and data of a processing target data group that is a target of data processing performed by the corresponding business thread Size information and start time information indicating the start time of data processing performed by the corresponding business thread,
The delay determination list includes each of the data processing method information, the database identification information for identifying the database updated by the data processing method identified by each of the data processing method information, the data processing method information, and the Delay reference value information obtained from the processing time per predetermined unit size of the processing target data group in the previous processing of each data processing corresponding to each combination with the database identification information,
The control unit reads a plurality of processing target data groups given from the outside and distributes them to the plurality of business threads, and instructs each business thread to start data processing,
Each of the business threads includes the status information, the database identification information, and the data processing method information corresponding to the data processing to be performed from now on, before starting the data processing of the own thread. The data size information and the start time information are registered, and when the data processing of the own thread is completed, the status information of the thread status data corresponding to the own thread is updated to information indicating that the data processing is completed And
The delay determination unit refers to each thread status data registered in the status list at a predetermined period, and for the business thread that has not yet been processed, the thread status data corresponding to the business thread From the delay reference value information registered in the delay determination list corresponding to the database identification information and the data processing method information, the data size information and the time information of the thread status data corresponding to the business thread, The presence / absence of a delay in data processing of the business thread is determined, and when the delay is detected, the status information of the thread status data corresponding to the business thread is updated to information indicating that the process is being delayed,
The output control unit refers to the status information, the database identification information, and the data processing method information registered in each thread status data after any of the plurality of business threads completes data processing. When no delay occurs and there is no business thread that is still being processed, the processing result data of all the business threads that have completed processing at that time is output to the outside at once. Data processing device.
前記出力制御部は、遅延が発生した業務スレッドが更新するデータベースと同じデータベースに対して、同じデータ処理方法でデータ処理を行う他の業務スレッドをも遅延が発生したとみなす
ことを特徴とする請求項1記載のデータ処理装置。
The output control unit regards that another business thread that performs data processing by the same data processing method as a database that is updated by the business thread in which the delay has occurred is also regarded as having a delay. Item 2. A data processing apparatus according to Item 1.
前記出力制御部は、前記処理結果データの出力において、その時点で処理を完了しているすべての業務スレッドに対し、当該各業務スレッドが更新した前記データベースのコミットを指示して更新結果を確定させる
ことを特徴とする請求項1または請求項2記載のデータ処理装置。
In the output of the processing result data, the output control unit instructs all the business threads that have completed processing at that time to commit the database updated by each business thread and confirms the update result 3. The data processing apparatus according to claim 1, wherein the data processing apparatus is a data processing apparatus.
複数のデータ処理を自装置上に生成された複数の業務スレッドで同時並行的に実行するとともに、
対応する前記業務スレッドを識別するID情報と、対応する前記業務スレッドが行うデータ処理の現在の処理状況を示すステータス情報と、対応する前記業務スレッドが行うデータ処理で更新する対象のデータベースを識別するデータベース識別情報と、対応する前記業務スレッドでのデータ処理方法を識別するデータ処理方法情報と、対応する前記業務スレッドが行うデータ処理の対象となる処理対象データ群のデータサイズ情報と、対応する前記業務スレッドが行うデータ処理の開始時刻を示す開始時刻情報とをそれぞれが有する、前記複数の業務スレッドに一対一対応する、複数のスレッドステータスデータからなるスレッドステータスリストと、
各前記データ処理方法情報と、各前記データ処理方法情報で識別される前記データ処理方法で更新される前記データベースを識別する前記データベース識別情報と、前記データ処理方法情報と前記データベース識別情報との各組合せに対応する各データ処理の前回の処理における処理対象データ群の所定単位サイズあたりの処理時間から求めた遅延基準値情報とを有する遅延判定リストと
を備えたデータ処理装置で使用するデータ処理方法において、
外部から与えられた複数の処理対象データ群を読み込んで前記複数の業務スレッドに分配し、各前記業務スレッドにデータ処理の開始を指示するデータ処理開始ステップと、
データ処理の開始を指示された各前記業務スレッドにおいて、自スレッドのデータ処理の開始前に、自スレッドに対応する前記スレッドステータスデータに、これから行うデータ処理に対応する、前記ステータス情報と前記データベース識別情報と前記データ処理方法情報と前記データサイズ情報と前記開始時刻情報を登録し、自スレッドの前記データ処理の完了時に、自スレッドに対応する前記スレッドステータスデータの前記ステータス情報を、データ処理が完了したことを示す情報に更新するデータ処理ステップと、
所定の周期で前記ステータスリストに登録された各前記スレッドステータスデータを参照し、まだ処理が完了していない業務スレッドに対し、当該業務スレッドに対応する前記スレッドステータスデータの前記データベース識別情報および前記データ処理方法情報に対応する前記遅延判定リストに登録された前記遅延基準値情報と、当該業務スレッドに対応する前記スレッドステータスデータの前記データサイズ情報および前記時刻情報とから、当該業務スレッドのデータ処理の遅延有無を判定し、遅延を検出したときには、当該業務スレッドに対応する前記スレッドステータスデータの前記ステータス情報を、遅延中を示す情報に更新する遅延判定ステップと、
前記複数の業務スレッドのいずれかがデータ処理を完了した後に、各前記スレッドステータスデータに登録された前記ステータス情報と前記データベース識別情報と前記データ処理方法情報とを参照して、遅延が発生しておらず且つまだ処理中の業務スレッドがない場合に、その時点で処理を完了しているすべての業務スレッドでの処理結果データを一括して外部に出力する出力制御ステップと
を含むことを特徴とするデータ処理方法。
While executing multiple data processing concurrently in multiple business threads generated on its own device,
ID information for identifying the corresponding business thread, status information indicating the current processing status of data processing performed by the corresponding business thread, and a database to be updated by data processing performed by the corresponding business thread Database identification information, data processing method information for identifying a data processing method in the corresponding business thread, data size information of a processing target data group to be subjected to data processing performed by the corresponding business thread, and the corresponding A thread status list including a plurality of thread status data each corresponding to the plurality of business threads, each having start time information indicating a start time of data processing performed by the business threads;
Each of the data processing method information, the database identification information for identifying the database updated by the data processing method identified by each of the data processing method information, each of the data processing method information and the database identification information A data processing method for use in a data processing apparatus comprising: a delay determination list having delay reference value information obtained from a processing time per predetermined unit size of a processing target data group in the previous processing of each data processing corresponding to a combination In
A data processing start step for reading a plurality of processing target data groups given from the outside and distributing them to the plurality of business threads, and instructing the business threads to start data processing;
In each business thread instructed to start data processing, the status information and the database identification corresponding to the data processing to be performed are added to the thread status data corresponding to the own thread before starting the data processing of the own thread. Information, the data processing method information, the data size information, and the start time information are registered, and when the data processing of the own thread is completed, the status information of the thread status data corresponding to the own thread is completed. A data processing step for updating to information indicating that,
The database identification information and the data of the thread status data corresponding to the business thread for a business thread that has not yet been processed with reference to each thread status data registered in the status list at a predetermined cycle From the delay reference value information registered in the delay determination list corresponding to the processing method information, the data size information and the time information of the thread status data corresponding to the business thread, data processing of the business thread A delay determination step of determining whether there is a delay and detecting the delay, updating the status information of the thread status data corresponding to the business thread to information indicating that the delay is in progress;
After one of the plurality of business threads completes data processing, a delay occurs with reference to the status information, the database identification information, and the data processing method information registered in each thread status data. And an output control step for collectively outputting processing result data of all the business threads that have completed processing at that time when there is no business thread that is not yet processed. Data processing method.
前記出力制御ステップにおいて、遅延が発生した業務スレッドが更新するデータベースと同じデータベースに対して、同じデータ処理方法でデータ処理を行う他の業務スレッドをも遅延が発生したとみなす
ことを特徴とする請求項4記載のデータ処理方法。
In the output control step, another business thread that performs data processing by the same data processing method with respect to the same database as the database that is updated by the business thread in which the delay has occurred is regarded as having a delay. Item 5. A data processing method according to Item 4.
前記出力制御ステップにおける前記処理結果データの出力において、その時点で処理を完了しているすべての業務スレッドに対し、当該各業務スレッドが更新した前記データベースのコミットを指示して更新結果を確定させる
ことを特徴とする請求項4または請求項5記載のデータ処理方法。
In outputting the processing result data in the output control step, instructing all business threads that have completed processing at that time to commit the database updated by each business thread and confirming the update result The data processing method according to claim 4 or 5, wherein:
複数のデータ処理を自コンピュータ上に生成された複数の業務スレッドで同時並行的に実行するとともに、
対応する前記業務スレッドを識別するID情報と、対応する前記業務スレッドが行うデータ処理の現在の処理状況を示すステータス情報と、対応する前記業務スレッドが行うデータ処理で更新する対象のデータベースを識別するデータベース識別情報と、対応する前記業務スレッドでのデータ処理方法を識別するデータ処理方法情報と、対応する前記業務スレッドが行うデータ処理の対象となる処理対象データ群のデータサイズ情報と、対応する前記業務スレッドが行うデータ処理の開始時刻を示す開始時刻情報とをそれぞれが有する、前記複数の業務スレッドに一対一対応する、複数のスレッドステータスデータからなるスレッドステータスリストと、
各前記データ処理方法情報と、各前記データ処理方法情報で識別される前記データ処理方法で更新される前記データベースを識別する前記データベース識別情報と、前記データ処理方法情報と前記データベース識別情報との各組合せに対応する各データ処理の前回の処理における処理対象データ群の所定単位サイズあたりの処理時間から求めた遅延基準値情報とを有する遅延判定リストと
を備えたコンピュータで実行されるデータ処理プログラムにおいて、
外部から与えられた複数の処理対象データ群を読み込んで前記複数の業務スレッドに分配し、各前記業務スレッドにデータ処理の開始を指示するデータ処理開始処理と、
データ処理の開始を指示された各前記業務スレッドにおいて、自スレッドのデータ処理の開始前に、自スレッドに対応する前記スレッドステータスデータに、これから行うデータ処理に対応する、前記ステータス情報と前記データベース識別情報と前記データ処理方法情報と前記データサイズ情報と前記開始時刻情報を登録し、自スレッドの前記データ処理の完了時に、自スレッドに対応する前記スレッドステータスデータの前記ステータス情報を、データ処理が完了したことを示す情報に更新する情報登録・更新処理と、
所定の周期で前記ステータスリストに登録された各前記スレッドステータスデータを参照し、まだ処理が完了していない業務スレッドに対し、当該業務スレッドに対応する前記スレッドステータスデータの前記データベース識別情報および前記データ処理方法情報に対応する前記遅延判定リストに登録された前記遅延基準値情報と、当該業務スレッドに対応する前記スレッドステータスデータの前記データサイズ情報および前記時刻情報とから、当該業務スレッドのデータ処理の遅延有無を判定し、遅延を検出したときには、当該業務スレッドに対応する前記スレッドステータスデータの前記ステータス情報を、遅延中を示す情報に更新する遅延判定処理と、
前記複数の業務スレッドのいずれかがデータ処理を完了した後に、各前記スレッドステータスデータに登録された前記ステータス情報と前記データベース識別情報と前記データ処理方法情報とを参照して、遅延が発生しておらず且つまだ処理中の業務スレッドがない場合に、その時点で処理を完了しているすべての業務スレッドでの処理結果データを一括して外部に出力する出力制御処理と
を前記コンピュータに実行させることを特徴とするデータ処理プログラム。
While executing multiple data processing concurrently in multiple business threads generated on the own computer,
ID information for identifying the corresponding business thread, status information indicating the current processing status of data processing performed by the corresponding business thread, and a database to be updated by data processing performed by the corresponding business thread Database identification information, data processing method information for identifying a data processing method in the corresponding business thread, data size information of a processing target data group to be subjected to data processing performed by the corresponding business thread, and the corresponding A thread status list including a plurality of thread status data each corresponding to the plurality of business threads, each having start time information indicating a start time of data processing performed by the business threads;
Each of the data processing method information, the database identification information for identifying the database updated by the data processing method identified by each of the data processing method information, each of the data processing method information and the database identification information In a data processing program executed by a computer comprising a delay determination list having delay reference value information obtained from a processing time per predetermined unit size of a processing target data group in a previous processing of each data processing corresponding to a combination ,
A data processing start process that reads a plurality of processing target data groups given from the outside and distributes them to the plurality of business threads, and instructs each of the business threads to start data processing;
In each business thread instructed to start data processing, the status information and the database identification corresponding to the data processing to be performed are added to the thread status data corresponding to the own thread before starting the data processing of the own thread. Information, the data processing method information, the data size information, and the start time information are registered, and when the data processing of the own thread is completed, the status information of the thread status data corresponding to the own thread is completed. Information registration / update processing to update to information indicating that,
The database identification information and the data of the thread status data corresponding to the business thread for a business thread that has not yet been processed with reference to each thread status data registered in the status list at a predetermined cycle From the delay reference value information registered in the delay determination list corresponding to the processing method information, the data size information and the time information of the thread status data corresponding to the business thread, data processing of the business thread When determining whether there is a delay and detecting a delay, a delay determination process for updating the status information of the thread status data corresponding to the business thread to information indicating that the delay is in progress;
After one of the plurality of business threads completes data processing, a delay occurs with reference to the status information, the database identification information, and the data processing method information registered in each thread status data. If there is no business thread that is still being processed, the computer executes the output control process that outputs the processing result data of all the business threads that have completed processing at the same time to the outside. A data processing program characterized by that.
前記出力制御処理において、遅延が発生した業務スレッドが更新するデータベースと同じデータベースに対して、同じデータ処理方法でデータ処理を行う他の業務スレッドをも遅延が発生したとみなす
ことを特徴とする請求項7記載のデータ処理プログラム。
In the output control processing, another business thread that performs data processing by the same data processing method with respect to the same database as the database that is updated by the business thread in which the delay has occurred is regarded as having a delay. Item 8. A data processing program according to Item 7.
前記出力制御処理における前記処理結果データの出力において、その時点で処理を完了しているすべての業務スレッドに対し、当該各業務スレッドが更新した前記データベースのコミットを指示して更新結果を確定させる
ことを特徴とする請求項7または請求項8記載のデータ処理プログラム。
In outputting the processing result data in the output control process, for all business threads that have completed the processing at that time, instruct the commit of the database updated by each business thread to confirm the update result 9. A data processing program according to claim 7 or claim 8.
JP2012238896A 2012-10-30 2012-10-30 Data processing system, data processing method, and data processing program Expired - Fee Related JP5998851B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012238896A JP5998851B2 (en) 2012-10-30 2012-10-30 Data processing system, data processing method, and data processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012238896A JP5998851B2 (en) 2012-10-30 2012-10-30 Data processing system, data processing method, and data processing program

Publications (2)

Publication Number Publication Date
JP2014089572A true JP2014089572A (en) 2014-05-15
JP5998851B2 JP5998851B2 (en) 2016-09-28

Family

ID=50791436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012238896A Expired - Fee Related JP5998851B2 (en) 2012-10-30 2012-10-30 Data processing system, data processing method, and data processing program

Country Status (1)

Country Link
JP (1) JP5998851B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003036210A (en) * 2001-07-25 2003-02-07 Matsushita Electric Ind Co Ltd Agent program monitoring method, agent program monitoring system and agent monitoring program
JP2011070310A (en) * 2009-09-24 2011-04-07 Fujitsu Ltd Device and method for observation and analysis
JPWO2012086041A1 (en) * 2010-12-22 2014-05-22 富士通株式会社 Synchronous processing method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003036210A (en) * 2001-07-25 2003-02-07 Matsushita Electric Ind Co Ltd Agent program monitoring method, agent program monitoring system and agent monitoring program
JP2011070310A (en) * 2009-09-24 2011-04-07 Fujitsu Ltd Device and method for observation and analysis
JPWO2012086041A1 (en) * 2010-12-22 2014-05-22 富士通株式会社 Synchronous processing method

Also Published As

Publication number Publication date
JP5998851B2 (en) 2016-09-28

Similar Documents

Publication Publication Date Title
EP2851799B1 (en) Fault tolerant batch processing
CN108183957B (en) Master-slave synchronization method and device
US9948520B2 (en) Efficiently determining network topology
JP2016541056A5 (en)
JP2002508568A (en) System for ordering load and store instructions that perform out-of-order multithreaded execution
KR20160132437A (en) Exception handling in microprocessor systems
US20220350610A1 (en) Method Of Debugging A Processor That Executes Vertices Of an Application, Each Vertex Being Assigned To a Programming Thread of the Processor
US9411661B2 (en) Deadlock avoidance
US20120291014A1 (en) System and method for testing the development and updates in a test system using production/live data
TW200903339A (en) Parallelizing sequential frameworks using transactions
WO2021036260A1 (en) Method and apparatus for concurrently executing transactions in blockchain
TW201346756A (en) Processor with second jump execution unit for branch misprediction
EP3114590B1 (en) System and method for out-of-order multiple query execution witin stored procedure
JP2019128695A (en) System management apparatus
US9542236B2 (en) Efficiency sequencer for multiple concurrently-executing threads of execution
JP5998851B2 (en) Data processing system, data processing method, and data processing program
WO2020211376A1 (en) Method and apparatus for executing task by means of cluster server, and device and storage medium
CN111638965B (en) Command queue inter-fence synchronization method and system based on fence replication and handshake
JP6726136B2 (en) Data access device and access error notification method
US20200110739A1 (en) Transaction processing method, apparatus, and device
CN106055322A (en) Flow scheduling method and device
US11681527B2 (en) Electronic device and multiplexing method of spatial
CN112445587A (en) Task processing method and task processing device
JP2004318763A (en) Job network management system and program
EP4068096A1 (en) Data processing program, information processing system, and data processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150918

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160630

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160815

R150 Certificate of patent or registration of utility model

Ref document number: 5998851

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees