JP5410301B2 - Distributed processing system, distributed processing method, and program - Google Patents
Distributed processing system, distributed processing method, and program Download PDFInfo
- Publication number
- JP5410301B2 JP5410301B2 JP2010000376A JP2010000376A JP5410301B2 JP 5410301 B2 JP5410301 B2 JP 5410301B2 JP 2010000376 A JP2010000376 A JP 2010000376A JP 2010000376 A JP2010000376 A JP 2010000376A JP 5410301 B2 JP5410301 B2 JP 5410301B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- fragment
- processing
- unit
- result
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、アップロードデータの分散処理システム、分散処理方法、およびプログラムに関するものである。 The present invention relates to a distributed processing system, a distributed processing method, and a program for upload data.
Web上でのサービスを提供する場合に、1つのまとまったデータについて、データ量が巨大であり、何らかの処理を行うに際して、処理結果をユーザに提供するのに、リアルタイムでは、処理しきれない場合が存在する。例えば、日英翻訳処理や、日本語係り受け解析処理、映像からの注目シーン抽出等である。具体的には、日本語係り受け解析処理の場合において、ある設計書16000行(700KB)に対して、係り受け解析処理に100秒かかるケース等がある。この場合に、この処理をWebブラウザ経由のサービスとして実行すると、100秒経つ以前に、ブラウザのタイムアウトが発生してしまう。従って、従来は、このような場合に、以下のような対処が行われてきた。 When providing a service on the Web, the amount of data for a single piece of data is enormous, and when some processing is performed, the processing result is provided to the user, but in some cases it cannot be processed in real time. Exists. For example, Japanese-English translation processing, Japanese dependency analysis processing, attention scene extraction from video, and the like. Specifically, in the case of Japanese dependency analysis processing, there is a case where the dependency analysis processing takes 100 seconds for a certain design document 16000 lines (700 KB). In this case, if this process is executed as a service via a Web browser, a browser timeout occurs before 100 seconds. Therefore, conventionally, the following measures have been taken in such a case.
(1)情報量の多いデータの投入を禁止する。このような制限を設けるサービスシステムは、非常に多いが、ユーザに要求する制限が厳しすぎる場合には、そもそもサービス自体が利用されなくなるという問題がある。 (1) Prohibit input of data with a large amount of information. There are a large number of service systems that provide such restrictions, but there is a problem that the service itself cannot be used in the first place if the restrictions required of the user are too strict.
(2)非同期の結果確認インタフェースを設ける。ユーザに対してブラウザのタイムアウト時間内に回答できないケースに備えて、処理完了後にメールにおいてユーザに通知する等の新たな処理群として、例えば、メールアドレス登録、メール送信、エラー再送、結果進捗状態照会等を用意しておく。この場合は、システムの本質的でない部分において、処理構成が複雑になるという問題がある。 (2) An asynchronous result confirmation interface is provided. In preparation for cases where users cannot respond within the browser timeout period, new processing groups such as notifying the user by e-mail after processing is completed, for example, e-mail address registration, e-mail transmission, error resending, result progress status inquiry Prepare etc. In this case, there is a problem that the processing configuration becomes complicated in a non-essential part of the system.
(3)ユーザ認証が可能なストレージエリア等に、処理結果を生成することとし、ユーザは、適当な頃合を見計らって、結果が生成されていることを確認する。この場合は、ユーザがいつ生成されるか分からない結果を得るために、何度も結果の確認を行う必要があり、ユーザの負担が大きくなるという問題がある。 (3) The processing result is generated in a storage area or the like where user authentication is possible, and the user confirms that the result is generated at an appropriate time. In this case, in order to obtain a result that the user does not know when it is generated, it is necessary to confirm the result many times, and there is a problem that the burden on the user increases.
一方、大量のPC群を活用して処理の高速化を行う技術として、MapReduceモデルが存在する(非特許文献1参照)。MapReduceモデルは、例えば、Webをクロールして得た細かなデータ群(Webページ群)を分散ファイルシステム(GFS)上に保管し、各分散ファイルシステムを提供するマシン上で、形態素解析処理や単語のカウント処理等を並列に実行させる。これにより、総容量として10TBといった巨大なファイル群に対して、短時間で転置ファイルの作成等を可能にする。 On the other hand, there is a MapReduce model as a technique for speeding up processing by utilizing a large number of PC groups (see Non-Patent Document 1). The MapReduce model stores, for example, a detailed data group (Web page group) obtained by crawling the Web on a distributed file system (GFS), and performs morphological analysis processing and word processing on a machine that provides each distributed file system. The counting process is executed in parallel. Thereby, it is possible to create a transposed file in a short time for a huge file group having a total capacity of 10 TB.
また、システムのスループットを向上する技術として、分散構成が提案されている(特許文献1参照)。この分散構成は、複数の受付キューが存在し、複数の処理部が存在する構成で、複数のデータを複数の受付キューで受け付け、受け付けた複数のデータを分散して各処理部に処理させることで、システム全体としてのスループットを向上させることができるものである。このシステムは、追記参照型DMS(Data Management System)、もしくは単にDMSと呼ばれる。 Also, a distributed configuration has been proposed as a technique for improving the system throughput (see Patent Document 1). In this distributed configuration, there are a plurality of reception queues and a plurality of processing units, a plurality of data are received by a plurality of reception queues, and a plurality of received data are distributed and processed by each processing unit. Thus, the throughput of the entire system can be improved. This system is called a write-once reference type DMS (Data Management System) or simply DMS.
しかしながら、非特許文献1に記載された技術である、MapReduceモデルは、計算の前にどのマシンに処理を分散実行させるかというスケジューリングを時間をかけて行う必要がある点や、分散ファイルシステム上にデータを登録する必要がある点等の制約が強く、バッチ処理に向いており、リアルタイムの処理には向いていないものである。よって、ユーザからアップロードされたデータに即応して、対象とした処理を高速化することに適用することはできなかった。また、基本的には、Webページデータ等、細かなファイルが多数存在するケースに対応しており、本発明が対象とするような単一の情報量の多いファイルの投入に対しては、データのサイズのみでの分断を実施したとしても、分断した近辺において、意味的な整合を維持しつつ分散処理を実行することが困難であった。 However, the MapReduce model, which is a technique described in Non-Patent Document 1, requires that it takes time to schedule which machine to execute processing before calculation, and on the distributed file system. There are strong restrictions such as the need to register data, and it is suitable for batch processing and not for real-time processing. Therefore, it cannot be applied to speeding up the targeted processing in response to data uploaded from the user. Basically, it corresponds to the case where there are many small files such as Web page data. For the input of a single information-rich file as the object of the present invention, data Even if the division is performed only with the size of the file, it is difficult to execute the distributed processing while maintaining the semantic matching in the vicinity of the division.
また、特許文献1に記載の技術である追記参照型DMSは、複数のデータを受け付ける場合に、システム全体としてのスループットの向上を目的とするものであり、そのままでは、アップロードされた単一の情報量の多いデータに対して、レスポンスを高速化させることはできなかった。 In addition, the write-once reference type DMS, which is a technique described in Patent Document 1, aims to improve the throughput of the entire system when receiving a plurality of data. It was not possible to speed up the response to a large amount of data.
このように、バッチ処理の処理時間を短縮させる技術や、既に分割されている複数のデータに対して処理スループットを向上させる技術は存在したが、ユーザからの単一の情報量の多いアップロードデータに即応して、データの意味的な整合を維持しつつ分散処理を実行し、対象とした処理の応答時間を短縮することはできなかった。 As described above, there are technologies for reducing the processing time of batch processing and technologies for improving the processing throughput for a plurality of pieces of data that have already been divided. However, the upload data has a large amount of information from the user. In response, the distributed processing was executed while maintaining the semantic consistency of the data, and the response time of the target processing could not be shortened.
このような背景に鑑みて本発明がなされたのであり、本発明は、単一の情報量の多いデータに対して、レスポンスの高速化を図ることができる、分散処理システム、分散処理方法、およびプログラムを提供することを目的とする。 The present invention has been made in view of such a background, and the present invention provides a distributed processing system, a distributed processing method, and a method capable of speeding up a response to a single data having a large amount of information. The purpose is to provide a program.
前記した課題を解決するため、請求項1に記載の発明は、(1)ユーザ端末から通信ネットワークを介してアップロードデータを受け付け、前記受け付けたアップロードデータについてのデータ処理の結果データを同期もしくは非同期で前記ユーザ端末に返信する受付応答装置と、(2)前記受付応答装置から取得した前記アップロードデータを分断して複数の断片データを生成し、前記生成した複数の断片データがデータ処理された結果である複数の断片結果データを統合して前記結果データを生成する分断統合装置と、(3)前記分断統合装置から前記断片データを取得してキューとして保存し、複数の処理装置のうちの1つからの要求により前記断片データを当該処理装置に送信する1つ以上のキュー管理装置と、(4)前記断片データを前記キュー管理装置から取得し、前記取得した断片データをデータ処理して、前記断片結果データとして前記分断統合装置に送信する前記複数の処理装置と、を備える分散処理システムであって、前記受付応答装置が、前記ユーザ端末から前記通信ネットワークを介して、前記アップロードデータを受け付けるデータ受付部と、前記データ受付部から前記アップロードデータを取得してファイル化し、前記ファイル化したデータをデータ蓄積部に保存した後に、前記分断統合装置を起動させる起動指示メッセージを生成するファイル処理部と、前記ファイル処理部が生成した起動指示メッセージおよび前記ファイル化したデータを前記分断統合装置に送信し、前記分断統合装置から取得した前記結果データを、前記通信ネットワークを介して、前記ユーザ端末に送信する送信制御部と、を備え、前記分断統合装置が、前記受付応答装置から送信された前記データを当該データの最初から順に読み込むデータ読込部と、前記データ読込部が読み込んだデータの種類を判定し、前記判定したデータの種類に応じて、前記処理装置が前記データをデータ処理する際に処理可能な単位での切り出しによる前記複数の断片データの生成を行う断片データ生成部と、前記断片データ生成部により、前記複数の断片データのうちの1つが生成される順に、前記複数の断片データそれぞれにシーケンシャルなIDを付して、前記シーケンシャルなIDが付された断片データが生成される毎に、前記1つ以上のキュー管理装置のいずれかに当該断片データを送信するデータ管理部と、前記複数の処理装置から送信された前記断片結果データを受信し、前記断片データに付された前記IDに対応付けて前記断片結果データに付されたシーケンシャルなIDに基づき、すべての前記断片結果データを取得したか否かを判定する断片結果データ取得部と、前記断片結果データ取得部が、すべての前記断片結果データを取得したと判定した場合に、前記断片結果データに付された前記シーケンシャルなIDを用いて、当該ID順に前記断片結果データを統合し前記結果データを生成する断片結果データ統合部と、前記断片結果データ統合部により生成された前記結果データが記憶されるデータ記憶部と、前記データ記憶部に記憶された前記結果データを、前記受付応答装置へ送信する結果データ出力部と、を備え、前記キュー管理装置が、前記分断統合装置から送信された前記断片データを受け付け、キューとしてキュー保存部に保存するキュー受付部と、前記処理装置からの前記断片データの取得要求に基づき、前記キュー保存部に保存された前記断片データを当該処理装置に送信するキュー管理部と、前記キュー受付部が受け付けた断片データが保存される前記キュー保存部と、を備え、前記処理装置が、前記キュー管理装置に前記断片データ取得要求を送信し、前記キュー管理装置から前記断片データを取得する断片データ取得部と、前記断片データ取得部が取得した前記断片データに対し、所定のデータ処理を実行するデータ処理部と、前記データ処理部によりデータ処理された結果である前記断片結果データに、前記断片データに付された前記IDに対応付けたシーケンシャルなIDを付して、前記分断統合装置に送信する断片結果データ出力部と、を備えることを特徴とする分散処理システムとした。 In order to solve the above-described problem, the invention according to claim 1 is: (1) accepting upload data from a user terminal via a communication network, and synchronously or asynchronously processing result data of the accepted upload data. An acceptance response device that replies to the user terminal; and (2) a plurality of pieces of fragment data are generated by dividing the upload data acquired from the acceptance response device, and the generated pieces of fragment data are subjected to data processing. and cutting integrating device for generating the results data by integrating some multiple fragments result data, and stored as a queue to acquire the fragment data from (3) the cutting integrated device, one of a plurality of processing devices One or more queue management devices that transmit the fragment data to the processing device in response to a request from (4) the fragment data A plurality of processing devices that acquire data from the queue management device, process the acquired fragment data, and transmit the obtained fragment data to the fragmentation integration device as the fragment result data. A responding device receives the upload data from the user terminal via the communication network, and obtains the upload data from the data accepting unit into a file, and stores the filed data in the data storage unit After saving, a file processing unit that generates a start instruction message for starting the division integration device, a start instruction message generated by the file processing unit and the filed data are transmitted to the division integration device, and the division integration is performed. The result data obtained from the device is transmitted via the communication network. A transmission control unit that transmits the data to the user terminal, and the division integration device reads the data transmitted from the acceptance response device in order from the beginning of the data, and the data reading unit Fragment data that determines the type of read data and generates the plurality of fragment data by cutting out in units that can be processed when the processing device processes the data according to the determined type of data A fragment in which a sequential ID is assigned to each of the plurality of fragment data in the order in which one of the plurality of fragment data is generated by the generation unit and the fragment data generation unit, and the sequential ID is added. A data management unit that transmits the fragment data to any one of the one or more queue management devices each time data is generated, and the plurality of processes Whether the fragment result data transmitted from the apparatus has been received, and all the fragment result data have been acquired based on the sequential IDs attached to the fragment result data in association with the IDs attached to the fragment data When the fragment result data acquisition unit for determining whether or not the fragment result data acquisition unit determines that all the fragment result data has been acquired, the sequential ID attached to the fragment result data is used. A fragment result data integration unit that integrates the fragment result data in the ID order to generate the result data, a data storage unit that stores the result data generated by the fragment result data integration unit, and the data storage unit A result data output unit that transmits the result data stored in the response response device to the acceptance response device, wherein the queue management device A queue receiving unit that receives the fragment data transmitted from a combination device and stores it in a queue storage unit as a queue; and the fragment data stored in the queue storage unit based on an acquisition request for the fragment data from the processing device A queue management unit that transmits the fragment data received by the queue reception unit, and the queue storage unit that stores the fragment data received by the queue reception unit, wherein the processing device sends the fragment data acquisition request to the queue management device. A fragment data acquisition unit that transmits and acquires the fragment data from the queue management device; a data processing unit that executes predetermined data processing on the fragment data acquired by the fragment data acquisition unit; and the data processing unit The sequential result associated with the ID attached to the fragment data is added to the fragment result data that is the result of data processing by Denoted by the ID, and a distributed processing system characterized in that it comprises a fragment result data output unit to be transmitted to the cutting integrated system.
また、請求項6に記載の発明は、(1)ユーザ端末から通信ネットワークを介してアップロードデータを受け付け、前記受け付けたアップロードデータについてのデータ処理の結果データを同期もしくは非同期で前記ユーザ端末に返信する受付応答装置と、(2)前記受付応答装置から取得した前記アップロードデータを分断して複数の断片データを生成し、前記生成した複数の断片データがデータ処理された結果である複数の断片結果データを統合して前記結果データを生成する分断統合装置と、(3)前記分断統合装置から前記断片データを取得してキューとして保存し、複数の処理装置のうちの1つからの要求により前記断片データを当該処理装置に送信する1つ以上のキュー管理装置と、(4)前記断片データを前記キュー管理装置から取得し、前記取得した断片データをデータ処理して、前記断片結果データとして前記分断統合装置に送信する前記複数の処理装置と、を備える分散処理システムに用いられる分散処理方法であって、前記受付応答装置が、前記アップロードデータがファイル化されて保存されるデータ蓄積部を備え、前記ユーザ端末から前記通信ネットワークを介して、前記アップロードデータを受け付けるステップと、前記受け付けたアップロードデータを取得してファイル化し、前記ファイル化したデータを前記データ蓄積部に保存した後に、前記分断統合装置を起動させる起動指示メッセージを生成するステップと、前記生成した起動指示メッセージおよび前記ファイル化したデータを前記分断統合装置に送信するステップと、を実行し、前記分断統合装置が、前記受付応答装置から送信された前記データを当該データの最初から順に読み込むステップと、前記読み込んだデータの種類を判定し、前記判定したデータの種類に応じて、前記処理装置が前記データをデータ処理する際に処理可能な単位での切り出しによる前記複数の断片データの生成を行うステップと、前記複数の断片データのうちの1つが生成される順に、前記複数の断片データそれぞれにシーケンシャルなIDを付して、前記シーケンシャルなIDが付された断片データが生成される毎に、前記1つ以上のキュー管理装置のいずれかに当該断片データを送信するステップと、を実行し、前記キュー管理装置が、前記分断統合装置から送信された前記断片データがキューとして保存されるキュー保存部を備え、前記分断統合装置から送信された前記断片データを受け付け、キューとしてキュー保存部に保存するステップと、前記処理装置からの前記断片データの取得要求に基づき、前記キュー保存部に保存された前記断片データを当該処理装置に送信するステップと、を実行し、前記処理装置が、前記キュー管理装置に前記断片データ取得要求を送信し、前記キュー管理装置から前記断片データを取得するステップと、前記取得した前記断片データに対し、所定のデータ処理を実行するステップと、前記データ処理された結果である前記断片結果データに、前記断片データに付された前記IDに対応付けたシーケンシャルなIDを付して、前記分断統合装置に送信するステップと、を実行し、前記分断統合装置が、前記断片結果データを統合した前記結果データが記憶されるデータ記憶部を備え、前記複数の処理装置から送信された前記断片結果データを受信し、前記断片データに付された前記IDに対応付けて前記断片結果データに付された前記シーケンシャルなIDに基づき、すべての前記断片結果データを取得したか否かを判定するステップと、前記すべての前記断片結果データを取得したと判定した場合に、前記断片結果データに付された前記シーケンシャルなIDを用いて、当該ID順に前記断片結果データを統合し前記結果データを生成するステップと、前記生成された結果データを前記データ記憶部に記憶するステップと、前記データ記憶部に記憶された前記結果データを、前記受付応答装置へ送信するステップと、を実行し、前記受付応答装置が、前記分断統合装置から取得した前記結果データを、前記通信ネットワークを介して、前記ユーザ端末に送信するステップを実行することを特徴とする分散処理方法とした。 The invention according to claim 6 is: (1) accepting upload data from a user terminal via a communication network, and returning the data processing result data for the accepted upload data to the user terminal synchronously or asynchronously. An acceptance response device; and (2) a plurality of fragment result data obtained by dividing the upload data acquired from the acceptance response device to generate a plurality of fragment data, and the plurality of the generated fragment data are subjected to data processing. and cutting integrating device for generating the results data by integrating, (3) the saved from cutting integrating device as a queue to acquire the fragment data, the fragments by from one request of the plurality of processing devices One or more queue management devices that transmit data to the processing device; and (4) the fragment data is sent to the queue management device. And a plurality of processing devices that process the acquired fragment data and transmit the fragment data as the fragment result data to the fragmentation integration device, and a distributed processing method used in the distributed processing system, The reception response device includes a data storage unit that stores the upload data as a file, and receives the upload data from the user terminal via the communication network, and acquires the received upload data. Generating a start instruction message for starting the split integration device after storing the filed data in the data storage unit; and dividing and integrating the generated start instruction message and the filed data Transmitting to the device, and performing the division A combination device that reads the data transmitted from the acceptance response device in order from the beginning of the data; determines the type of the read data; and, depending on the determined data type, the processing device A step of generating the plurality of fragment data by cutting out in units that can be processed when data is processed; and in order in which one of the plurality of fragment data is generated, each of the plurality of fragment data is sequentially Each time the fragment data to which the sequential ID is attached is generated, the fragment data is transmitted to any one of the one or more queue management devices, and The queue management device includes a queue storage unit that stores the fragment data transmitted from the division integration device as a queue, and the division integration Receiving the fragment data transmitted from the apparatus and storing the fragment data as a queue in the queue storage unit; and processing the fragment data stored in the queue storage unit based on the fragment data acquisition request from the processing device Transmitting to the device, the processing device transmitting the fragment data acquisition request to the queue management device and acquiring the fragment data from the queue management device; and the acquired fragment data In response to the step of executing predetermined data processing, the fragment result data which is the result of the data processing is attached with a sequential ID associated with the ID attached to the fragment data, and the fragmentation is performed. Transmitting to the integration device, and the result of the fragmentation integration device integrating the fragment result data is A data storage unit that stores the fragment result data transmitted from the plurality of processing devices, and the sequential result attached to the fragment result data in association with the ID attached to the fragment data. A step of determining whether or not all the fragment result data have been acquired based on the ID, and the sequential ID assigned to the fragment result data when it is determined that all the fragment result data have been acquired with, a step of storing the steps of integrating the fragments results data to the ID order to generate the result data, before Kisei the result data has been made in the data storage unit, stored in the data storage unit Transmitting the result data to the reception response device, and the reception response device acquires the result obtained from the division integration device. The data, via the communication network, and a distributed processing method characterized by performing the step of transmitting to the user terminal.
このようにすることで、本発明よれば、単一の情報量の多いデータあっても、複数の処理装置を用意すれば、ユーザ端末からの処理要求に対して、レスポンスの高速化を図ることができる。よって、ブラウザのタイムアウト時間内に結果をユーザ端末に返却可能となる。また、処理結果を事後に通知する等の付随したシステム(メールアドレス登録、メール送信等のシステム)の構築を省略することが可能となる。 Thus, according to the present invention, even if there is a single large amount of information, if a plurality of processing devices are prepared, the response to processing requests from the user terminal can be speeded up. Can do. Therefore, the result can be returned to the user terminal within the timeout time of the browser. In addition, it is possible to omit the construction of an accompanying system (system for e-mail address registration, e-mail transmission, etc.) such as notification of the processing result after the fact.
請求項2に記載の発明は、前記受付応答装置が、前記データ受付部が、前記アップロードデータの受け付けを開始すると、前記起動指示メッセージを生成し、前記送信制御部を介して前記分断統合装置に送信させ、前記データ受付部が受け付けている前記アップロードデータのうちの所定量を取得する毎に分割してファイル化し、前記ファイル化したデータを逐次前記データ蓄積部に保存し、前記データを前記データ蓄積部に保存する毎に、当該データを前記送信制御部を介して前記分断統合装置に送信させる逐次ファイル処理部をさらに備え、前記分断統合装置が、前記データ読込部が、前記受付応答装置から前記データを読み込む毎に、前記断片データ生成部に引き渡し、前記断片データ生成部が前記断片データを生成することを特徴とする請求項1に記載の分散処理システムとした。 According to a second aspect of the present invention, the acceptance response device generates the activation instruction message when the data acceptance unit starts accepting the upload data, and sends the activation instruction message to the division integration device via the transmission control unit. Each time a predetermined amount of the upload data received by the data receiving unit is acquired and divided into a file, the filed data is sequentially stored in the data storage unit, and the data is stored in the data storage unit. Each time the data is stored in the storage unit, the data storage unit further includes a sequential file processing unit that transmits the data to the dividing and integrating device via the transmission control unit. The dividing and integrating device, the data reading unit, and the reception response device. Each time the data is read, the data is transferred to the fragment data generation unit, and the fragment data generation unit generates the fragment data. It was distributed processing system according to claim 1 that.
このようにすることで、本発明によれば、ユーザ端末から受付応答装置へのデータのアップロード処理、分断統合装置による断片データ生成処理、そして、キュー管理装置への断片データの送信処理が、並列に実行可能となるため、更なるレスポンス(応答時間)の短縮が可能となる。 In this way, according to the present invention, the data upload processing from the user terminal to the reception response device, the fragment data generation processing by the fragmentation integration device, and the fragment data transmission processing to the queue management device are performed in parallel. Therefore, the response (response time) can be further shortened.
請求項3に記載の発明は、前記分断統合装置の前記断片データ生成部が、前記データ読込部が読み込んだ前記データの種類が日本語テキストデータの場合に、所定量まで前記データを読み込み、前記読み込んだデータの最後から、前方もしくは後方に、句点文字およびそれに続く改行コードを検出し、前記検出された地点までを、前記処理装置が前記データをデータ処理する際に処理可能な部分としての断片データとして切り出す日本語テキスト断片データ生成部を、さらに備えることを特徴とする請求項1または請求項2に記載の分散処理システムとした。
According to a third aspect of the present invention, the fragment data generation unit of the fragmentation integration device reads the data up to a predetermined amount when the type of the data read by the data reading unit is Japanese text data, Fragment as a portion that can be processed when the processing device processes the data from the end of the read data to the front or the back, detecting a punctuation character and the following line feed code and up to the detected point The distributed processing system according to
このようにすることで、日本語テキストデータが受付応答装置にアップロードされた場合に、分断統合装置の日本語テキスト断片データ生成部が、データのサイズと、句点文字およびそれに続く改行コードを検索し、処理装置がデータ処理する際に処理可能な単位での切り出しによる断片データの生成を行うことができる。 In this way, when Japanese text data is uploaded to the acceptance response device, the Japanese text fragment data generation unit of the fragmentation integration device searches for the data size, punctuation characters, and the following line feed code. Fragment data can be generated by cutting out in units that can be processed when the processing device processes data.
請求項4に記載の発明は、前記分断統合装置の前記断片データ生成部が、前記データ読込部が読み込んだ前記データの種類が英語テキストデータの場合に、所定量まで前記データを読み込み、前記読み込んだデータの最後から、前方もしくは後方に、ピリオドおよびそれに続く改行コードを検出し、前記検出された地点までを、前記処理装置が前記データをデータ処理する際に処理可能な部分としての断片データとして切り出す英語テキスト断片データ生成部を、さらに備えることを特徴とする請求項1乃至請求項3のいずれか1項に記載の分散処理システムとした。 According to a fourth aspect of the present invention, the fragment data generation unit of the fragmentation integration apparatus reads the data up to a predetermined amount when the type of the data read by the data reading unit is English text data, and reads the data From the end of the data, a period and subsequent line feed code are detected forward or backward from the end of the data, and up to the detected point as fragment data as a portion that can be processed when the processing unit processes the data. The distributed processing system according to any one of claims 1 to 3, further comprising an English text fragment data generation unit to be cut out.
このようにすることで、英語テキストデータが受付応答装置にアップロードされた場合に、分断統合装置の英語テキスト断片データ生成部が、データのサイズと、ピリオドおよびそれに続く改行コードを検索し、処理装置がデータ処理する際に処理可能な単位での切り出しによる断片データの生成を行うことができる。 In this way, when English text data is uploaded to the reception response device, the English text fragment data generation unit of the fragmentation integration device searches for the data size, the period, and the line feed code that follows it, and the processing device Can generate fragment data by cutting out in units that can be processed.
請求項5に記載の発明は、前記分断統合装置の前記断片データ生成部が、前記データ読込部が読み込んだ前記データの種類がGOP(Group Of Pictures)単位で構成される映像データの場合に、所定数のGOP毎に前記映像データを切り出して断片データを生成する映像断片データ生成部を、さらに備えることを特徴とする請求項1乃至請求項4のいずれか1項に記載の分散処理システムとした。 The invention according to claim 5, in the case where the fragment data generation unit of the fragmentation integration device is video data in which the type of the data read by the data reading unit is configured in GOP (Group Of Pictures) units, 5. The distributed processing system according to claim 1, further comprising a video fragment data generation unit that generates the fragment data by cutting out the video data for each predetermined number of GOPs. did.
このようにすることで、単一の情報量の多い映像データが入力された場合に、複数の処理装置を用意することで、ユーザからの処理要求に対して、レスポンス(応答時間)の短縮を図ることが可能となる。 In this way, when a single piece of video data with a large amount of information is input, by preparing a plurality of processing devices, response (response time) can be shortened in response to a processing request from the user. It becomes possible to plan.
請求項7に記載の発明は、請求項6に記載の分散処理方法をコンピュータに実行させるためのプログラムとした。 The invention according to claim 7 is a program for causing a computer to execute the distributed processing method according to claim 6.
このようなプログラムによれば、請求項6に記載の分散処理方法を一般的なコンピュータで実現することができる。 According to such a program, the distributed processing method according to the sixth aspect can be realized by a general computer.
本発明によれば、単一の情報量の多いデータに対して、レスポンスの高速化を図ることができる、分散処理システム、分散処理方法、およびプログラムを提供することができる。 According to the present invention, it is possible to provide a distributed processing system, a distributed processing method, and a program capable of speeding up the response to data having a large amount of information.
次に、本発明を実施するための形態(「実施形態」という)について、適宜図面を参照しながら詳細に説明する。 Next, modes for carrying out the present invention (referred to as “embodiments”) will be described in detail with reference to the drawings as appropriate.
《第1の実施形態》
図1は、本発明の第1の実施形態に係る分散処理システム1の構成例を示す機能ブロック図である。
<< First Embodiment >>
FIG. 1 is a functional block diagram showing a configuration example of a distributed processing system 1 according to the first embodiment of the present invention.
最初に、本発明の第1の実施形態に係る分散処理システム1における分散処理の概要を、図1を参照して説明する。まず、ユーザ端末2からネットワーク3を介して受付応答装置10がデータのアップロードを受け付ける。このときアップロードされるデータは、例えば、後記する図4に示すような単一の情報量の多いテキストデータ等である。受付応答装置10は、受け付けた単一のデータを分断統合装置20に送信し、分断統合装置20では、所定のデータサイズとパターン検索により、処理装置がデータ処理する際に処理可能な単位で切り出して断片データ(後記する図6参照)を生成し、1つ以上のキュー管理装置30へ送信する。そして、複数の処理装置40は、それぞれキュー管理装置30から断片データを受け取り、データ処理(例えば、日英翻訳処理)を実行し断片結果データを生成する。各処理装置40から断片結果データを取得した分断統合装置20は、すべての断片結果データを統合して、結果データ(後記する図5参照)を生成して、受付応答装置10を介してユーザ端末2へ送信する。
First, an overview of distributed processing in the distributed processing system 1 according to the first embodiment of the present invention will be described with reference to FIG. First, the
このように、分断統合装置20が、アップロードされた単一のデータを分断し、複数の処理装置40により分散してデータ処理を行った上で、データを統合することで、本発明の第1の実施形態に係る分散処理システム1によれば、アップロードされたデータへのレスポンス(応答時間)の短縮が図れるものである。
As described above, the dividing and integrating
次に、本発明の第1の実施形態に係る分散処理システム1の構成について具体的に説明する。
分散処理システム1は、ユーザ端末2からネットワーク3を介してデータ(アップロードデータ)を受信する受付応答装置10と、受付応答装置10が受け付けたデータを取得して、そのデータを分断して断片データを生成し、さらに処理された断片結果データを統合する分断統合装置20と、断片データを取得し、データ処理を行う複数の処理装置40(40a,40b,40c,…)と、分断統合装置20から出力された断片データを取得してキューとして記憶し、処理装置40からの要求により断片データを処理装置40に送信する1つ以上のキュー管理装置30(30a,30b,…)と、を含んで構成される。
Next, the configuration of the distributed processing system 1 according to the first embodiment of the present invention will be specifically described.
The distributed processing system 1 acquires data (upload data) received from the
なお、(1)受付応答装置10と、分断統合装置20との間、(2)分断統合装置20と、キュー管理装置30(30a,30b,…)および処理装置40(40a,40b,40c,…)との間、(3)キュー管理装置30(30a,30b,…)と、処理装置40(40a,40b,40c)との間は、それぞれ図示しないネットワークや専用回線により接続される。また、キュー管理装置30の数は、1つ以上のキュー管理装置30(30a,30b,…)であり、処理装置40の数は、2つ以上の処理装置40(40a,40b,40c,…)であればよい。
In addition, (1) between the
<受付応答装置>
受付応答装置10は、ユーザ端末2から送信された単一のデータ(アップロードデータ)を、ネットワーク3を介して受け付ける。この受付応答装置10は、データ受付部11と、ファイル処理部12と、送信制御部13と、データ蓄積部14とを含んで構成される。なお、ここでは、図示を省略しているが、受付応答装置10は、各種データの入力を司る入力部と、出力を司る出力部と、CPU(Central Processing Unit)と、通信インタフェースとを備えるコンピュータにより実現される。
<Reception response device>
The
データ受付部11は、ユーザ端末2から、ネットワーク3または入力部(不図示)を介して、単一のデータ(アップロードデータ)を受信する。そして、その受信したデータを、ファイル処理部12へ引き渡す。
The
ファイル処理部12は、データ受付部11から取得したデータを、ファイル化してデータ蓄積部14へ保存する。また、ファイル処理部12は、データのアップロードが完了したことを契機として、起動指示メッセージを送信制御部13を介して分断統合装置20へ送信する。そして、ファイル処理部12は、分断統合装置20から、データ処理され統合された結果データを取得し、送信制御部13を介して、その結果データをユーザ端末2へ送信する。なお、図1に示すファイル処理部12が備える逐次ファイル処理部121は、後記する第2の実施形態に係る分散処理システム1aにおいて、備えられるものであるので、ここでは説明を省略する。
The
送信制御部13は、ファイル処理部12の指示によりデータ蓄積部14に記憶されたデータを分断統合装置20へ送信する制御を行う。また、送信制御部13は、ファイル処理部12が取得した結果データを、ユーザ端末2へ送信する制御を行う。
The
データ蓄積部14は、データ受付部11が受け付けたデータを記憶する記憶手段であり、RAM(Random Access Memory)、HDD(Hard Disk Drive)等により実現される。
The
なお、データ受付部11、ファイル処理部12、および送信制御部13は、CPUによるプログラム実行処理または専用のハードウェアにより実現される。CPUによるプログラム実行処理により実現する場合、データ蓄積部14にはこれらのプログラムが記憶される。
The
<分断統合装置>
分断統合装置20は、受付応答装置10から受信したデータについて、処理装置がデータ処理する際に処理可能な単位で切り出して、断片データを生成する。そして、分断統合装置20は、各処理装置40(40a,40b,40c,…)により処理された後の断片結果データを統合して、1つの処理済みの結果データを生成する。この分断統合装置20は、データ読込部21と、断片データ生成部22と、データ管理部23と、断片結果データ取得部24と、断片結果データ統合部25と、結果データ出力部26と、データ記憶部27とを含んで構成される。なお、ここでは、図示を省略しているが、分断統合装置20は、各種データの入力を司る入力部と、出力を司る出力部と、CPUとを備えるコンピュータにより実現される。
<Partition integration device>
The
データ読込部21は、受付応答装置10により送信されたデータを読み込む。そして、読み込んだデータを断片データ生成部22へ引き渡す。
The
断片データ生成部22は、引き渡されたデータの種類を判定し、処理装置がデータ処理する際に処理可能な単位での切り出しによる断片データの生成を行う。なお、ここで、処理装置がデータ処理する際に処理可能な単位での切り出しとは、例えば、データが日本語テキストデータであれば、句点および改行で区切られて、日本語として意味を理解することができる文章の切れ目で切り出しを行うことをいう(図3,図6参照)。また、後記するmpeg2等の映像データであれば、GOP(Group Of Pictures)と呼ばれる動画を構成する最小の単位構造がいくつか連なった映像のシーンの単位での切り出しをいう(図8参照)。 The fragment data generation unit 22 determines the type of the delivered data, and generates fragment data by cutting out in units that can be processed when the processing device processes the data. Here, the extraction in units that can be processed when data is processed by the processing device, for example, if the data is Japanese text data, it is delimited by punctuation marks and line feeds, and the meaning is understood as Japanese. This means that the sentence is cut out at a break between the sentences (see FIGS. 3 and 6). In addition, in the case of video data such as mpeg2 to be described later, it refers to segmentation of video in units of several minimum unit structures constituting a moving image called GOP (Group Of Pictures) (see FIG. 8).
この断片データ生成部22は、テキスト断片データ生成部221および映像断片データ生成部222を含んで構成される。なお、映像断片データ生成部222については、後記する第3の実施形態に係る分散処理システム1bにおいて備わるものであり、ここでの説明は省略する。
The fragment data generation unit 22 includes a text fragment
テキスト断片データ生成部221は、データの種類がテキストデータの場合に、まず、所定のバイト数を読み込み、所定のバイト数を読み込んだデータの最後の地点から、前方(もしくは後方)に、句点文字およびそれに続く改行コードがあるか否かを検出し、検出された地点までを、処理装置がデータ処理する際に処理可能な部分としての断片データとして切り出す処理を行う。なお、本実施形態において、前方とは、あるデータからみてそれより後の将来に向かって読み込まれるデータ側に向かって処理することをいい、後方とは、あるデータからみて、それより前に読み込まれたデータ側に向かって処理することをいう。また、このテキスト断片データ生成部221による断片データ生成処理については、後記する図3において詳細に説明する。
When the data type is text data, the text fragment
データ管理部23は、断片データ生成部22により、断片データが生成される順に、各断片データにシーケンシャルなIDを付し、また、断片データ生成部22が切り出した最後の断片データには、最後であることが識別可能なフラグ(以下、「最後フラグ」と呼ぶ)を付与する。そして、データ管理部23は、IDが付された断片データを、キュー管理装置30へ送信する。このとき、キュー管理装置30が複数存在する場合は、受付キューの負荷分散等を考慮して、ラウンドロビン法等の分散アルゴリズムを用いて、複数のキュー管理装置30(30a,30b,…)に断片データを分散して送信するようにすることもできる。このようにすることにより、キュー管理装置30の処理負荷を低減し、処理待ちキューが停滞することを防ぐことができる。
The
断片結果データ取得部24は、処理装置40(40a,40b,40c,…)から、断片結果データを取得し、データ管理部23が断片データに付し、断片結果データに引き継がれたIDをファイル名として、断片結果データをデータ記憶部27に記憶する。また断片結果データ取得部24は、断片結果データに付されたIDを用いて、すべての断片データに対応する断片結果データを取得したか否かを判定する。
The fragment result
断片結果データ統合部25は、断片結果データ取得部24が、すべての断片結果データを取得したことを契機として、断片結果データに付されたID順にマージすることにより、各断片結果データを統合し、結果データを生成する。また、断片結果データ統合部25は、生成した結果データをデータ記憶部27に記憶する。
The fragment result
結果データ出力部26は、断片結果データ統合部25による結果データの生成を契機として、データ処理の完了通知を生成し、その完了通知とともに、結果データを受付応答装置10に送信する。
The result
データ記憶部27は、受付応答装置10から取得したデータや、断片データ生成部22が生成した断片データ、断片結果データ取得部24が取得した断片結果データ、断片結果データ統合部25が生成した結果データ等が記憶される記憶手段であり、RAM、HDD等により実現される。
The
なお、データ読込部21、断片データ生成部22、データ管理部23、断片結果データ取得部24、断片結果データ統合部25、および結果データ出力部26は、CPUによるプログラム実行処理または専用のハードウェアにより実現される。CPUによるプログラム実行処理により実現する場合、データ記憶部27にはこれらのプログラムが記憶される。
The
<キュー管理装置>
キュー管理装置30(30a,30b,…)は、分断統合装置20から送信された断片データをキューとして管理・保存し、処理装置40(40a,40b,40c,…)からの要求に応じて、断片データを要求のあった処理装置40に送信する。このキュー管理装置30は、キュー受付部31と、キュー管理部32と、キュー保存部33とを含んで構成される。なお、ここでは、図示を省略しているが、キュー管理装置30は、各種データの入力を司る入力部と、出力を司る出力部と、CPUとを備えるコンピュータにより実現される。
<Queue management device>
The queue management device 30 (30a, 30b,...) Manages and stores the fragment data transmitted from the dividing and integrating
キュー受付部31は、分断統合装置20から送信されたIDの付された断片データを取得し、キューとしてキュー保存部33に保存する。また、キュー管理部32は、処理装置40(40a,40b,40c,…)から断片データの取得要求があったとき、キュー保存部33に保存された断片データを、その処理装置40へ送信する。
The
キュー保存部33は、キュー受付部31が取得した断片データを保存しておく記憶手段であり、RAM、HDD等により実現される。
The
<処理装置>
処理装置40は、キュー管理装置30から断片データを取得し、その取得した断片データに対し所定のデータ処理を実行する。この処理装置40は、キュー選択部41と、断片データ取得部42と、データ処理部43と、断片結果データ出力部44とを含んで構成される。なお、ここでは、図示を省略しているが、処理装置40は、各種データの入力を司る入力部と、出力を司る出力部と、各種データを記憶する記憶部と、CPUとを備えるコンピュータにより実現される。
<Processing device>
The
キュー選択部41は、断片データの取得元となるキュー管理装置30を選択する。このときのキュー管理装置30の選択は、例えば、ラウンドロビン法等の分散アルゴリズムを用いて行われる。
The
断片データ取得部42は、キュー選択部41により選択されたキュー管理装置30に、断片データの取得要求を送信し、キュー管理装置30から断片データを取得する。
The fragment
データ処理部43は、断片データ取得部42が取得した断片データに対し、所定のデータ処理を実行する。例えば、日英翻訳処理や、日本語係り受け解析処理等を実行する。なお、後記する映像データに関しては、カット点検出処理や注目シーン検出処理等を実行する。
The
断片結果データ出力部44は、データ処理部43においてデータ処理された結果である断片結果データを分断統合装置20へ出力する。なお、このとき、断片結果データには、分断統合装置20のデータ管理部23により断片データに付されたシーケンシャルなIDがそのまま引き継がれ付される。
The fragment result
以上説明した、受付応答装置10、分断統合装置20、キュー管理装置30(30a,30b,…)、および処理装置40(40a,40b,40c,…)は、図1に示したように、それぞれ別個のコンピュータ(装置)により実現してもよいし、これらをまとめて1つのコンピュータとして実現するようにしてもよい。
As described above, the
<動作手順>
次に、本発明の第1の実施形態に係る分散処理システム1の動作手順について、図1を参照しつつ、図2を用いて詳細に説明する。図2は、本発明の第1の実施形態に係る分散処理システム1による分散処理の流れを示すシーケンス図である。
<Operation procedure>
Next, the operation procedure of the distributed processing system 1 according to the first embodiment of the present invention will be described in detail with reference to FIG. 1 and FIG. FIG. 2 is a sequence diagram showing the flow of distributed processing by the distributed processing system 1 according to the first embodiment of the present invention.
まず、ユーザ端末2からネットワーク3を介して、データが送信されると(ステップS101)、受付応答装置10のデータ受付部11がデータを受信する(ステップS102)。そして、受付応答装置10のファイル処理部12は、データ受付部11によるデータの受信が完了したか否かを判定する(ステップS103)。そして、データの受信が完了していなければ(つまり、データ受信中であれば)(ステップS103→No)、ステップS102へ戻り、データ受付部11はデータの受信を続ける。一方、データの受信が完了すると(ステップS103→Yes)、ファイル処理部12は、データ受付部11が受け付けたデータを、1つのファイルとして、データ蓄積部14に記憶する。
First, when data is transmitted from the
また、ファイル処理部12は、データの受付(アップロード)が完了したことを契機として、起動指示メッセージを、送信制御部13を介して分断統合装置20へ送信する。そして、送信制御部13は、分断統合装置20へデータ蓄積部14に記憶されたデータを送信する(ステップS104)。
Further, the
次に、受付応答装置10からの起動指示メッセージの受信により起動した分断統合装置20は、データ読込部21によるデータの読み込みを開始する(ステップS105)。そして、データ読込部21は、データの読み込みを行いつつ、断片データ生成部22にデータを引き渡す。
Next, the
続いて、断片データ生成部22は、引き渡されたデータの種類を判定し、処理装置がそのデータをデータ処理する際に処理可能な単位での切り出しによる断片データ生成処理を行う(ステップS106)。なお、この断片データ生成部22による断片データ生成処理の詳細は、後記する図3において説明する。 Subsequently, the fragment data generation unit 22 determines the type of the delivered data, and performs fragment data generation processing by cutting out in units that can be processed when the processing apparatus processes the data (step S106). Details of the fragment data generation processing by the fragment data generation unit 22 will be described later with reference to FIG.
そして、データ管理部23は、断片データ生成部22により、断片データが生成される毎に、断片データを受け取り、各断片データの生成順にシーケンシャルなIDを付し、また、断片データ生成部22が切り出した最後の断片データには、最後であることが識別可能なフラグ(最後フラグ)を付与する。そして、データ管理部23は、複数のキュー管理装置30が存在する場合には、ラウンドロビン法等を用いてデータの出力先となるキュー管理装置30を決定し、その決定したキュー管理装置30へ、断片データを送信する(ステップS107)。続いて、データ管理部23は、データ読込部21が読み込んだデータのすべてを切り出し、断片データのすべてを送信したか否かを判定する(ステップS108)。そして、まだ、読込み中のデータがあり、断片データのすべてを送信していない場合には(ステップS108→No)、ステップS105に戻り、データ読込部21によるデータの読込みを続ける。一方、断片データのすべてを送信した場合には(ステップS108→Yes)、処理を終了する。
The
次に、キュー管理装置30のキュー受付部31は、分断統合装置20から、IDの付された断片データを受け付け(ステップS109)、キューとしてキュー保存部33に記憶する。そして、キュー管理部32は、処理装置40(40a,40b,40c,…)からの断片データ取得要求に応じて、キュー保存部33に記憶された断片データを、処理装置40(40a,40b,40c,…)へ送信する(ステップS110)。
Next, the
続いて、処理装置40のキュー選択部41は、断片データの取得元となるキュー管理装置30を、ラウンドロビン法等を用いて選択する(ステップS111)。そして、処理装置40の断片データ取得部42は、キュー選択部41により選択されたキュー管理装置30に、断片データの取得要求を送信し、そのキュー管理装置30から断片データを取得する(ステップS112)。次に、データ処理部43は、断片データ取得部42が取得した断片データに対し、所定のデータ処理を実行する(ステップS113)。そして、データ処理部43の処理結果である断片結果データを、断片結果データ出力部44は、分断統合装置20に送信する(ステップS114)。
Subsequently, the
この処理装置40は、例えば、日本語テキストの断片データをキュー管理装置30から取得し、データ処理部43において、日英翻訳処理を行う。そして、そのデータ処理の結果として得られた断片結果データを、断片データに付されたIDを付したまま分断統合装置20へ出力する。また、この1つの処理装置40とは別の処理装置40も同様の処理を行い、それぞれの処理装置40(40a,40b,40c,…)においてデータ処理された各断片結果データが、分断統合装置20へ送信される。
For example, the
このように、処理時間のかかる日英翻訳処理等のデータ処理を、複数の断片データに分断した上で、複数の処理装置40において分散して実行することによって、全体の処理時間を短縮することが可能となる。
In this way, data processing such as Japanese-English translation processing, which requires processing time, is divided into a plurality of pieces of fragment data and then distributed and executed in a plurality of
次に、分断統合装置20の断片結果データ取得部24は、各処理装置40(40a,40b,40c,…)から断片結果データを取得する(ステップS115)。そして、断片結果データ統合部25は、断片結果データ取得部24が取得した断片結果データに付されたIDをファイル名等にしてファイル化し、データ記憶部27に記憶する。また、断片結果データ統合部25は、取得した断片結果データに最後フラグを付与されているか否かを判定する。そして、断片結果データ統合部25は、最後フラグが付与された断片結果データを取得した以後に、断片データを取得した場合には、その断片データに付されたIDをファイル名等にしてファイル化するとともに、すべての断片データを取得したか否かを判定する(ステップS116)。
Next, the fragment result
そして、まだ取得していない断片データがある場合には(ステップS116→No)、ステップS115へ戻り、断片データの取得を続ける。一方、すべての断片データを取得した場合には(ステップS116→Yes)、取得処理を終了し、断片結果データ統合部25は、ファイルに付されたID順にマージして、断片結果データを統合した結果データを生成し(ステップS117)、生成した結果データをデータ記憶部27に記憶する。
If there is fragment data that has not yet been acquired (step S116 → No), the process returns to step S115 to continue acquiring fragment data. On the other hand, when all pieces of fragment data have been acquired (step S116 → Yes), the acquisition process ends, and the fragment result
続いて、結果データ出力部26は、処理完了通知を生成し、その処理完了通知を受付応答装置10へ送信する(ステップS118)。次に、処理完了通知を受け付けた受付応答装置10のデータ受付部11は、送信制御部13を介して、処理完了通知をユーザ端末2へ送信する(つまり、結果データを非同期でユーザ端末2へ返信する)(ステップS119)。なお、ステップS118において、分断統合装置20の結果データ出力部26が処理完了通知を受付応答装置10へ向けて送信する際に、処理完了通知とともに、結果データを併せて、受付応答装置10へ送信し、受付応答装置10からユーザ端末2へ送信するようにしてもよい(つまり、結果データを同期でユーザ端末2へ返信する)。そして、ユーザ端末2が、処理完了通知(結果データ)を受信することで処理を終了する(ステップS120)。
Subsequently, the result
(断片データ生成処理)
次に、図2のステップS106における分断統合装置20の断片データ生成部22が行う断片データ生成処理について説明する。図3は、本発明の第1の実施形態に係る分断統合装置20のテキスト断片データ生成部221が行う断片データ生成処理の流れを示すフローチャートである。なお、本実施形態においては、図4に示す日本語テキストデータがアップロードされ、このデータが処理装置40により日英翻訳処理を行うことで、図5に示す英語テキストデータに変換する処理を行うものとして説明する。この場合、分断統合装置20の断片データ生成部22に備えられたテキスト断片データ生成部221が、データのサイズとデータのパターンを基準にして、処理装置がデータ処理する際に処理可能な単位での切り出しによる断片データの生成を行う。例えば、所定のバイト数を読み込んだデータの最後の地点から前方(もしくは後方)にパターンの検索を行う。このパターンは、句点文字およびそれに続く改行コードが存在するか否かを判定する。このパターンが存在した場合に、その地点までを、処理装置がそのデータをデータ処理する際に処理可能な部分としての断片データとして切り出す。以下、具体的に説明する。
(Fragment data generation process)
Next, the fragment data generation process performed by the fragment data generation unit 22 of the
まず、断片データ生成部22は、データ読込部21が読込みを開始したデータの種類を判定する。ここでは、データの種類が日本語テキストデータか否かを判定する(ステップS201)。データ読込部21が読み込んだデータが日本語テキストデータでなければ(ステップS201→No)、処理を終了する。一方、読み込んだデータが日本語テキストデータであれば(ステップS201→Yes)、次のステップS202へ進む。
First, the fragment data generation unit 22 determines the type of data that the
ステップS202において、断片データ生成部22に備えられたテキスト断片データ生成部221は、まず、所定量のデータの読込みを行う。例えば、図4に示した日本語テキストデータの先頭からデータサイズが1024KBの地点までのデータを読込む。
In step S202, the text fragment
次に、テキスト断片データ生成部221は、ステップS202において、データを読み込む際に、ファイルの終端が存在したか否かを判定する(ステップS203)。ファイルの終端が存在した場合には(ステップS203→Yes)、テキスト断片データ生成部221は、最後の断片データとして切り出し(ステップS207)、断片データ生成処理を終了する。一方、ファイルの終端が存在しなかった場合には(ステップS203→No)、次のステップS204へ進む。
Next, the text fragment
ステップS204において、テキスト断片データ生成部221は、前方(もしくは後方)へ向けてパターン検索を行う。具体的には、テキスト断片データ生成部221は、句点文字とそれに続く改行コードが存在するか否かを判定する(ステップS205)。そして、句点文字とそれに続く改行コードが存在しなければ(ステップS205→No)、さらに前方(もしくは後方)へ向けてパターン検索を続ける。一方、句点文字とそれに続く改行コードが存在した場合には(ステップS205→Yes)、テキスト断片データ生成部221は、その地点までを切り出し、断片データを生成して(ステップS206)、ステップS202へ戻る。
In step S204, the text fragment
以上の処理を具体例を用いて説明する。図4に示すように、先頭からのデータサイズが1024KBの最後の地点が、符号401の地点の「流」の文字であるとすると、その後方に向けて、句点文字「。」とそれに続く改行コード「↓」の存在する地点、つまり行番号「05」の行末までを、処理装置がデータ処理する際に処理可能な部分としての断片データとして生成する。次に、2回目以降は、先頭から1024KBの地点ではなく、直前に断片データとして切り出した直後の位置から1024KBの地点までの読込みを行う。図4では、行番号「06」の先頭からデータサイズが1024KBの地点が、符号402の地点の「鎖」の文字であるとすると、その後方に向けて、句点文字「。」とそれに続く改行コード「↓」の存在する地点、つまり行番号「12」の行末までを、処理装置がデータ処理する際に処理可能な部分である断片データとして生成する。
The above process will be described using a specific example. As shown in FIG. 4, if the last point with a data size of 1024 KB from the beginning is the “flow” character at the
図6は、本発明の第1の実施形態に係る分断統合装置20のテキスト断片データ生成部221が生成する断片データの一例を示す図である。図6に示すように、テキスト断片データ生成部221により生成された断片データは、単に、データサイズに基づきデータを分断する場合に比べて、パターン検索を行うことにより、日本語として文章が中断されることない。よって、断片データを、処理装置がデータ処理する際に処理可能な単位としてのデータとして切り出すことが可能となる。
FIG. 6 is a diagram illustrating an example of fragment data generated by the text fragment
なお、本発明の第1の実施形態に係る分散処理システム1を用いた分散処理により、レスポンス(応答時間)が短縮される効果がより期待できるのは、以下のような場合である。 It should be noted that the effect of shortening the response (response time) by the distributed processing using the distributed processing system 1 according to the first embodiment of the present invention can be expected in the following cases.
分断統合装置20でのデータの分断時間をD、分断統合装置20での統合時間をM、処理装置40での処理時間をPとすると、D≪P、M≪Pの場合である。例えば、本発明の第1の実施形態で示した日英翻訳処理は、日本語テキストを分断する時間をD1、英語テキストを統合する時間をM1、翻訳処理時間をP1とすると、分析時間D1および統合時間M1が、翻訳処理時間P1に比べ、非常に短くなるため、著しい分散処理の効果が期待できる。
This is the case of D << P and M << P, where D is the data division time in the
また、本発明の第1の実施形態に係るテキスト断片データ生成部221は、日本語テキスト断片データ生成部として、日本語テキストデータの断片データ生成処理を行うものとして説明した。これに対し、英語テキストデータが受付応答装置10にアップロードされ、処理装置40において、英日翻訳処理を行い日本語テキストデータに変換する処理を行う場合には、テキスト断片データ生成部221として英語テキスト断片データ生成部を設け、英語テキストデータの断片データ生成処理を行うものとしてもよい。この場合、英語テキスト断片データ生成部は、所定量のデータを読み込み、その読み込んだデータの最後から、前方もしくは後方に、ピリオドおよびそれに続く改行コードを検出する。そして、検出された地点までを、処理装置がそのデータをデータ処理する際に処理可能な部分としての断片データとして切り出すことにより、断片データ生成処理を行うことができる。
Further, the text fragment
以上説明したように、本発明の第1の実施形態に係る分散処理システム1によれば、単一の情報量の多いデータであっても、複数の処理装置40を用意すれば、ユーザ端末2からの処理要求に対して、レスポンスの高速化を図ることができる。よって、ブラウザのタイムアウト時間内に結果をユーザ端末2に返却可能となる。また、処理結果を事後に通知する等の付随したシステム(メールアドレス登録、メール送信等のシステム)の構築を省略することが可能となる。
As described above, according to the distributed processing system 1 according to the first embodiment of the present invention, the
《第2の実施形態》
次に、本発明の第2の実施形態に係る分散処理システム1aについて説明する。本発明の第1の実施形態に係る分散処理システム1との違いは、図1に示すように、受付応答装置10のファイル処理部12に、逐次ファイル処理部121をさらに備えていることである。第2の実施形態に係る分散処理システム1aは、第1の実施形態に係る分散処理システム1で得られる、データを分散して処理することによりレスポンス(応答時間)を短縮する効果に加えて、逐次ファイル処理部121が、データのアップロードを開始とともに、分断統合装置20の起動を行い、データを受信しつつファイル化を行う。そして、すべてのデータのアップロードを待つことなく、ファイル化したデータから順に分断統合装置20へ送信する処理を行う。このようにすることで、さらにレスポンス(応答時間)の短縮を図るものである。以下、具体的に説明する。
<< Second Embodiment >>
Next, a distributed processing system 1a according to a second embodiment of the present invention will be described. The difference from the distributed processing system 1 according to the first embodiment of the present invention is that the
本発明の第1の実施形態に係るファイル処理部12の処理においては、データ受付部11がすべてのデータの受け付けを完了してから、データをファイル化してデータ蓄積部14に保存し、その後、分断統合装置20へ起動指示メッセージを出力していた(図2のステップS102〜S104参照)。一方、本発明の第2の実施形態に係る逐次ファイル処理部121は、ユーザ端末2からのデータをデータ受付部11が受け付け開始すると、まず、分断統合装置20へ起動指示メッセージを送信する。そして、逐次ファイル処理部121は、所定量(例えば、10バイト)のデータを受け付ける毎に、受け付けたデータをファイル化してデータ蓄積部14に保存し、その保存したデータを順次分断統合装置20へ送信する。
In the processing of the
このようにすることで、受付応答装置10によるデータすべてのアップロードを待つことなく、受け付けたデータから順に、分断統合装置20へ送信することができ、レスポンス(応答時間)をさらに短縮することができる。
By doing in this way, without waiting for the upload of all the data by the
図7は、本発明の第2の実施形態に係る分散処理システム1aの分散処理の流れを示すシーケンス図である。本発明の第1の実施形態に係るシーケンス(図2参照)と同様の処理は、同一符号を付し説明を省略する。 FIG. 7 is a sequence diagram showing the flow of distributed processing of the distributed processing system 1a according to the second embodiment of the present invention. The same processes as those in the sequence according to the first embodiment of the present invention (see FIG. 2) are denoted by the same reference numerals and description thereof is omitted.
まず、ユーザ端末2からネットワーク3を介して、データが送信されると(ステップS101)、受付応答装置10のデータ受付部11がデータを受け付け、そのデータの受け付けを契機として、逐次ファイル処理部121が、分断統合装置20へ起動指示メッセージを、送信制御部13を介して送信する(ステップS301)。そして、分断統合装置20は、この起動指示メッセージを受信することにより(ステップS302)、起動してデータ読込み待ち状態となる。
First, when data is transmitted from the
次に、受付応答装置10の逐次ファイル処理部121は、データ受付部11が所定量(例えば、10バイト)のデータを受け付ける毎に、受け付けたデータを逐次ファイル化してデータ蓄積部14に保存し、その保存したデータを順次分断統合装置20へ送信する(ステップS303)。そして、逐次ファイル処理部121は、アップロードされるすべてのデータの読込みと、分断統合装置20への送信が終了したか否かを判定する(ステップS304)。そして、まだ読込みと送信が終わっていないデータがあれば(ステップS304→No)、ステップS303へ戻り処理を続ける。一方、すべてのデータの読込みと送信が終わっている場合には(ステップS304→Yes)、処理を終了する。
Next, every time the
分断統合装置20のデータ読込部21は、受付応答装置10から取得したデータを、すべてのデータの受信完了を待たずに、読込みを行い(ステップS105)、読み込んだデータを断片データ生成部22へ引き渡す。次に、断片データ生成部22では、順次データの読み込みを行い、断片データ生成処理を行う(ステップS106)。そして、生成した断片データをデータ管理部23が、キュー管理装置30へ送信する(ステップS107)。
以下は、図1に示すステップS108〜S120と同様の処理を行い、分断統合装置20において断片結果データを統合し、処理完了通知をユーザ端末2に送信する。
The
In the following, processing similar to that in steps S108 to S120 shown in FIG.
以上のように、本発明の第2の実施形態に係る分散処理システム1aによれば、ユーザ端末2から受付応答装置10へのデータのアップロード処理と、分断統合装置20による断片データ生成処理、そして、キュー管理装置30への断片データの送信が、並列に実行可能となるため、更なるレスポンス(応答時間)の短縮が可能となる。
As described above, according to the distributed processing system 1a according to the second embodiment of the present invention, data upload processing from the
《第3の実施形態》
次に、本発明の第3の実施形態に係る分散処理システム1bについて説明する。本発明の第1の実施形態に係る分散処理システム1との違いは、ユーザ端末2からアップロードされるデータが映像データ(映像コンテンツ)であることである。この映像データは、例えば、mpeg2やH.264映像、もしくはその後継コーデックや派生コーデックである。そして、この映像データを分断するために、断片データ生成部22には、図1に示すように、分断統合装置20の断片データ生成部22内に映像断片データ生成部222を備える。なお、この映像データのアップロードに対して、処理装置40が行う処理は、例えば、1つの映像から他の映像へ切り換わるカット点を検出するカット点検出処理や、人物等の被写体が大きく写っているアップショット等の注目シーンを検出する注目シーン検出処理の提供等があげられる。
<< Third Embodiment >>
Next, a distributed processing system 1b according to a third embodiment of the present invention will be described. The difference from the distributed processing system 1 according to the first embodiment of the present invention is that data uploaded from the
この映像断片データ生成部222は、映像データからの断片データの切り出しの際に、GOP(Group Of Pictures)を1つの分割不能な単位とし、所定数のGOPを含む映像データを、1つ以上の映像シーンの集合である断片データとして切り出す。
そして、映像断片データ生成部222により生成された断片データは、第1の実施形態と同様に、データ管理部23によりキュー管理装置30へ送信され、処理装置40によって、断片データ毎に、カット点検出処理や注目シーン検出処理が行われる。
This video fragment
Then, the fragment data generated by the video fragment
次に、映像断片データ生成部222が行う断片データ生成処理について説明する。
図8は、本発明の第3の実施形態に係る分断統合装置20の映像断片データ生成部222が行う断片データ生成処理の流れを示すフローチャートである。
Next, fragment data generation processing performed by the video fragment
FIG. 8 is a flowchart showing a flow of fragment data generation processing performed by the video fragment
まず、断片データ生成部22は、データ読込部21が読込みを開始したデータの種類を判定する。ここでは、データの種類が、mpeg2やH.264映像、もしくはその後継コーデックや派生コーデック等の映像データであるか否かを判定する(ステップS401)。データ読込部21が読み込んだデータが、mpeg2等の映像データでなければ(ステップS401→No)、処理を終了する。一方、読み込んだデータが、mpeg2等の映像データであれば(ステップS401→Yes)、次のステップS402へ進む。
First, the fragment data generation unit 22 determines the type of data that the
ステップS402において、断片データ生成部22に備えられた映像断片データ生成部222は、所定数のGOPの含むデータの切り出しを行う。次に、映像断片データ生成部222は、データを読み込む際にファイルの終端が存在したか否かを判定する(ステップS403)。ファイルの終端が存在した場合には(ステップS403→Yes)、映像断片データ生成部222は、その読み込んだデータを最後の断片データとして切り出し(ステップS405)、コンテナ(動画ファイル)内に含めて断片データを生成する。一方、ファイルの終端が存在しなかった場合には(ステップS403→No)、映像断片データ生成部222は、ステップS402で切り出したデータを、コンテナ内に含めて断片データを生成し(ステップS404)、ステップS402へ戻る。
In step S402, the video fragment
映像毎にデコードを実行して断片データを切り出す処理を行う場合と比較して、本発明の第3の実施形態に係る映像断片データ生成部222によるGOP単位の切り出しによれば、処理装置40での処理時間Pに比べ、分断統合装置20での分断時間Dを大幅に短縮することができるため、D≪Pを実現することができる。また、カット点検出処理や注目シーン検出処理は、その結果が映像内のフレーム番号等であるため、そのフレーム番号に対応した画像の生成をするだけでよく、アップロードされた一連の映像データのデータ量に比べ、出力情報のデータ量が著しく減少し、分断統合装置20での統合時間M≪処理時間Pとなり、本発明による分散処理効果を享受することが可能となる。
Compared with the case where the processing for cutting out fragment data by executing decoding for each video is performed, according to the clipping in units of GOP by the video fragment
また、例えば、mpeg2コーデックの映像を、H.264コーデックの映像に変換する処理を、処理装置40が行う場合にも、本発明の適用することができる。ただし、複数の変換後の断片結果映像(H.264にエンコードされた映像)を結合すると、統合時間Mのコストが高く、M≪Pを状態が実現できないケースが存在する。その場合には、複数の映像コンテナを更にまとめて1つの映像コンテナとしてみなすプレイリスト等を結合結果として利用することで、統合の負荷が低減され、M≪Pの状態を実現でき、本発明による分散処理効果を享受することが可能となる。
Also, for example, the video of the mpeg2 codec is The present invention can also be applied to the case where the
以上のように、本発明の第3の実施形態に係る分散処理システム1bによれば、単一の情報量の多い映像データ(もしくはコンテンツ)が入力された場合に、複数の処理装置40を用意することで、ユーザからの処理要求に対して、レスポンス(応答時間)の短縮を図ることが可能となる。
As described above, according to the distributed processing system 1b according to the third embodiment of the present invention, a plurality of
なお、本発明の第3の実施形態に係る分散処理システム1bにおいては、分断統合装置20の断片データ生成部22に映像断片データ生成部222を備えるものとしたが、例えば、音声データに関して、音声断片データ生成部を備えるようにしてもよい。この場合、音声断片データ生成部は、受付応答装置10で受け付けた音声データを、例えば、その音声データの無音時間が所定時間連続する部分を区切りとしてデータを切り出すことで、処理装置がデータ処理する際に処理可能な単位としての断片データを生成する。そして、キュー管理装置30を介して、処理装置40において、例えば、その断片データ(音声データ)を日本語テキストデータに変換するデータ処理を実行させることもできる。
In the distributed processing system 1b according to the third embodiment of the present invention, the fragment data generation unit 22 of the
≪本実施形態の変形例≫
次に、本発明の実施形態に係る分散処理システム1の変形例について説明する。図9は、本実施形態に係る分散処理システム1の変形例について説明するための構成図である。図9に示すシステム100は、図1に示す分散処理システム1の受付応答装置10の代わりに、前記した特許文献1に記載された追記参照型DMS(Data Management System)4を適用したものである。
<< Modification of this embodiment >>
Next, a modified example of the distributed processing system 1 according to the embodiment of the present invention will be described. FIG. 9 is a configuration diagram for explaining a modification of the distributed processing system 1 according to the present embodiment. A system 100 shown in FIG. 9 is obtained by applying a postscript reference type DMS (Data Management System) 4 described in Patent Document 1 described above, instead of the
このDMS4においては、複数のユーザ端末2からネットワーク3を介して、複数のデータがアップロードされると、受付振り分け装置50が、受信したデータを複数の追記装置60に振り分けて保存し、複数の処理装置70が追記装置60からデータを取得してデータ処理する。そして各処理装置70の処理結果を受付振り分け装置50に送信して、ユーザ端末2へ返信する。このことにより、DMS4によれば、複数のデータを並列処理することができ、システム全体してスループットを向上させることができる。
In the
そして、このシステム100においては、DMS4を、本実施形態に係る分散処理システム1の受付応答装置10の代わりに設ける。ここでDMS4の処理装置70は、Polder Engine処理を行うものとする。このPolder Engine処理は、例えば、ユーザがユーザ端末2のGUI機能を用いて、複数のデータファイルを選択して、フォルダに一括DROPすると、そのフォルダは処理付きフォルダとして、そのフォルダ名に示される処理を実行し、処理結果の各々がフォルダ内に格納させるものである。このPolder Engine処理においては、処理付きフォルダの入れ子構造によって、一つの処理付きフォルダ内にさらに処理付きフォルダを入れ込むことができる。例えば、ある画像データをOCR処理により、日本語テキストデータに変換し、さらに、その日本語テキストデータについて、日英翻訳処理を行わせ、さらにその英文の要約処理を行うような場合である。このような処理を、処理付きフォルダの入れ子構造によって、一括処理することが可能となる。
In this system 100, the
この処理を本システム100において行う場合には、DMS4の処理装置70からデータを取得して、(1)まず、OCR処理装置45がOCR処理を行い、(2)次に、その結果データを、処理装置70が分散処理システム1の分断統合装置20に送信する。そして、分断統合装置20によりデータを分断し断片データを生成する。続いて、キュー管理装置30に記憶された断片データを、各処理装置40が取得して、日本語テキストデータを英語テキストデータに翻訳した上で、断片結果データを分断統合装置20に送信する。分断統合装置20では、断片結果データを統合し、その統合した結果データを、DMS4の処理装置70に送信する。(3)そして、英文要約処理装置46が英語テキストデータの要約処理を行う。このような処理を行うことによって、処理装置70によるレスポンス(応答時間)を短縮することが可能となる。さらに、これらの処理を多数のユーザ端末2から同時にリクエストされた場合(つまり,同時にアップロードされた場合)には処理装置70が同時に動作することでシステムのスループットが向上する。
When this processing is performed in the present system 100, data is acquired from the
このように、本システム100によれば、DMS4により、多数のユーザからのリクエストの対するスループットの向上を図ることができ、さらにユーザから入力された単一の情報量の多いデータに対しても、本実施形態に係る分散処理システム1を組み合わせることで、レスポンス(応答時間)の向上も図れるものとなる。 As described above, according to the present system 100, it is possible to improve the throughput with respect to requests from a large number of users by using the DMS4. Further, even for data having a large amount of information input from the users, By combining the distributed processing system 1 according to the present embodiment, the response (response time) can be improved.
1 分散処理システム
2 ユーザ端末
3 ネットワーク
5 DMS
10 受付応答装置
11 データ受付部
12 ファイル処理部
13 送信制御部
14 データ蓄積部
20 分断統合装置
21 データ読込部
22 断片データ生成部
23 データ管理部
24 断片結果データ取得部
25 断片結果データ統合部
26 結果データ出力部
27 データ記憶部
30 キュー管理装置
31 キュー受付部
32 キュー管理部
33 キュー保存部
40,70 処理装置
41 キュー選択部
42 断片データ取得部
43 データ処理部
44 断片結果データ出力部
45 OCR装置
46 英文要約処理装置
50 受付振り分け装置
60 追記装置
121 逐次ファイル処理部
221 テキスト断片データ生成部
222 映像断片データ生成部
1 distributed
DESCRIPTION OF
Claims (7)
前記受付応答装置は、
前記ユーザ端末から前記通信ネットワークを介して、前記アップロードデータを受け付けるデータ受付部と、前記データ受付部から前記アップロードデータを取得してファイル化し、前記ファイル化したデータをデータ蓄積部に保存した後に、前記分断統合装置を起動させる起動指示メッセージを生成するファイル処理部と、前記ファイル処理部が生成した起動指示メッセージおよび前記ファイル化したデータを前記分断統合装置に送信し、前記分断統合装置から取得した前記結果データを、前記通信ネットワークを介して、前記ユーザ端末に送信する送信制御部と、を備え、
前記分断統合装置は、
前記受付応答装置から送信された前記データを当該データの最初から順に読み込むデータ読込部と、前記データ読込部が読み込んだデータの種類を判定し、前記判定したデータの種類に応じて、前記処理装置が前記データをデータ処理する際に処理可能な単位での切り出しによる前記複数の断片データの生成を行う断片データ生成部と、前記断片データ生成部により、前記複数の断片データのうちの1つが生成される順に、前記複数の断片データそれぞれにシーケンシャルなIDを付して、前記シーケンシャルなIDが付された断片データが生成される毎に、前記1つ以上のキュー管理装置のいずれかに当該断片データを送信するデータ管理部と、
前記複数の処理装置から送信された前記断片結果データを受信し、前記断片データに付された前記IDに対応付けて前記断片結果データに付されたシーケンシャルなIDに基づき、すべての前記断片結果データを取得したか否かを判定する断片結果データ取得部と、前記断片結果データ取得部が、すべての前記断片結果データを取得したと判定した場合に、前記断片結果データに付された前記シーケンシャルなIDを用いて、当該ID順に前記断片結果データを統合し前記結果データを生成する断片結果データ統合部と、前記断片結果データ統合部により生成された前記結果データが記憶されるデータ記憶部と、前記データ記憶部に記憶された前記結果データを、前記受付応答装置へ送信する結果データ出力部と、を備え、
前記キュー管理装置は、
前記分断統合装置から送信された前記断片データを受け付け、キューとしてキュー保存部に保存するキュー受付部と、前記処理装置からの前記断片データの取得要求に基づき、前記キュー保存部に保存された前記断片データを当該処理装置に送信するキュー管理部と、前記キュー受付部が受け付けた断片データが保存される前記キュー保存部と、を備え、
前記処理装置は、
前記キュー管理装置に前記断片データ取得要求を送信し、前記キュー管理装置から前記断片データを取得する断片データ取得部と、前記断片データ取得部が取得した前記断片データに対し、所定のデータ処理を実行するデータ処理部と、前記データ処理部によりデータ処理された結果である前記断片結果データに、前記断片データに付された前記IDに対応付けたシーケンシャルなIDを付して、前記分断統合装置に送信する断片結果データ出力部と、
を備えることを特徴とする分散処理システム。 (1) an acceptance response device that accepts upload data from a user terminal via a communication network, and returns the result data of data processing on the accepted upload data to the user terminal synchronously or asynchronously; (2) the acceptance response Dividing the upload data acquired from the apparatus to generate a plurality of fragment data, and integrating the plurality of fragment result data, which is a result of data processing of the generated plurality of fragment data, to generate the result data an integrated device, (3) the saved from cutting integrating device as a queue to acquire the fragment data, one or more of transmitting the fragment data by from one request of the plurality of processing units to the processing unit (4) acquiring the fragment data from the queue management device, and acquiring the fragment data The data and data processing, wherein a plurality of processing devices to be transmitted to the cutting integrated device as said fragments result data, a distributed processing system comprising,
The reception response device includes:
A data reception unit that receives the upload data from the user terminal via the communication network, and obtains the upload data from the data reception unit into a file, and stores the filed data in a data storage unit. A file processing unit that generates a start instruction message for starting the division integration device, a start instruction message generated by the file processing unit and the filed data are transmitted to the division integration device, and acquired from the division integration device A transmission control unit that transmits the result data to the user terminal via the communication network;
The dividing and integrating device is
A data reading unit for reading the data transmitted from the acceptance response device in order from the beginning of the data, a type of data read by the data reading unit, and the processing device according to the determined type of data Generates a plurality of fragment data by cutting out in units that can be processed when the data is processed, and the fragment data generation unit generates one of the plurality of fragment data. In this order, a sequential ID is assigned to each of the plurality of fragment data, and each time the fragment data with the sequential ID is generated, the fragment is assigned to one of the one or more queue management devices. A data management unit for transmitting data;
Receiving the fragment result data transmitted from the plurality of processing devices, and all the fragment result data based on sequential IDs attached to the fragment result data in association with the IDs attached to the fragment data When the fragment result data acquisition unit that determines whether or not the fragment result data acquisition unit has acquired all the fragment result data, the sequential result attached to the fragment result data is determined. Using the ID, the fragment result data integration unit that integrates the fragment result data in the ID order and generates the result data, the data storage unit that stores the result data generated by the fragment result data integration unit, A result data output unit that transmits the result data stored in the data storage unit to the acceptance response device;
The queue management device includes:
The queue accepting unit that accepts the fragment data transmitted from the fragmentation integration device and saves the fragment data as a queue in a queue storage unit, and the fragment data acquisition request from the processing device, the queue storage unit stores the fragment data A queue management unit that transmits fragment data to the processing device, and the queue storage unit that stores the fragment data received by the queue reception unit,
The processor is
The fragment data acquisition request for transmitting the fragment data acquisition request to the queue management device and acquiring the fragment data from the queue management device; and predetermined data processing for the fragment data acquired by the fragment data acquisition unit A data processing unit to be executed; and the fragmentation integration device that attaches a sequential ID associated with the ID assigned to the fragment data to the fragment result data that is a result of data processing by the data processing unit Fragment result data output section to be transmitted to,
A distributed processing system comprising:
前記データ受付部が、前記アップロードデータの受け付けを開始すると、前記起動指示メッセージを生成し、前記送信制御部を介して前記分断統合装置に送信させ、前記データ受付部が受け付けている前記アップロードデータのうちの所定量を取得する毎に分割してファイル化し、前記ファイル化したデータを逐次前記データ蓄積部に保存し、前記データを前記データ蓄積部に保存する毎に、当該データを前記送信制御部を介して前記分断統合装置に送信させる逐次ファイル処理部をさらに備え、
前記分断統合装置は、
前記データ読込部が、前記受付応答装置から前記データを読み込む毎に、前記断片データ生成部に引き渡し、前記断片データ生成部が前記断片データを生成すること
を特徴とする請求項1に記載の分散処理システム。 The reception response device includes:
When the data accepting unit starts accepting the upload data, the start instruction message is generated and transmitted to the dividing and integrating device via the transmission control unit, and the upload data received by the data accepting unit is transmitted. Each time a predetermined amount is acquired, the data is divided into files, the filed data is sequentially stored in the data storage unit, and each time the data is stored in the data storage unit, the data is transmitted to the transmission control unit. Further comprising a sequential file processing unit that transmits to the dividing and integrating device via
The dividing and integrating device is
2. The distribution according to claim 1, wherein each time the data reading unit reads the data from the reception response device, the data reading unit transfers the data to the fragment data generation unit, and the fragment data generation unit generates the fragment data. Processing system.
前記データ読込部が読み込んだ前記データの種類が日本語テキストデータの場合に、所定量まで前記データを読み込み、前記読み込んだデータの最後から、前方もしくは後方に、句点文字およびそれに続く改行コードを検出し、前記検出された地点までを、前記処理装置が前記データをデータ処理する際に処理可能な部分としての断片データとして切り出す日本語テキスト断片データ生成部を、
さらに備えることを特徴とする請求項1または請求項2に記載の分散処理システム。 The fragment data generation unit of the fragmentation integration apparatus is
When the type of the data read by the data reading unit is Japanese text data, the data is read up to a predetermined amount, and a punctuation character and subsequent line feed code are detected forward or backward from the end of the read data. And a Japanese text fragment data generation unit that extracts up to the detected point as fragment data as a processable part when the processing device processes the data,
The distributed processing system according to claim 1, further comprising:
前記データ読込部が読み込んだ前記データの種類が英語テキストデータの場合に、所定量まで前記データを読み込み、前記読み込んだデータの最後から、前方もしくは後方に、ピリオドおよびそれに続く改行コードを検出し、前記検出された地点までを、前記処理装置が前記データをデータ処理する際に処理可能な部分としての断片データとして切り出す英語テキスト断片データ生成部を、
さらに備えることを特徴とする請求項1乃至請求項3のいずれか1項に記載の分散処理システム。 The fragment data generation unit of the fragmentation integration apparatus is
When the type of the data read by the data reading unit is English text data, the data is read up to a predetermined amount, and a period and a subsequent line feed code are detected forward or backward from the end of the read data, An English text fragment data generation unit that extracts up to the detected point as fragment data as a portion that can be processed when the processing device processes the data.
The distributed processing system according to claim 1, further comprising:
前記データ読込部が読み込んだ前記データの種類がGOP(Group Of Pictures)単位で構成される映像データの場合に、所定数のGOP毎に前記映像データを切り出して断片データを生成する映像断片データ生成部を、
さらに備えることを特徴とする請求項1乃至請求項4のいずれか1項に記載の分散処理システム。 The fragment data generation unit of the fragmentation integration apparatus is
Video fragment data generation for generating fragment data by cutting out the video data for each predetermined number of GOPs when the type of the data read by the data reading unit is GOP (Group Of Pictures) units Part
The distributed processing system according to claim 1, further comprising:
前記受付応答装置は、
前記アップロードデータがファイル化されて保存されるデータ蓄積部を備え、
前記ユーザ端末から前記通信ネットワークを介して、前記アップロードデータを受け付けるステップと、前記受け付けたアップロードデータを取得してファイル化し、前記ファイル化したデータを前記データ蓄積部に保存した後に、前記分断統合装置を起動させる起動指示メッセージを生成するステップと、前記生成した起動指示メッセージおよび前記ファイル化したデータを前記分断統合装置に送信するステップと、を実行し、
前記分断統合装置は、
前記受付応答装置から送信された前記データを当該データの最初から順に読み込むステップと、前記読み込んだデータの種類を判定し、前記判定したデータの種類に応じて、前記処理装置が前記データをデータ処理する際に処理可能な単位での切り出しによる前記複数の断片データの生成を行うステップと、前記複数の断片データのうちの1つが生成される順に、前記複数の断片データそれぞれにシーケンシャルなIDを付して、前記シーケンシャルなIDが付された断片データが生成される毎に、前記1つ以上のキュー管理装置のいずれかに当該断片データを送信するステップと、を実行し、
前記キュー管理装置は、
前記分断統合装置から送信された前記断片データがキューとして保存されるキュー保存部を備え、
前記分断統合装置から送信された前記断片データを受け付け、キューとしてキュー保存部に保存するステップと、前記処理装置からの前記断片データの取得要求に基づき、前記キュー保存部に保存された前記断片データを当該処理装置に送信するステップと、を実行し、
前記処理装置は、
前記キュー管理装置に前記断片データ取得要求を送信し、前記キュー管理装置から前記断片データを取得するステップと、前記取得した前記断片データに対し、所定のデータ処理を実行するステップと、前記データ処理された結果である前記断片結果データに、前記断片データに付された前記IDに対応付けたシーケンシャルなIDを付して、前記分断統合装置に送信するステップと、を実行し、
前記分断統合装置は、
前記断片結果データを統合した前記結果データが記憶されるデータ記憶部を備え、
前記複数の処理装置から送信された前記断片結果データを受信し、前記断片データに付された前記IDに対応付けて前記断片結果データに付された前記シーケンシャルなIDに基づき、すべての前記断片結果データを取得したか否かを判定するステップと、前記すべての前記断片結果データを取得したと判定した場合に、前記断片結果データに付された前記シーケンシャルなIDを用いて、当該ID順に前記断片結果データを統合し前記結果データを生成するステップと、前記生成された結果データを前記データ記憶部に記憶するステップと、前記データ記憶部に記憶された前記結果データを、前記受付応答装置へ送信するステップと、を実行し、
前記受付応答装置は、
前記分断統合装置から取得した前記結果データを、前記通信ネットワークを介して、前記ユーザ端末に送信するステップを
実行することを特徴とする分散処理方法。 (1) an acceptance response device that accepts upload data from a user terminal via a communication network, and returns the result data of data processing on the accepted upload data to the user terminal synchronously or asynchronously; (2) the acceptance response Dividing the upload data acquired from the apparatus to generate a plurality of fragment data, and integrating the plurality of fragment result data, which is a result of data processing of the generated plurality of fragment data, to generate the result data an integrated device, (3) the saved from cutting integrating device as a queue to acquire the fragment data, one or more of transmitting the fragment data by from one request of the plurality of processing units to the processing unit (4) acquiring the fragment data from the queue management device, and acquiring the fragment data The data and data processing, wherein a plurality of processing devices to be transmitted to the cutting integrated device as said fragments result data, a distributed processing method for use in a distributed processing system comprising,
The reception response device includes:
A data storage unit for storing the uploaded data as a file;
Receiving the upload data from the user terminal via the communication network; obtaining the received upload data into a file; and storing the filed data in the data storage unit; Performing a step of generating a start instruction message for starting the process, and a step of transmitting the generated start instruction message and the filed data to the dividing and integrating device,
The dividing and integrating device is
A step of reading the data transmitted from the acceptance response device in order from the beginning of the data, a type of the read data is determined, and the processing device processes the data according to the determined type of data Generating a plurality of fragment data by cutting out in units that can be processed, and assigning a sequential ID to each of the plurality of fragment data in the order in which one of the plurality of fragment data is generated. And each time the fragment data with the sequential ID is generated, the fragment data is transmitted to any one of the one or more queue management devices, and
The queue management device includes:
A queue storage unit that stores the fragment data transmitted from the fragmentation integration device as a queue;
Receiving the fragment data transmitted from the fragmentation integration device and storing the fragment data in a queue storage unit as a queue; and the fragment data stored in the queue storage unit based on an acquisition request for the fragment data from the processing device Transmitting to the processing device, and
The processor is
Transmitting the fragment data acquisition request to the queue management device, acquiring the fragment data from the queue management device, executing predetermined data processing on the acquired fragment data, and the data processing Performing a step of attaching a sequential ID associated with the ID attached to the fragment data to the fragment result data which is a result obtained, and transmitting the fragment ID to the fragmentation integration device,
The dividing and integrating device is
A data storage unit for storing the result data obtained by integrating the fragment result data;
The fragment result data transmitted from the plurality of processing devices is received, and all the fragment results are based on the sequential ID attached to the fragment result data in association with the ID attached to the fragment data. A step of determining whether or not data has been acquired; and when it is determined that all of the fragment result data has been acquired, the sequential IDs attached to the fragment result data are used to determine the fragments in the order of the IDs. results and generating integrated the result data to data, and storing the result data has been made before Kisei in the data storage unit, the result data stored in the data storage unit, the reception response Transmitting to the device, and
The reception response device includes:
The distributed processing method characterized by performing the step which transmits the said result data acquired from the said division | segmentation integration apparatus to the said user terminal via the said communication network.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010000376A JP5410301B2 (en) | 2010-01-05 | 2010-01-05 | Distributed processing system, distributed processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010000376A JP5410301B2 (en) | 2010-01-05 | 2010-01-05 | Distributed processing system, distributed processing method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011141587A JP2011141587A (en) | 2011-07-21 |
JP5410301B2 true JP5410301B2 (en) | 2014-02-05 |
Family
ID=44457410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010000376A Expired - Fee Related JP5410301B2 (en) | 2010-01-05 | 2010-01-05 | Distributed processing system, distributed processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5410301B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5702682B2 (en) * | 2011-07-25 | 2015-04-15 | 日本放送協会 | Management device, material processing device, completed file generation device, material storage device and program thereof, and parallel processing system |
JP2022167179A (en) * | 2021-04-22 | 2022-11-04 | 株式会社日立製作所 | API management system and API management method |
CN114756661B (en) * | 2022-06-14 | 2022-08-23 | 湖南正宇软件技术开发有限公司 | Text processing method and text processing system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1097437A (en) * | 1996-09-20 | 1998-04-14 | Nippon Steel Corp | Parallel distributed processing system |
JP2001344199A (en) * | 2000-06-02 | 2001-12-14 | Nec Corp | Distributed processing system and method, and recording medium |
JP3977765B2 (en) * | 2003-03-31 | 2007-09-19 | 富士通株式会社 | Resource providing method in system using grid computing, monitoring device in the system, and program for the monitoring device |
JPWO2006016477A1 (en) * | 2004-08-09 | 2008-05-01 | 株式会社クロスランゲ−ジ | Translation system, translation server, translation server processing method, program, information storage medium, and translation apparatus |
JP2006236123A (en) * | 2005-02-25 | 2006-09-07 | Fujitsu Ltd | Job distribution program, job distribution method and job distribution device |
US8074219B2 (en) * | 2007-06-27 | 2011-12-06 | Microsoft Corporation | Order preservation in data parallel operations |
-
2010
- 2010-01-05 JP JP2010000376A patent/JP5410301B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011141587A (en) | 2011-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11546418B2 (en) | Method, client, server, and system for sharing content | |
CN109582644B (en) | File storage method, device, equipment and computer readable storage medium | |
TWI541663B (en) | Initiating font subsets | |
CN111404990B (en) | File transmission method, device, client and storage medium | |
CN103581230B (en) | Document transmission system and method, receiving terminal, transmitting terminal | |
CN104462534B (en) | network information sharing method and device | |
CN103248645B (en) | BT off-line datas download system and method | |
CN107770229B (en) | Cloud file sharing method and system and cloud server | |
WO2013091550A1 (en) | Method and device for posting microblog message | |
CN103733568A (en) | Stream processing using a client-server architecture | |
JP2008299478A (en) | Data file editing system, data file processing program, data file using program, data file using system, processing server, user client | |
JP6553712B2 (en) | Processing method and apparatus for DOI (digital object unique identifier) in interaction information | |
CN104010035A (en) | Method and system for application program distribution | |
CN109787884A (en) | A kind of information push method and device | |
JP5410301B2 (en) | Distributed processing system, distributed processing method, and program | |
CN109086307A (en) | The method and device of file process | |
CN111831713A (en) | Data processing method, device and equipment | |
CN107229656A (en) | Full dose data export method, apparatus and system | |
JP3845497B2 (en) | Computer system | |
JP2006140637A (en) | Server, server system, and e-mail delivery method | |
KR101931859B1 (en) | Method for selecting headword of electronic document, method for providing electronic document, and computing system performing the same | |
US9817913B2 (en) | Method and apparatus for collecting, merging and presenting content | |
US20170111668A1 (en) | System and method for group-based media composition | |
CN107291870B (en) | Method for reading files in distributed storage in batch | |
JP6449961B2 (en) | Method and apparatus for generating web pages |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20110825 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120125 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20130201 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130529 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130604 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130719 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130903 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131001 |
|
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: 20131029 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131106 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5410301 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |