JP2014089572A - Data processing system, data processing method and data processing program - Google Patents
Data processing system, data processing method and data processing program Download PDFInfo
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 409
- 238000003672 processing method Methods 0.000 title claims abstract description 117
- 238000000034 method Methods 0.000 claims description 51
- 230000008569 process Effects 0.000 claims description 41
- 230000003111 delayed effect Effects 0.000 claims description 39
- 238000012790 confirmation Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 210000000707 wrist Anatomy 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
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
次に本データ処理システムの動作について説明する。 Next, the operation of the data processing system will be described.
まず、データ処理装置500上においてあるデータの処理を行うために、データ処理実行プロセス510がデータ処理装置500上で事前に起動しているものとする。
First, it is assumed that the data
次に、起動中のデータ処理実行プロセス510は、実際に当該データ処理を行う4つの業務スレッド530a〜d(ここで、「スレッド」とは、「並列処理に対応したオペレーティングシステム上でのプログラムの最小の実行単位」を言う。)と、業務スレッド530a〜dを制御する制御スレッド520とを起動させ、常駐させておく。
Next, the running data
次に、記憶装置700から当該データ処理の対象となる大量の入力データを含む入力ファイル600がデータ処理装置500に与えられると、制御スレッド520が入力ファイル600からファイル600内の全データを読み込んで、それらのデータを関連する業務別にまとめて、4つの処理データ群を作成する。
Next, when an
次に、制御スレッド520は、4つの業務スレッド530a〜dに、4つの上記処理データ群を一対一対応に渡し、それらの処理データ群に対するデータ処理の開始を指示する。ここで、各処理データ群のデータ量は、各業務スレッド530a〜dでのデータ処理が完了するまでに要する時間がほぼ等しくなるように、決定される。
Next, the
データ処理の開始を指示された業務スレッド530a〜dは、それぞれ渡された処理データ群に対するデータ処理を同時並行的に行う。このように、複数のスレッドでデータ処理を同時並行的に行うことを一般的にマルチスレッド処理と言う。
The
業務スレッド530a〜dでのデータ処理の実行中に、各業務スレッド530a〜dが処理結果を出力先のデータベースに随時出力し、データベース610−1〜610−3の内容を随時更新する場合があるが、その際、その各更新と同時にはデータベース610−1〜610−3のコミット(更新内容の確定)は行わず、制御スレッド520からのコミット指示があるまで待つ。
During the execution of data processing in the
ここで、データベースのコミットとは、データベースに対して行った更新を正式に反映し、誰もが更新内容を見ることができるようにすることである。 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
制御スレッド520は、全ての業務スレッド530a〜dから処理完了通知を受けると、全ての業務スレッド530a〜dから受け取った処理結果データを1つにまとめ、出力ファイル620に出力する。
When the
ここで、全ての業務スレッド530a〜dから処理完了通知を受けとった後、それらの業務スレッド530a〜cから受け取った処理結果データを一括して出力ファイル620に出力する、すなわち、書き込む理由は、処理結果データの発生の度に書き込むよりも、全ての処理結果データが揃うまで待って一括して書き込んだ方が、ファイル620に対する書き込み処理回数が減少し、出力ファイル620へのデータ書き込みのスループットが総合的に見て高くなるからである。
Here, after receiving processing completion notifications from all the
制御スレッド520は、出力ファイル620への処理結果データの出力が完了すると、各業務スレッド530にコミット指示を送る。
When the output of the processing result data to the
コミット指示に応答して、各業務スレッド530a〜dは、自身が更新を行ったデータベースに対して、更新を確定させるコミット処理を行う。
In response to the commit instruction, each
以上で、入力ファイル600に関する全てのデータ処理が完了する。
Thus, all data processing relating to the
図9a)に、各業務スレッド530a〜dでのデータ処理の開始からデータベース610−1〜610−3のコミットまでの流れを示す。
FIG. 9a) shows the flow from the start of data processing in each
しかしながら、図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
本発明の目的は、上述した問題点を解決できるデータ処理システム、データ処理方法およびデータ処理プログラムを提供することにある。 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.
次に、本発明の実施形態について図面を参照して詳細に説明する。 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
データ処理装置100は、プログラム制御により動作する一般的な情報処理装置(コンピュータ)によって構成される。
The
記憶装置200および400は、例えば、ディスク装置や半導体メモリ装置により実現される。
The
少なくとも一つの入力ファイル210は、それぞれ、データ処理装置100の行うデータ処理の対象となる大量の入力データおよび各入力データの処理方法を指定する情報などを含む。
Each of the at least one
記憶装置400は、データ処理装置100が生成する出力ファイル410を記憶する。
The
データ処理装置100は、データ処理実行プロセス110と、メモリ160とを含む。
The
すなわち、本実施形態では、データ処理装置100に搭載されたオペレティングシステム(図示せず)が、データ処理装置100上において各種のデータ処理を行うために、データ処理実行プロセス110を予め生成し起動させてあるものとする。なお、ここで言う「プロセス」とは、コンピュータ分野においてよく知られている概念であり、その詳細な説明は省略する。
That is, in this embodiment, an operating system (not shown) mounted on the
起動中のデータ処理実行プロセス110は、実際にデータ処理を行う4つの業務スレッド130a〜dと、業務スレッド130a〜dを制御する制御スレッド120とを起動させ、常駐させておく。
The active data
メモリ160は、全ての業務スレッド130a〜dのデータ処理の現況を格納している業務スレッドステータスリスト140と、各データベース300−1〜3に対する処理別にその処理に要する時間の基準値を格納している遅延判定リスト150とを記憶しており、制御スレッド120および業務スレッド130a〜dはそれらリスト140および150にアクセスが可能である。
The
制御スレッド120は、業務スレッド制御部121と、遅延判定部122と、出力制御部123とを有する。
The
業務スレッド制御部121は、入力ファイル210から入力データを読み込み、4つの業務スレッド130a〜dを制御してデータ処理を開始させる。
The business thread control unit 121 reads input data from the
遅延判定部122は、定期的に業務スレッドステータスリスト140を参照し、遅延判定リスト150の情報に基づいて、業務スレッド130a〜dでのデータ処理の遅延発生の有無を判定する。なお、以下の説明では、遅延判定部122によって、データ処理に遅延が発生したと判定された業務スレッドを「遅延中の業務スレッド」または「遅延した業務スレッド」と言う。
The
出力制御部123は、4つの業務スレッド130a〜dでの処理結果の出力を制御する。すなわち、業務スレッド130a〜dは、それらでの処理結果を、ファイル410に直接出力するのではなく、出力制御部123に一旦渡す。処理結果を渡された出力制御部123は、自身で決定したタイミングで、当該処理結果を出力ファイル410へ出力する。また、出力制御部123は、業務スレッド130a〜dに、業務スレッド130a〜dが更新したデータベースのコミットを指示する。
The
業務スレッド130a〜dは、入力ファイル210から業務スレッド制御部121を介してそれぞれ与えられた処理データ群を指示されたデータ処理方法で同時並行的に処理し、業務スレッドステータスリスト140と遅延判定リスト150とを随時更新する。
The
なお、本実施形態では、業務スレッド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
図7は、図6の時刻T1〜T5の各時点における業務スレッドステータスリスト140および遅延判定リスト150の内容を示す。
FIG. 7 shows the contents of the business
延判定リスト150には、あらかじめ、以前のデータ処理におけるデータ処理速度から求めた、または、任意に定めた遅延基準値が格納されているものとする。
Assume that the
遅延判定リスト150は、データ処理方法を示すデータ処理方法情報を登録するデータ処理方法欄と、当該データ処理方法情報で識別されるデータ処理方法で更新されるデータベースを識別するデータベース識別情報を登録する更新DB欄と、上記の遅延基準値である遅延基準値情報を登録する遅延基準値欄とから構成される。遅延基準値は、前回のデータ処理における処理データ群1KBあたりの処理時間に(1+遅延許容率)を掛けた値である。
The
例えば、図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
次に、本実施形態の動作について、図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
次に、業務スレッド制御部121は、入力ファイル210から読み込んだ、各入力データの処理方法を指定する、情報に従って、読み込んだ入力データを関連する処理法別にまとめて、4つの処理データ群を作成する(図2のステップS102)。
Next, the business thread control unit 121 specifies a processing method of each input data read from the
次に、業務スレッド制御部121は、4つの業務スレッド130a〜dに、4つの上記処理データ群を一対一対応に渡し、それらの処理データ群それぞれに対するデータ処理方法を指定して、それらの処理データ群に対する処理の開始を指示する(図2のステップS103)。
Next, the business thread control unit 121 passes the four processing data groups to the four
ここで、業務スレッド制御部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
同様に、業務スレッド制御部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
次に、データ処理の開始を指示された業務スレッド側の動作について、業務スレッド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
まず、業務スレッド130aは、業務スレッドステータスリスト140にこれから実施するデータ処理の情報を登録する(図5のステップS401)。このときの時刻をT1とする。このとき業務スレッド130b〜dも、図6に示すように、時刻T1に、同時並行的にデータ処理を開始する。
First, the
図7に示すように、業務スレッドステータスリスト140は、データ処理を実行する業務スレッドを識別するスレッドID情報を登録するスレッドID欄、データ処理の現在状況を示すステータス情報を登録するステータス欄、データ処理中に更新する対象のデータベースを識別するデータベース識別情報を登録する更新DB欄、データ処理方法を示すデータ処理方法情報を登録するデータ処理方法欄、与えられた処理データ群のデータサイズをKB単位で表した値であるデータサイズ情報を登録するデータサイズ欄およびデータ処理を開始した時刻を示す開始時刻情報を登録する開始時刻欄から構成される。
As shown in FIG. 7, the business
業務スレッドステータスリスト140の2行目以降の行は、複数の業務スレッドと一対一対応し、各行の全て欄の内容(情報)をまとめてスレッドステータスデータと言う。
The second and subsequent lines of the business
ここで、スレッド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
図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
このとき、業務スレッド130b〜dも、同様に業務スレッドステータスリスト(T1時点)の各欄に自スレッドに対応する各情報を登録する。
At this time, the
次に、業務スレッド130aは、指定された「処理法A」のデータ処理を実施する(図5のステップS402)。データ処理の間、業務スレッド130aは、必要に応じてデータベース300−1の更新を随時行う。このとき、データベース300−1のコミットは行わず、出力制御部123のコミット指示があるまで待つ。
Next, the
また、業務スレッド130a〜dでのデータ処理の開始後、遅延判定部122は、一定周期で各業務スレッド130a〜dの遅延判定を行い、遅延している業務スレッドについては業務スレッドステータスリスト140のステータス欄を「遅延中」に書き換える。本実施形態では、遅延判定動作の周期は100ms毎とする。遅延判定の詳細な動作は後述する。
In addition, after the start of data processing in the
次に、データ処理開始時刻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
データ処理が完了すると、業務スレッド130aは、その時点の業務スレッドステータスリスト140(すなわち、図7の業務スレッドステータスリスト(T1時点))における自スレッドのステータスを確認する(図5のステップS403)。上述したとおり、時刻T2時点で、業務スレッド130aは「遅延中」とは判定されておらず、また、そのステータスは「処理中」のままである。
When the data processing is completed, the
自スレッドのステータス欄が「遅延中」ではないので、業務スレッド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
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
次に、業務スレッド130aは、業務スレッドステータスリスト140の自スレッドのステータス欄を「処理中」から「完了」に変更し(図7の業務スレッドステータスリスト(T2時点)参照)(図5のステップS405)、制御スレッド120の出力制御部123に対して、処理結果データの引渡しと処理完了通知の送信とを行う(図5のステップS406)。
Next, the
この後、業務スレッド130aは、制御スレッド120からコミット指示を受信するまで待機する(図5のステップS407)。
Thereafter, the
次の、このようにして処理完了通知および処理結果データを業務スレッド130aから受信した出力制御部123の動作を、図4を参照して説明する。
Next, the operation of the
まず、出力制御部123は、業務スレッド130aから渡された処理結果データを、メモリ160内に設けたバッファ領域(図示せず)に格納する(図4のステップS301)。
First, the
次に、出力制御部123は、現時点(T2時点)で「処理中」の業務スレッドが存在するかどうかを確認する(図4のステップS302)。すなわち、出力制御部122は、業務スレッドステータスリスト140(図7の業務スレッドステータスリスト(T2時点))のステータス欄を上から順に見ていき、「処理中」の業務スレッドが存在するかどうかを確認する。その結果、出力制御部123は、スレッドIDが「b」〜「d」である業務スレッド130b〜dの3つが「処理中」であると認識する。
Next, the
「処理中」の業務スレッド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”
この後、出力制御部123は、一定時間経過後、図4のステップS302の「処理中」の業務スレッドの存在確認に戻る(図4のステップS320)。すなわち、出力制御部123は、時刻T2時点では、業務スレッド130b〜dが遅延せず正常に処理を行っているため、業務スレッド130b〜dの処理が完了するか、または、遅延とみなされるまで、上記バッファ領域に格納した業務スレッド130aからの処理結果データの記憶装置400への出力を待ち合わせる。
Thereafter, the
次に、時刻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
図6に示すとおり、業務スレッド130b〜dは、この時点ではまだデータ処理を終えていない。
As shown in FIG. 6, the
図3を参照して、時刻T3における遅延判定部122の遅延判定の動作を説明する。
With reference to FIG. 3, the delay determination operation of the
まず、遅延判定部122は、業務スレッドステータスリスト140(図7の業務スレッドステータスリスト(T2時点))のステータス欄を上から順に見ていき、「処理中」の業務スレッドを探す(図3のステップS201)。このとき業務スレッド130aは「完了」しているので該当せず、初めに該当するのは業務スレッド130bである。なお、「処理中」の業務スレッドがない場合、遅延判定部122は、これで遅延判定動作を終了する。
First, the
次に、遅延判定部122は、業務スレッドステータスリスト140(図7の業務スレッドステータスリスト(T2時点))と遅延判定リスト150(図7の遅延判定リスト(T2時点))とから、ステータス欄が「処理中」となっている業務スレッドが処理している処理データ群のデータサイズと、処理の開始時刻およびデータ処理方法に対応する遅延基準値を取得する(図3のステップS202)。
Next, the
ここで業務スレッド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
次に、遅延判定部122は、時刻T3において、遅延判定を行っている当該業務スレッドが遅延しているかどうかを判断する(図3のステップS203)。その方法は以下の通りである。
Next, the
まず、遅延判定部122は、業務スレッド130bでのデータ処理が今終了したと仮定して、仮の処理データ群1KBあたりの処理時間を計算する。計算式は以下のとおりである。
First, the
仮の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
判定結果が「遅延中」の場合、遅延判定部122は、業務スレッドステータスリスト140の遅延している業務スレッドに対応するステータス欄を「遅延中」に変更する(図3のステップS204)。ここでは、業務スレッド130bは遅延中と判定されたため、図7の業務スレッドステータスリスト(T3時点)に示すように、業務スレッド130bに対応するステータス欄は「遅延中」に更新される。
When the determination result is “delayed”, the
なお、図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
図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
以上のような遅延判定動作を、遅延判定部122が周期的(100ms毎)に行う。
The
次に、時刻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
まず、業務スレッド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
以下、処理完了通知を受信した出力制御部123の動作については、時刻T2時点の動作と異なる点のみ説明する
まず、出力制御部123は、業務スレッド130cからの処理完了通知と処理結果データとを受け取ると、当該処理結果データを先の業務スレッド130aの処理結果データと合わせてメモリ160内のバッファ領域に格納する(図4のステップS301)。
Hereinafter, the operation of the
次に、出力制御部123は、現時点(T4時点)で「処理中」の業務スレッドが存在するかどうかを確認し、今回は、業務スレッド130dのみが「処理中」であると認識する(図4のステップS302)。
Next, the
「処理中」の業務スレッド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”
すなわち、出力制御部123は、すべての「処理中」スレッドのそれぞれについて、当該「処理中」の業務スレッドが更新する更新ベータベースと同じ更新データベースを更新する他の業務スレッドであって、当該「処理中」の業務スレッドが実施するデータ処理方法と同じデータ処理方法を実施する該他の業務スレッドが「遅延中」であるか否かを判断する(図4のステップS310)。
In other words, the
そこで、出力制御部123は、この時点でデータ処理を「完了」している業務スレッド130aおよび130cでの処理結果データのみを出力する(図4のステップS303)。すなわち、メモリ160のバッファ領域に格納していた業務スレッド130aおよび130cでの処理結果データを1つの出力ファイル410−1にまとめて、記憶装置400に出力する。
Therefore, the
その後、出力制御部123は、業務スレッド130aおよび130cにコミット指示を送信する(図4のステップS304)。
Thereafter, the
業務スレッド130aおよび130cは、コミット指示を受信すると(図5のステップS408)、それぞれが更新したデータベース300−1および300−3のコミット処理を行い、データベースの更新を確定する(図5のステップS409)。
Upon receiving the commit instruction (step S408 in FIG. 5), the
最後に、業務スレッド130aおよび130cは、業務スレッドステータスリスト140(図7の業務スレッドステータスリスト(T4時点))から、自スレッドに対応する、スレッドID欄以外の欄の、内容を消去し、業務スレッド制御部121に指示された処理データ群に関する処理を終了する。
Finally, the
このようにして、出力制御部123は、遅延した業務スレッド130bと遅延するとみなされた業務スレッド130dとの処理完了を待たずに、先に処理が完了した業務スレッド130aおよび130cの処理結果データのファイル出力とデータベース更新のコミットとを一括して行い、業務スレッド130aおよび130cを解放する。
In this way, the
以下に、遅延した業務スレッド130bと遅延するとみなされた業務スレッド130dとについて、それらでのデータ処理の完了までを説明する。
Hereinafter, a description will be given of the delayed
業務スレッド130bは、時刻T1から900ms経過後の時刻T5に、遅延していたデータ処理を完了したとする。このとき、図6に示すとおり、業務スレッド130dはまだデータ処理を終えていない。さらに、業務スレッド130dは、時刻T1から750ms経過以降(本実施形態では判定周期が100ms毎のため800ms時点)に遅延判定部122によって遅延が発生したと判定され、業務スレッドステータスリスト140の業務スレッド130dに対応するステータス欄の内容はすでに「遅延中」と書き換えられている。
It is assumed that the
業務スレッド130bは、データ処理を完了すると、業務スレッドステータスリスト140の自スレッドのステータス欄の内容を確認し、その内容が「遅延中」となっているか否かを判定する(図5のステップS403)。このときのステータス欄の内容は「遅延中」となっているため、業務スレッド130bは、遅延判定リスト150の更新を行わず、図5のステップS405以降の処理を行う。
When the
すなわち、業務スレッド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
業務スレッド130bからの処理完了通知および処理結果データを受信した出力制御部123は、業務スレッドステータスリスト140(図7の業務スレッドステータスリスト(T5時点))のステータス欄の内容を参照し、その内容が「処理中」となっている業務スレッドが存在するか否かを判定し(図4のステップS302)、「処理中」の業務スレッドが存在しないため、データ処理を「完了」している業務スレッド130bでの処理結果データだけを新たな出力ファイル410−2として記憶装置400に出力するとともに(図4のステップS303)、業務スレッド130bにコミット指示を送信する(図4のステップS304)。
The
次に、最後に残った業務スレッド130dは、時刻T1から1500ms経過後の時刻T6に、遅延していたデータ処理を完了したとする。データ処理完了後の業務スレッド130dの動作は、上述した業務スレッド130bと全く同じである。また、業務スレッド130dからの処理完了通知を受信した出力制御部123の動作も上述した業務スレッド130bに対する動作と全く同じである。
Next, it is assumed that the last remaining
以上の動作により、時刻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
このように、本実施形態によれば、データベース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
また、遅延していない業務スレッド130aおよび130cでの処理結果データを一括して記憶装置400に書き込むことで書込み処理を1回で済ませることができ、総合的に見て、記憶装置400へのデータ書き込みのスループットの低下を可能な限り抑制している。
In addition, the processing result data in the
以上説明したように、本実施形態には、複数のデータ処理をコンピュータで同時並行的に実行し、係るデータ処理の実行中に複数のデータベースを更新するデータ処理システムにおいて、一部のデータベースを利用するデータ処理に遅延が予想外に発生した場合にも、遅延の影響を受けていない他の複数のデータ処理での処理結果データの記憶装置への一括書き込みを可能にし、その結果、遅延の影響を受けていない当該他の複数のデータ処理での処理結果データを遅滞なく利用することができるという効果がある。 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
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
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.
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)
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 |
-
2012
- 2012-10-30 JP JP2012238896A patent/JP5998851B2/en not_active Expired - Fee Related
Patent Citations (3)
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 |