JP2016110397A - Parallel processing system, method, and program - Google Patents

Parallel processing system, method, and program Download PDF

Info

Publication number
JP2016110397A
JP2016110397A JP2014247360A JP2014247360A JP2016110397A JP 2016110397 A JP2016110397 A JP 2016110397A JP 2014247360 A JP2014247360 A JP 2014247360A JP 2014247360 A JP2014247360 A JP 2014247360A JP 2016110397 A JP2016110397 A JP 2016110397A
Authority
JP
Japan
Prior art keywords
data
thread
processing
request
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014247360A
Other languages
Japanese (ja)
Other versions
JP6340308B2 (en
Inventor
麻美 宮島
Asami Miyajima
麻美 宮島
恒子 倉
Tsuneko Kura
恒子 倉
芳浩 吉田
Yoshihiro Yoshida
芳浩 吉田
一雄 森村
Kazuo Morimura
一雄 森村
裕二 前田
Yuji Maeda
裕二 前田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2014247360A priority Critical patent/JP6340308B2/en
Publication of JP2016110397A publication Critical patent/JP2016110397A/en
Application granted granted Critical
Publication of JP6340308B2 publication Critical patent/JP6340308B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To quicken parallel processing in the case of making a request including an operation request to a plurality of users or various data to a plurality of servers in a system.SOLUTION: The parallel processing system for allowing data to be processed in parallel by using a plurality of management servers is configured to, when the operation of data related to a plurality of users is requested from an external server to each management server, divide data into request data of each of the plurality of management servers on the basis of the types of data or the attributes of the users, and to execute multi-thread processing by using a plurality of divided threads corresponding to each of the management servers.SELECTED DRAWING: Figure 1

Description

この発明は、例えば、複数のデータ管理サーバが連動して動作するシステムにおいて、複数のユーザに関するデータまたは複数の種別のデータの操作を並列処理により高速に実行させるシステム、方法、およびプログラムに関する。   The present invention relates to, for example, a system, method, and program for executing operations on data related to a plurality of users or data of a plurality of types at high speed by parallel processing in a system in which a plurality of data management servers operate in conjunction with each other.

近年、普及が進むクラウド環境において、リソースや運用コストを低減するために、アプリケーションやデータサーバを複数の利用事業者で共用するしくみが広く用いられている(マルチテナント方式)。例えば、自治体の業務に関するデータが、低コスト化や災害時のBCP(業務継続計画)の一環として、自治体外のクラウド環境にマルチテナント方式で保存される傾向がある(例えば、非特許文献1参照)。   In recent years, in a cloud environment that has become widespread, a mechanism for sharing applications and data servers among a plurality of users is widely used in order to reduce resources and operation costs (multi-tenant method). For example, data related to municipal operations tends to be stored in a multi-tenant method in a cloud environment outside the municipality as part of cost reduction and disaster continuity planning (BCP) (see Non-Patent Document 1, for example) ).

自治体では、数十万・数百万人オーダの住民に関する多種多様な情報を複数年分にわたり管理しており、そのデータは定期的または不定期に追加更新される。例えば、国民健康保険における診療や調剤のレセプト情報、および健康診断情報などは受診の都度、データが追加される。従って、このような自治体に関する自治体業務データをクラウドへのアップロードする場合において、複数人分の多種多様な大容量データを、適切な宛先に振り分けながら、効率的よく高速に登録・更新できることが求められている。また、運用者の手間を極力最小化することが望ましい。   Local governments manage a wide variety of information on residents of the order of hundreds of thousands or millions over a period of several years, and the data is updated regularly or irregularly. For example, receipt information on medical care and dispensing in the National Health Insurance, health checkup information, and the like are added each time a visit is made. Therefore, when uploading local government business data related to such local governments to the cloud, it is required to be able to register and update various types of large volumes of data for multiple people efficiently and quickly while distributing them to appropriate destinations. ing. It is also desirable to minimize the labor of the operator as much as possible.

そこで、クラウド上などに構築された複数のサービスサーバでデータを管理する情報システムにおいて、自治体などが保有するサーバ(外部サーバ)から情報システム内の各サービスサーバに対して、運用者の手を介さずにデータ登録の操作を行うための方法が提案されている(例えば、特許文献1参照)。特許文献1の方法を用いることによって、外部サーバの正当性の確認後にユーザを擬似した認証処理を自動的に実行することにより、情報システム内の各サービスサーバにおいて、外部サーバからのアクセスを正当に認証されたものと認識できる。   Therefore, in an information system that manages data with a plurality of service servers built on the cloud, etc., the operator (external server) from the server owned by the local government, etc., gets to the service servers in the information system through the operator's hands. For example, a method for performing a data registration operation has been proposed (see, for example, Patent Document 1). By using the method of Patent Document 1 and automatically executing an authentication process that simulates a user after confirming the validity of the external server, each service server in the information system can legitimate access from the external server. Recognized as authenticated.

また、特許文献1には、複数のサービスサーバが連動して動作する情報システムにおいて、各サービスサーバに対するデータ操作を運用者の手を介さずに外部サーバから実行する場合に、アクセス元の正当性を確認する方法についても記載されている。   Further, in Patent Document 1, in an information system in which a plurality of service servers operate in conjunction with each other, when the data operation for each service server is executed from an external server without intervention of the operator, the legitimacy of the access source is disclosed. It also describes how to check.

また、特許文献1には、高速化の側面についても、外部サーバからのアクセスが多重に実行され複数スレッドを起動して処理をする場合に、認証状態を管理しておくことで証明書を適切に複数スレッドで利用できるようにするしくみが提案されている。   Patent Document 1 also discloses that a certificate is appropriately managed by managing the authentication status when multiple accesses are executed from an external server and a plurality of threads are activated for processing in terms of speedup. A mechanism to make it available for multiple threads is proposed.

特許第05478591号明細書Japanese Patent No. 054758591

ADWORLD2/SaaS 自治体クラウド、http://www.hitachi-systems.com/ind/adworld/products/cloud/ADWORLD2 / SaaS Local government cloud, http://www.hitachi-systems.com/ind/adworld/products/cloud/

しかしながら、大量データを高速に処理するためには、外部サーバからのアクセスの多重化への対応だけでなく、情報システム内の複数のサービスサーバに対するデータ操作処理要求を適切な単位に切り分けて並列処理する必要がある。なお、並列処理は、例えば、マルチスレッドを用いた処理である。そのため、自治体業務データのように、複数ユーザ分かつ多種多様なデータへの操作要求が含まれるリクエストをマルチスレッドで処理する場合には、次のような課題を解決する必要がある。   However, in order to process a large amount of data at high speed, in addition to supporting multiple access from external servers, parallel processing is performed by dividing data operation processing requests for multiple service servers in the information system into appropriate units. There is a need to. The parallel processing is, for example, processing using multithread. Therefore, when processing a request including operation requests for various types of data for a plurality of users, such as local government business data, it is necessary to solve the following problems.

外部サーバからのリクエストには複数ユーザのデータ且つ複数種類のデータが含まれており、情報システム内ではデータ種別ごとや利用事業者(自治体)ごとに、サービスサーバ内のデータベース(DB)やテーブルが管理されている。そのため、リクエストに含まれるデータ種別またはユーザの属性などに応じてリクエストデータを切り分け、通信処理時間が最小になるように処理スレッドを分割しなければ、効率よく処理を実行することができないという問題がある。   A request from an external server includes data of a plurality of users and a plurality of types of data. In the information system, a database (DB) and a table in the service server are stored for each data type and for each service provider (local government). It is managed. Therefore, if the request data is separated according to the data type included in the request or the attribute of the user and the processing thread is not divided so that the communication processing time is minimized, there is a problem that the processing cannot be executed efficiently. is there.

また、情報システム内の複数のサービスサーバは、常時全てが正常に動作しているとは限らない。一部のサーバがダウンしていたり、何らかの処理プログラムに不具合が発生している可能性もある。そのため、リクエスト処理中にエラーが発生した場合には、運用者がもしくは自動で再試行することによって、少なくともリクエスト実行前の状態に戻す必要がある。しかしながら、高速化のためにマルチスレッド処理を実行する場合、何れのサービスサーバにおいて何れのデータの処理が失敗したかを知ること、および、エラーによる影響の範囲を知ることが難しくなるという問題がある。   In addition, not all of the plurality of service servers in the information system are always operating normally. Some servers may be down or some processing program may be defective. Therefore, when an error occurs during request processing, it is necessary to restore at least the state before request execution by the operator or by automatically retrying. However, when multi-thread processing is executed for speeding up, there is a problem that it becomes difficult to know which data processing has failed in which service server and to know the range of the effect of the error. .

この発明は上記事情に着目してなされたもので、その目的とするところは、複数のユーザまたは多種多様なデータへの操作要求が含まれるリクエストを、システム内の複数のサーバに対して行う場合における並列処理の高速化を図るためのシステム、方法、及びプログラムを提供することにある。   The present invention has been made paying attention to the above circumstances, and its purpose is to make a request including operation requests for a plurality of users or various data to a plurality of servers in the system. Is to provide a system, a method, and a program for speeding up parallel processing.

上記目的を達成するためにこの発明の第1の観点は、以下のような構成要素を備えている。すなわち、複数の管理サーバを用いてデータを並列的に処理させるシステムであって、外部サーバから各管理サーバに対して複数のユーザに関するデータの操作をリクエストされた場合、データの種別またはユーザの属性に基づいてデータを複数の管理サーバごとのリクエストデータに分割し、分割された各管理サーバに対応する複数のスレッドを用いてマルチスレッド処理を実行する制御手段を備えるシステムである。   In order to achieve the above object, a first aspect of the present invention includes the following components. That is, in a system that processes data in parallel using a plurality of management servers, and when an operation of data related to a plurality of users is requested from each external server to each management server, the data type or user attribute Is a system comprising control means for dividing the data into request data for each of the plurality of management servers and executing multi-thread processing using a plurality of threads corresponding to the divided management servers.

また、この発明の第1の観点はさらに以下のような態様を備えることを特徴とする。
すなわち、制御手段は、複数のスレッドの各々に対して少なくとも操作対象となる管理サーバを示す識別子を含むスレッド番号を付与し、何れかのスレッドでエラーが発生した場合、エラーが発生したスレッドに対応するスレッド番号を少なくとも外部サーバに返却またはログに出力する。
The first aspect of the present invention is characterized by further including the following aspects.
That is, the control means assigns a thread number including at least an identifier indicating the management server to be operated to each of a plurality of threads, and when an error occurs in any of the threads, it corresponds to the thread in which the error has occurred. The thread number to be returned to at least the external server or output to the log.

また、ユーザを認証する認証手段をさらに備える。さらに、認証手段は、リクエスト元の認証トークンが必要な場合、認証トークンを発行する。さらに、制御手段は、マルチスレッド処理を実行するために、認証トークンを複製し、複製された認証トークンを各スレッドに対して使用する。   Further, an authentication means for authenticating the user is further provided. Further, the authentication unit issues an authentication token when the request source authentication token is required. Furthermore, the control means duplicates the authentication token and executes the duplicated authentication token for each thread in order to execute the multi-thread processing.

また、この発明の第1の観点には、同様な構成要素および態様を備える方法およびプログラムも含まれる。   The first aspect of the present invention also includes a method and program having similar components and aspects.

すなわちこの発明によれば、複数のユーザまたは多種多様なデータへの操作要求が含まれるリクエストを、システム内の複数のサーバに対して行う場合における並列処理の高速化を図るシステム、方法、及びプログラムを提供することができる。   That is, according to the present invention, a system, method, and program for speeding up parallel processing when a request including operation requests for a plurality of users or various types of data is made to a plurality of servers in the system Can be provided.

本発明の第1の実施形態の並列処理システムの構成例を示す図。The figure which shows the structural example of the parallel processing system of the 1st Embodiment of this invention. 同実施形態の並列処理システムにおけるゲートウェイサーバによってなされる処理を説明するための図。The figure for demonstrating the process performed by the gateway server in the parallel processing system of the embodiment. 同実施形態の並列処理システムにおける要求処理統括管理部によってなされる処理シーケンスの例。An example of a processing sequence performed by a request processing overall management unit in the parallel processing system of the embodiment. 同実施形態の並列処理システムにおける通信制御部によってなされる処理シーケンスの例。An example of a processing sequence performed by a communication control unit in the parallel processing system of the embodiment. 同実施形態の並列処理システムにおける通信処理部によってなされる処理シーケンスの例。An example of a processing sequence performed by a communication processing unit in the parallel processing system of the embodiment. 同実施形態の並列処理システムにおける要求処理統括管理部によって保持される情報を示すデータベース構造の例。The example of the database structure which shows the information hold | maintained by the request processing supervision management part in the parallel processing system of the embodiment. 同実施形態の並列処理システムの通信制御部によって保持される情報を示すデータベース構造の例。The example of the database structure which shows the information hold | maintained by the communication control part of the parallel processing system of the embodiment. 同実施形態に係る並列処理システムの通信処理部によって保持される情報を示すデータベース構造の例。The example of the database structure which shows the information hold | maintained by the communication processing part of the parallel processing system which concerns on the embodiment. 同実施形態に係る並列処理システムのゲートウェイサーバによって、外部サーバから各サービスサーバにデータ登録をする場合になされる処理における引渡しデータの例。The example of the delivery data in the process performed when registering data in each service server from an external server by the gateway server of the parallel processing system concerning the embodiment. 本発明の第2の実施形態の並列処理システムの構成例を示す図。The figure which shows the structural example of the parallel processing system of the 2nd Embodiment of this invention. 同実施形態の並列処理システムによってなされる処理シーケンスの例。An example of a processing sequence performed by the parallel processing system of the embodiment. 本発明の第3の実施形態の並列処理システムの構成例を示す図。The figure which shows the structural example of the parallel processing system of the 3rd Embodiment of this invention. 同実施形態の並列処理システムによってなされる処理シーケンスの例。An example of a processing sequence performed by the parallel processing system of the embodiment.

(第1の実施形態)
以下、図面を参照してこの発明に係る第1の実施形態を説明する。
図1は、本発明の第1の実施形態の並列処理システム10の構成例を示す図である。本実施形態の並列処理システム10は、ネットワークを介してクライアント端末50、複数の外部サーバ40―1,40―2,・・・,40―M、および複数のサービスサーバ30―1,30―2,・・・,30―Nに接続されたゲートウェイサーバ20によって実現する。
(First embodiment)
A first embodiment according to the present invention will be described below with reference to the drawings.
FIG. 1 is a diagram illustrating a configuration example of a parallel processing system 10 according to the first embodiment of this invention. The parallel processing system 10 of this embodiment includes a client terminal 50, a plurality of external servers 40-1, 40-2,..., 40-M, and a plurality of service servers 30-1, 30-2 via a network. ,..., 30-N.

ゲートウェイサーバ20は、要求処理統括管理部21、通信管理部22、および通信処理部23を備える。ゲートウェイサーバ20は、複数のサービスサーバ30へのデータ操作リクエストを通信相手となるサービスサーバ30ごとに分割し、分割したデータ操作リクエストを異なるスレッドとして並列実行することによって複数のサービスサーバ30へのデータ操作リクエストを高速に処理するために、要求処理統括管理部21、通信管理部22、および通信処理部23による各処理を実行するスレッドを順次起動し、起動したスレッドを並列的に実行する。具体的には、ゲートウェイサーバ20は、要求処理統括管理部21、通信管理部22、および通信処理部23による各処理に対応する3つのスレッドを順次起動する。なお、以下、データの登録、更新、または削除などのデータの操作をデータ操作と称する。また、データ操作リクエストとは、データ操作に関するリクエストである。   The gateway server 20 includes a request processing overall management unit 21, a communication management unit 22, and a communication processing unit 23. The gateway server 20 divides the data operation requests to the plurality of service servers 30 for each service server 30 to be a communication partner, and executes the divided data operation requests as different threads in parallel, thereby providing data to the plurality of service servers 30. In order to process an operation request at high speed, a thread for executing each process by the request processing overall management unit 21, the communication management unit 22, and the communication processing unit 23 is sequentially started, and the started threads are executed in parallel. Specifically, the gateway server 20 sequentially activates three threads corresponding to each process by the request processing overall management unit 21, the communication management unit 22, and the communication processing unit 23. Hereinafter, data operations such as data registration, update, or deletion are referred to as data operations. A data operation request is a request related to data operation.

要求処理統括管理部21は、各外部サーバ40またはクライアント端末50から各サービスサーバ30に対するデータ操作リクエストを受信し、受信したデータ操作リクエストに応じて、メインスレッドを起動する。なお、受信するデータ操作リクエストには、複数の利用事業者からのリクエストが含まれる。また、要求処理統括管理部21は、データ操作リクエストに対する応答処理の全体を管理する。なお、メインスレッドは、データ操作リクエストを受け付け、受け付けたデータ操作リクエストに対応する処理の全体を管理するためのスレッドである。   The request processing overall management unit 21 receives a data operation request for each service server 30 from each external server 40 or client terminal 50, and activates the main thread in response to the received data operation request. The received data operation request includes requests from a plurality of service providers. In addition, the request processing overall management unit 21 manages the entire response processing for data operation requests. The main thread is a thread for receiving a data operation request and managing the entire processing corresponding to the received data operation request.

また、要求処理統括管理部21は、各外部サーバ40およびクライアント端末50から各サービスサーバ30へのデータ操作リクエストを受け付け、受け付けたリクエストを各サービスサーバ30へのリクエストに分割する。より詳細には、要求処理統括管理部21は、データ所在情報を保持する。要求処理統括管理部21は、データ所在情報を参照し、データ操作の対象となるサービスサーバ30を1つの単位として、データ操作リクエストに関するデータ(以下、リクエストデータと称す。)を分割する。なお、データ所在情報については図6を参照して詳述するが、データ所在情報は、リクエストデータをサービスサーバ30ごとに分割するために必要な情報を含む。   Further, the request processing overall management unit 21 receives data operation requests from the external servers 40 and the client terminals 50 to the service servers 30 and divides the received requests into requests to the service servers 30. More specifically, the request processing overall management unit 21 holds data location information. The request processing overall management unit 21 refers to the data location information, and divides data related to the data operation request (hereinafter referred to as request data), with the service server 30 that is a target of data operation as one unit. The data location information will be described in detail with reference to FIG. 6, but the data location information includes information necessary for dividing the request data for each service server 30.

また、要求処理統括管理部21は、分割されたリクエストデータを引数として、通信する対象となるサービスサーバ30の数に対応する数の通信管理部22を呼び出し、各通信管理部22から返却された結果を、リクエスト元である外部サーバ40またはクライアント端末50に返却する。   Further, the request processing overall management unit 21 calls the number of communication management units 22 corresponding to the number of service servers 30 to be communicated with the divided request data as an argument, and is returned from each communication management unit 22. The result is returned to the external server 40 or the client terminal 50 that is the request source.

通信管理部22は、要求処理統括管理部21からの呼び出しに応じて通信管理スレッドを起動する。通信管理スレッドは、通信相手となるサービスサーバ30ごとの設定(例えば、データサイズ、接続上限数)に基づき、複数に分割して呼び出した通信処理部からの応答を管理するためのスレッドである。通信管理部22は、呼び出される際に指定されたサービスサーバ30に対するデータ操作リクエストの応答処理を管理する。   The communication management unit 22 activates a communication management thread in response to a call from the request processing overall management unit 21. The communication management thread is a thread for managing a response from the communication processing unit that has been divided and called up based on settings (for example, data size, connection upper limit number) for each service server 30 that is a communication partner. The communication management unit 22 manages the response process of the data operation request to the service server 30 specified when called.

また、通信管理部22は、サービスサーバ経路特性情報を保持する。なお、サービスサーバ経路特性情報については図7を参照して詳述するが、サービスサーバ経路特性情報は、1回の通信で適切なサイズを特定するための情報を含む。通信管理部22は、サービスサーバ経路特性情報を参照し、要求処理統括管理部21から渡されたリクエストデータを指定されたサービスサーバ30に適切なサイズに分割する。なお、適切なサイズとは、例えば、データの容量等に基づくデータサイズ、または、リクエストの件数等に基づくサイズである。通信管理部22は、分割されたリクエストデータを引数として、分割された数だけ通信処理部23を呼び出し、各通信処理部23から返却された結果を、要求処理統括管理部21に返却する。   The communication management unit 22 holds service server path characteristic information. The service server path characteristic information will be described in detail with reference to FIG. 7, but the service server path characteristic information includes information for specifying an appropriate size in one communication. The communication management unit 22 refers to the service server path characteristic information, and divides the request data passed from the request processing overall management unit 21 into an appropriate size for the designated service server 30. The appropriate size is, for example, a data size based on the data volume or the like, or a size based on the number of requests. The communication management unit 22 calls the communication processing units 23 by the divided number using the divided request data as an argument, and returns the result returned from each communication processing unit 23 to the request processing overall management unit 21.

通信処理部23は、通信管理部22からの呼び出しに応じて、通信処理スレッドを起動する。通信処理スレッドは、サービスサーバ30に接続し、データ操作をリクエストするためのスレッドである。通信処理部23は、通信処理部23が呼び出される際に指定されたサービスサーバ30に対して少なくとも1回の通信処理を行う。   The communication processing unit 23 activates a communication processing thread in response to a call from the communication management unit 22. The communication processing thread is a thread for connecting to the service server 30 and requesting a data operation. The communication processing unit 23 performs communication processing at least once for the service server 30 specified when the communication processing unit 23 is called.

また、通信処理部23は、通信管理部22によって分割されたリクエストを各サービスサーバ30へ送信し、指定されたリクエストデータに関するデータ操作を、指定されたリクエストデータに対応するサービスサーバ30に依頼する。なお、リクエストデータは、例えば、通信処理部23が呼び出される際に指定される。そして、通信処理部23は、処理結果を通信管理部22に返却する。   In addition, the communication processing unit 23 transmits the request divided by the communication management unit 22 to each service server 30 and requests the service server 30 corresponding to the specified request data to perform data operation on the specified request data. . The request data is specified when the communication processing unit 23 is called, for example. Then, the communication processing unit 23 returns the processing result to the communication management unit 22.

また、通信処理部23は、サービスサーバ通信情報を保持する。なお、サービスサーバ通信情報については図8を参照して詳述するが、サービスサーバ通信情報は、IPアドレス、End Point Reference、ポートなどの各サービスサーバ30と通信するための情報を含む。通信処理部23は、サービスサーバ通信情報を参照し、該当するサービスサーバ30との通信を行う。   The communication processing unit 23 holds service server communication information. The service server communication information will be described in detail with reference to FIG. 8, but the service server communication information includes information for communicating with each service server 30 such as an IP address, an end point reference, and a port. The communication processing unit 23 refers to the service server communication information and performs communication with the corresponding service server 30.

各サービスサーバ30は、ゲートウェイサーバ20の指示に応じて、それぞれデータ種別の異なるデータを格納することによってデータを管理し、クライアント端末50からのリクエストに応じて、データ操作を実行することによってデータを処理し、クライアント端末50等にサービスを提供する。また、各サービスサーバ30にはそれぞれ異なるデータ種別のデータが保存されており、1つのサービスサーバ30には複数の利用事業者のデータが保存されている。   Each service server 30 manages data by storing data of different data types according to instructions from the gateway server 20, and executes data operations according to requests from the client terminal 50 to store data. Process and provide services to the client terminal 50 and the like. Each service server 30 stores data of different data types, and one service server 30 stores data of a plurality of service providers.

各外部サーバ40およびクライアント端末50は、ゲートウェイサーバ20に対して、データ操作リクエストを送信する。   Each external server 40 and the client terminal 50 transmit a data operation request to the gateway server 20.

次に、図2を参照して、ゲートウェイサーバ20によってなされる処理の一例について説明する。
図2は、要求処理統括管理部21、通信管理部22、および通信処理部23の呼び出しにおける関係を示している。なお、図2乃至図9では、データ操作の一例として各外部サーバ40から各サービスサーバ30にデータを登録する場合について説明するが、データ操作は、上述したようなデータの更新、データの削除などでもよい。
Next, an example of processing performed by the gateway server 20 will be described with reference to FIG.
FIG. 2 shows a relationship in calling the request processing overall management unit 21, the communication management unit 22, and the communication processing unit 23. 2 to 9, the case where data is registered from each external server 40 to each service server 30 as an example of data operation will be described. But you can.

外部サーバ40は、登録操作に関するリクエストデータとして、複数のデータ種別を有する登録データaを、要求処理統括管理部21に送る。要求処理統括管理部21は、外部サーバ40から受信したデータ登録リクエストに応じて、メインスレッドを起動する。また、要求処理統括管理部21は、データ所在情報24を参照し、登録データaを、サービスサーバ30−1によって管理されるデータ種別を有する登録データb−1、及び、サービスサーバ30−2によって管理されるデータ種別を有する登録データb−2、に分割する。   The external server 40 sends registration data a having a plurality of data types to the request processing overall management unit 21 as request data related to the registration operation. The request processing overall management unit 21 activates the main thread in response to the data registration request received from the external server 40. Further, the request processing overall management unit 21 refers to the data location information 24, and registers the registered data a by using the registered data b-1 having the data type managed by the service server 30-1 and the service server 30-2. The data is divided into registered data b-2 having a data type to be managed.

そして、要求処理統括管理部21は、登録データb−1及び登録データb−2を引数として、通信先のサービスサーバ30ごとに通信管理スレッドを通信管理部22に起動させるために、通信管理部22−1及び通信管理部22−2を呼び出す。このように、通信管理部22は、サービスサーバ30毎に個別に存在する。また、要求処理統括管理部21は、登録データb−1を通信管理部22−1に送り、登録データb−2を通信管理部22−2に送る。   Then, the request processing overall management unit 21 uses the registration data b-1 and the registration data b-2 as arguments, so that the communication management thread is activated by the communication management unit 22 for each service server 30 of the communication destination. 22-1 and the communication manager 22-2 are called. In this way, the communication management unit 22 exists individually for each service server 30. Further, the request processing overall management unit 21 sends the registration data b-1 to the communication management unit 22-1, and sends the registration data b-2 to the communication management unit 22-2.

なお、図2では要求処理統括管理部21が2つの通信管理部22を呼び出した場合を示しているが、要求処理統括管理部21は、登録データaを分割しない場合は、1つの通信管理部22を呼び出す。   FIG. 2 shows a case where the request processing overall management unit 21 calls two communication management units 22, but the request processing overall management unit 21 has one communication management unit when the registration data a is not divided. 22 is called.

次に、通信管理部22−1は、要求処理統括管理部21からの呼び出しに応じて、通信管理スレッドを起動する。また、通信管理部22−1は、サービスサーバ経路特性情報25を参照し、登録データb−1を、サービスサーバ30−1の経路特性に適したサイズを有する登録データc−1−1及び登録データc−1−2に分割する。   Next, the communication management unit 22-1 activates a communication management thread in response to a call from the request processing overall management unit 21. Further, the communication management unit 22-1 refers to the service server path characteristic information 25, registers the registration data b-1 and registration data c-1-1 having a size suitable for the path characteristic of the service server 30-1 and registration. Divide into data c-1-2.

そして、通信管理部22−1は、登録データc−1−1及び登録データc−1−2を引数として、ゲートウェイサーバ20とサービスサーバ30−1との間の1回の通信分ごとに通信処理スレッドを起動させるために、通信処理部23−1−1及び通信処理部23−1−2を呼び出す。また、通信管理部22−1は、登録データc−1−1を通信処理部23−1−1に送り、登録データc−1−2を通信処理部23−1−2に送る。   Then, the communication management unit 22-1 performs communication for each communication between the gateway server 20 and the service server 30-1 using the registration data c-1-1 and the registration data c-1-2 as arguments. In order to activate the processing thread, the communication processing unit 23-1-1 and the communication processing unit 23-1-2 are called. In addition, the communication management unit 22-1 sends registration data c-1-1 to the communication processing unit 23-1-1 and sends registration data c-1-2 to the communication processing unit 23-1-2.

同様に、通信管理部22−2は、要求処理統括管理部21からの呼び出しに応じて、通信管理スレッドを起動する。また、通信管理部22−2は、サービスサーバ経路特性情報25を参照し、登録データb−2を、サービスサーバ30−2の経路特性に適したサイズを有する登録データc−2−1及び登録データc−2−2に分割する。   Similarly, the communication management unit 22-2 activates a communication management thread in response to a call from the request processing overall management unit 21. Further, the communication management unit 22-2 refers to the service server path characteristic information 25, registers the registration data b-2, registration data c-2-1 having a size suitable for the path characteristic of the service server 30-2, and registration. Divide into data c-2-2.

そして、通信管理部22−2は、登録データc−2−1及び登録データc−2−2を引数として、ゲートウェイサーバ20とサービスサーバ30−2との間の1回の通信分ごとに通信処理スレッドを起動させるために、通信処理部23−2−1及び通信処理部23−2−2を呼び出す。また、通信管理部22−2は、登録データc−2−1を通信処理部23−2−1に送り、登録データc−2−2を通信処理部23−2−2に送る。   Then, the communication management unit 22-2 performs communication for each communication between the gateway server 20 and the service server 30-2 using the registration data c-2-1 and the registration data c-2-2 as arguments. In order to activate the processing thread, the communication processing unit 23-2-1 and the communication processing unit 23-2-2 are called. In addition, the communication management unit 22-2 sends registration data c-2-1 to the communication processing unit 23-2-1 and sends registration data c-2-2 to the communication processing unit 23-2-2.

なお、図2では、通信処理部23は、1つの通信管理部22に対して2つ存在する例を示しているが、これは一例に過ぎず、例えば、通信処理部23−1−1と通信処理部23−1−2とを、1つの通信処理部23−1(図示せず)で共有し、通信処理部23−2−1と通信処理部23−2−2とを、1つの通信処理部23−2(図示せず)で共有してもよい。   2 shows an example in which two communication processing units 23 exist for one communication management unit 22, this is merely an example. For example, the communication processing units 23-1-1 and The communication processing unit 23-1-2 is shared by one communication processing unit 23-1 (not shown), and the communication processing unit 23-2-1 and the communication processing unit 23-2-2 are You may share with the communication process part 23-2 (not shown).

通信処理部23−1−1は、通信管理部22−1からの呼び出しに応じて、通信処理スレッドを起動する。そして、登録データc−1−1に関する登録操作を、サービスサーバ30−1に依頼する。なお、通信処理部23−1は、サービスサーバ通信情報26を参照し、サービスサーバ30−1と通信する。   The communication processing unit 23-1-1 activates a communication processing thread in response to a call from the communication management unit 22-1. And the registration operation regarding registration data c-1-1 is requested to the service server 30-1. The communication processing unit 23-1 refers to the service server communication information 26 and communicates with the service server 30-1.

また、通信処理部23−1−2は、通信管理部22−1からの呼び出しに応じて、通信処理スレッドを起動する。そして、登録データc−1−2に関する登録操作を、サービスサーバ30−1に依頼する。なお、通信処理部23−1−2は、サービスサーバ通信情報26を参照し、サービスサーバ30−1と通信する。   In addition, the communication processing unit 23-1-2 activates a communication processing thread in response to a call from the communication management unit 22-1. And the registration operation regarding registration data c-1-2 is requested to the service server 30-1. The communication processing unit 23-1-2 refers to the service server communication information 26 and communicates with the service server 30-1.

同様に、通信処理部23−2−1は、通信管理部22−2からの呼び出しに応じて、通信処理スレッドを起動する。そして、登録データc−2−1に関する登録操作を、サービスサーバ30−2に依頼する。なお、通信処理部23−2−1は、サービスサーバ通信情報26を参照し、サービスサーバ30−2と通信する。   Similarly, the communication processing unit 23-2-1 activates a communication processing thread in response to a call from the communication management unit 22-2. Then, a registration operation regarding the registration data c-2-1 is requested to the service server 30-2. The communication processing unit 23-2-1 refers to the service server communication information 26 and communicates with the service server 30-2.

また、通信処理部23−2−2は、通信管理部22−2からの呼び出しに応じて、通信処理スレッドを起動する。そして、登録データc−2−2に関する登録操作を、サービスサーバ30−2に依頼する。なお、通信処理部23−2−2は、サービスサーバ通信情報26を参照し、サービスサーバ30−2と通信する。   In addition, the communication processing unit 23-2-2 activates a communication processing thread in response to a call from the communication management unit 22-2. Then, a registration operation regarding the registration data c-2-2 is requested to the service server 30-2. The communication processing unit 23-2-2 refers to the service server communication information 26 and communicates with the service server 30-2.

次に、図3を参照して、要求処理統括管理部21によって実行される処理の一例について説明する。
なお、図3乃至図9では、一例として、3つのサービスサーバ30−1、サービスサーバ30−2、およびサービスサーバ30−3を用いる場合について説明するが、用いるサービスサーバ30の数は3つに限定する必要はなく、例えば、2つ、4つ、あるいはそれ以上のサービスサーバ30を用いてもよい。
Next, an example of processing executed by the request processing overall management unit 21 will be described with reference to FIG.
3 to 9, as an example, a case where three service servers 30-1, 30-2, and 30-3 are used will be described. However, the number of service servers 30 used is three. For example, two, four, or more service servers 30 may be used.

要求処理統括管理部21は、データ登録操作リクエストを受信すると(ステップS20)、メインスレッドを起動する(ステップS21)。次に、メインスレッドにおいて、登録データaを読み込む(ステップS22)。そして、読み込まれた登録データaを格納先となるサービスサーバ30ごとの登録データb−1,b−2,b−3に分割するために、登録データaの全単位、たとえばレコードについて、当該単位中のデータ種別に基づいて格納先となるサービスサーバ30を判別する処理を繰り返し行う(ステップS23)。   When receiving the data registration operation request (step S20), the request processing overall management unit 21 activates the main thread (step S21). Next, the registration data a is read in the main thread (step S22). Then, in order to divide the read registration data a into registration data b-1, b-2, b-3 for each service server 30 serving as a storage destination, all the units of the registration data a, for example, the unit concerned, are recorded. The process of discriminating the service server 30 that is the storage destination based on the data type in the inside is repeated (step S23).

登録データaに含まれる全単位について繰り返し実施する内容は以下の通りである。まず、登録データaの各単位について、データ種別に該当するデータの格納先となるサービスサーバ30を判定する(ステップS24)。   The contents to be repeatedly executed for all the units included in the registration data a are as follows. First, for each unit of registered data a, the service server 30 that is a storage destination of data corresponding to the data type is determined (step S24).

そして、サービスサーバ30−1に登録データaの当該単位のデータを格納すると判定した場合、登録データaの当該単位のデータを登録データb−1に追加する(ステップS25−1)。一方、サービスサーバ30−2に登録データaの当該単位のデータを格納すると判定した場合、登録データaの当該単位のデータを登録データb−2に追加する(ステップS25−2)。あるいは、サービスサーバ30−3に登録データaの当該単位のデータを格納すると判定した場合、登録データaの当該単位のデータを登録データb−3に追加する(ステップS25−3)。   And when it determines with storing the data of the said unit of registration data a in the service server 30-1, the data of the said unit of registration data a are added to registration data b-1 (step S25-1). On the other hand, if it is determined that the unit of registration data a is stored in the service server 30-2, the unit of registration data a is added to the registration data b-2 (step S25-2). Alternatively, when it is determined that the unit of registration data a is stored in the service server 30-3, the unit of registration data a is added to the registration data b-3 (step S25-3).

次に、登録データb−1,b−2,b−3の作成が完了したか否かを判定する(ステップS26)。なお、ステップS26における処理は、例えば、ステップS23乃至ステップS26の処理が実行された回数が、予め設定された回数に達しているか否かを判定する処理でもよい。登録データb−1,b−2,b−3の作成が完了した場合(ステップS26のYES)、後述するステップS26の処理を行う。登録データb−1,b−2,b−3の作成が完了していない場合(ステップS26のNO)、ステップS23に戻り、登録データaの次の単位に対する追加処理を行う。ステップS23において、追加処理を行う登録データaの次の単位がない場合、ステップS23乃至ステップS26の繰り返し行われる追加処理を行うことなく、ステップS27に進む。   Next, it is determined whether or not the creation of registration data b-1, b-2, and b-3 is completed (step S26). In addition, the process in step S26 may be a process of determining whether or not the number of times the process in steps S23 to S26 has been performed has reached a preset number. When the creation of the registration data b-1, b-2, b-3 is completed (YES in step S26), the process of step S26 described later is performed. If the creation of the registration data b-1, b-2, b-3 has not been completed (NO in step S26), the process returns to step S23 to perform an additional process for the next unit of the registration data a. In step S23, when there is no next unit of the registration data a to be subjected to the addition process, the process proceeds to step S27 without performing the addition process that is repeatedly performed in steps S23 to S26.

要求処理統括管理部21は、ステップS23またはステップS26の後、すなわち、登録データb−1,b−2,b−3の作成が完了した後、登録データb−1を引数として通信管理部22−1を呼び出す(ステップS27)。次に、登録データb−2を引数として通信管理部22−2を呼び出す(ステップS28)。次に、登録データb−3を引数として通信管理部22−3を呼び出す(ステップS29)。なお、ステップS27、ステップS28、ステップS29の処理の順序は、図3に示す順番でなくてもよい。例えば、ステップS28またはステップS29の処理の後、ステップS27の処理を行ってもよい。   After step S23 or step S26, that is, after the creation of the registration data b-1, b-2, b-3 is completed, the request processing overall management unit 21 uses the registration data b-1 as an argument and the communication management unit 22 -1 is called (step S27). Next, the communication management unit 22-2 is called with the registration data b-2 as an argument (step S28). Next, the communication management unit 22-3 is called with the registration data b-3 as an argument (step S29). Note that the order of the processing of step S27, step S28, and step S29 may not be the order shown in FIG. For example, step S27 may be performed after step S28 or step S29.

要求処理統括管理部21は、ステップS29の後、呼び出した全ての通信管理部22−1,22−2,22−3からの応答が揃うまで待機する(ステップS30)。呼び出した全ての通信管理部22−1,22−2,22−3からの応答があった際、換言すると並列起動させた通信管理スレッドが終了した場合、各通信管理部22−1,22−2,22−3から返却されたリクエスト結果を、リクエスト元である外部サーバ40またはクライアント端末50に返却する(ステップS31)。   After step S29, the request processing overall management unit 21 waits until responses from all the communication management units 22-1, 22-2, and 22-3 that have been called are completed (step S30). When there is a response from all of the called communication management units 22-1, 22-2, and 22-3, in other words, when the communication management thread that has been activated in parallel ends, each communication management unit 22-1, 22-2 2 and 22-3, the request result returned to the external server 40 or the client terminal 50 that is the request source is returned (step S31).

次に、図4を参照して、通信管理部22によって実行される処理の一例について説明する。
通信管理部22―n(nは、例えば1〜3)は、要求処理統括管理部21からの呼び出しに応じて(ステップS40)、登録データb―nを引数として通信管理スレッドを起動する(ステップS41)。次に、通信管理部22―nは、登録データb―nをサービスサーバ30に適したリクエスト件数に分割し、登録データc―n―1,c―n―2を生成する(ステップS42)。
Next, an example of processing executed by the communication management unit 22 will be described with reference to FIG.
In response to a call from the request processing overall management unit 21 (step S40), the communication management unit 22-n (n is, for example, 1 to 3) starts a communication management thread with the registration data b-n as an argument (step S40). S41). Next, the communication management unit 22-n divides the registration data b-n into the number of requests suitable for the service server 30, and generates registration data c-n-1, c-n-2 (step S42).

次に、登録データc−n−1を引数として、登録データc−n−1に対応する通信処理部23−n−1を呼び出す(ステップS43)。また、通信管理部22―nは、登録データc−n−2を引数として、登録データc−n−2に対応する通信処理部23−n−2を呼び出す(ステップS44)。   Next, the communication processing unit 23-n-1 corresponding to the registration data cn-1 is called using the registration data cn-1 as an argument (step S43). Also, the communication management unit 22-n calls the communication processing unit 23-n-2 corresponding to the registration data cn-2 using the registration data cn-2 as an argument (step S44).

通信管理部22―nは、ステップS43−1またはステップS43−2の後、呼び出した全ての通信処理部23−n−1,23−n−2からの応答が揃うまで待機する(ステップS45)。通信管理部22−nは、呼び出した全ての通信処理部23−n−1,23−n−2からの応答があった際、換言すると並列起動させた通信処理スレッドが終了した場合、処理結果を要求処理統括管理部21に、すなわちメインスレッドに、返却する(ステップS46)。   After step S43-1 or step S43-2, the communication management unit 22-n waits until responses from all the communication processing units 23-n-1, 23-n-2 that have been called are completed (step S45). . When there is a response from all of the called communication processing units 23-n-1, 23-n-2, in other words, when the communication processing thread activated in parallel ends, the communication management unit 22-n Is returned to the request processing overall management unit 21, that is, to the main thread (step S46).

次に、図5を参照して、通信処理部23によって実行される処理の一例について説明する。
通信処理部23―n−1(nは、例えば1〜3)及び通信処理部23―n−2の各々は、通信管理部22−nからの呼び出しに応じて(ステップS50)、登録データc―n−1及び登録データc―n−2の各々を引数として通信処理スレッドを起動する(ステップS51)。通信処理部23―n−1及び通信処理部23―n−2の各々は、対応するサービスサーバ30−nにデータ登録を依頼し、処理結果をサービスサーバ30―nの各々から取得する(ステップS52)。通信処理部23―n−1及び通信処理部23―n−2の各々は、取得した処理結果を対応する通信管理部22―nに返却する(ステップS53)。
Next, an example of processing executed by the communication processing unit 23 will be described with reference to FIG.
Each of the communication processing unit 23-n-1 (n is, for example, 1 to 3) and the communication processing unit 23-n-2 responds to a call from the communication management unit 22-n (step S50), and registration data c -A communication processing thread is activated with each of n-1 and registered data c-n-2 as arguments (step S51). Each of the communication processing unit 23-n-1 and the communication processing unit 23-n-2 requests data registration from the corresponding service server 30-n, and obtains a processing result from each of the service servers 30-n (steps). S52). Each of the communication processing unit 23-n-1 and the communication processing unit 23-n-2 returns the acquired processing result to the corresponding communication management unit 22-n (step S53).

次に、図6乃至図8を参照して、ゲートウェイサーバ20の各部によって保持される情報の一例について説明する。各部は、各々の役割に応じて、各部の処理において必要な設定データを保持する。   Next, an example of information held by each unit of the gateway server 20 will be described with reference to FIGS. Each unit holds setting data necessary for processing of each unit according to each role.

まず、図6を参照して、要求処理統括管理部21によって保持される情報を示すデータベース構造の一例について説明する。
要求処理統括管理部21は、データ所在情報24を保持する。上述したように、データ所在情報24は、リクエストデータをサービスサーバ30ごとに分割するために必要な情報を含む。また、データ所在情報24は、リクエストデータ内に含まれる各データ種別が格納されているサービスサーバ30を特定するための情報でもある。
First, an example of a database structure indicating information held by the request processing overall management unit 21 will be described with reference to FIG.
The request processing overall management unit 21 holds data location information 24. As described above, the data location information 24 includes information necessary for dividing the request data for each service server 30. The data location information 24 is also information for specifying the service server 30 in which each data type included in the request data is stored.

データ所在情報24は、図6に示すように、例えば、データ種別情報24−a及び格納先サービスサーバ情報24―bを有する。   As shown in FIG. 6, the data location information 24 includes, for example, data type information 24-a and storage destination service server information 24-b.

データ種別情報24−aは、データの種別を示す情報である。データ種別情報24−aは、図6に示すように、例えば、診療に関する診療レセプト情報、介護に関する介護レセプト情報、および健康診断に関する健康診断情報の要素を有する。   The data type information 24-a is information indicating the type of data. As shown in FIG. 6, the data type information 24-a includes, for example, medical receipt information related to medical care, care receipt information related to care, and health check information related to health checkup.

格納先サービスサーバ情報24―bは、データの格納先であるサービスサーバ30に関する情報である。格納先サービスサーバ情報24―bは、図6に示すように、例えば、サービスサーバ1、サービスサーバ2、およびサービスサーバ3の要素を有する。   The storage destination service server information 24-b is information related to the service server 30 that is a data storage destination. The storage destination service server information 24-b includes, for example, elements of a service server 1, a service server 2, and a service server 3, as shown in FIG.

データ種別情報24−aの各要素は、サービスサーバ情報24―bの各要素に一対一に関連付けられており、各サービスサーバ30によって格納されるデータ種別を示している。   Each element of the data type information 24-a is associated with each element of the service server information 24-b on a one-to-one basis, and indicates a data type stored by each service server 30.

次に、図7を参照して、通信管理部22によって保持される情報を示すデータベース構造の一例について説明する。
通信管理部22は、サービスサーバ経路特性情報25を保持する。上述したように、サービスサーバ経路特性情報25は、1回の通信で適切なサイズを特定するための情報を含む。また、サービスサーバ経路特性情報25は、サービスサーバ識別情報25−a毎に、サービスサーバ30の性能による最適値に関する情報(サーバ性能要素情報25―b)、及び、サービスサーバ30への経路の性能による最適値に関する情報(経路特性要素情報25―c)も含む。
Next, an example of a database structure indicating information held by the communication management unit 22 will be described with reference to FIG.
The communication management unit 22 holds service server path characteristic information 25. As described above, the service server path characteristic information 25 includes information for specifying an appropriate size in one communication. The service server route characteristic information 25 includes, for each service server identification information 25-a, information related to an optimum value based on the performance of the service server 30 (server performance element information 25-b), and the performance of the route to the service server 30. Also includes information on the optimum value (route characteristic element information 25-c).

最適値としては、通信管理部22によって保持されているサービスサーバ30に対するリクエスト件数に基づき、各サービスサーバ30におけるリクエスト件数のうちリクエスト件数の少ない値を、最適値としてもよい。または、通信管理部22によって保持されている上述したような適切なデータサイズに基づき、例えば、適切なデータサイズをリクエストデータの1単位の記録サイズで除算した値を最適値として、通信管理部22等によって算出してもよい。   As the optimum value, based on the number of requests to the service server 30 held by the communication management unit 22, a value having a small number of requests among the number of requests in each service server 30 may be set as the optimum value. Alternatively, based on the appropriate data size as described above held by the communication management unit 22, for example, a value obtained by dividing the appropriate data size by the recording size of one unit of request data is set as the optimum value, and the communication management unit 22 It may be calculated by, for example.

具体的には、図7に示すように、サービスサーバ経路特性情報25は、サービスサーバ識別情報25−a、サーバ性能要素情報25−b、及び経路特性要素情報25−cを有する。   Specifically, as shown in FIG. 7, the service server path characteristic information 25 includes service server identification information 25-a, server performance element information 25-b, and path characteristic element information 25-c.

サービスサーバ識別情報25−aは、各サービスサーバを識別するための情報であり、図7に示すように、例えば、サービスサーバ1、サービスサーバ2、およびサービスサーバ3の要素を有する。   The service server identification information 25-a is information for identifying each service server, and includes, for example, elements of the service server 1, the service server 2, and the service server 3 as illustrated in FIG.

また、サーバ性能要素情報25−b及び経路特性要素情報25−cは、各サービスサーバ30に一対一に関連付けられている。例えば、図7に示すように、サービスサーバ1は、100件を最適値とするサーバ性能要素情報25―bの要素、及び、200件を最適値とする経路特性要素25―cの要素、に関連付けられている。同様に、サービスサーバ2は、200件を最適値とするサーバ性能要素情報25―bの要素、及び、200件を最適値とする経路特性要素25―cの要素、に関連付けられている。また、サービスサーバ3は、300件を最適値とするサーバ性能要素情報25―bの要素、及び、200件を最適値とする経路特性要素25―cの要素、に関連付けられている。   The server performance element information 25-b and the path characteristic element information 25-c are associated with each service server 30 on a one-to-one basis. For example, as illustrated in FIG. 7, the service server 1 includes the server performance element information 25-b having 100 cases as an optimum value and the route characteristic element 25-c having 200 cases as an optimum value. Associated. Similarly, the service server 2 is associated with the element of the server performance element information 25-b having 200 cases as the optimum value and the element of the path characteristic element 25-c having 200 cases as the optimum value. Further, the service server 3 is associated with an element of the server performance element information 25-b having 300 optimum values and an element of the path characteristic element 25-c having 200 optimum values.

次に、図8を参照して、通信処理部23によって保持される情報を示すデータベース構造の一例について説明する。
通信処理部23は、サービスサーバ通信情報26を保持する。上述したように、サービスサーバ通信情報26は、サービスサーバ識別情報26−a毎に、End Point Reference情報26―b、IPアドレス情報26−c、及びポートなどの各サービスサーバ30と通信するための情報を含む。
Next, an example of a database structure indicating information held by the communication processing unit 23 will be described with reference to FIG.
The communication processing unit 23 holds service server communication information 26. As described above, the service server communication information 26 is communicated with each service server 30 such as the end point reference information 26-b, the IP address information 26-c, and the port for each service server identification information 26-a. Contains information.

サービスサーバ識別情報26―aの各要素は、図8に示すように、End Point Reference情報26―bの各要素、及び、IPアドレス情報26−cの各要素と一対一に関連付けられている。例えば、サービスサーバ1は、「xxxxx」で示されるEnd Point Reference情報26―bの要素、及び、「xx.xx.xx.xx」で示されるIPアドレス情報26−cの要素、に関連付けられている。   As shown in FIG. 8, each element of the service server identification information 26-a is associated with each element of the End Point Reference information 26-b and each element of the IP address information 26-c on a one-to-one basis. For example, the service server 1 is associated with an element of End Point Reference information 26-b indicated by “xxxxxxxx” and an element of IP address information 26-c indicated by “xxx.xxx.xxx.xx”. Yes.

次に、図9を参照して、ゲートウェイサーバ20の各部によって引き渡されるデータの一例について説明する。
外部サーバ40から要求処理統括管理部21に引き渡されるデータである「登録データa」は、様々なユーザ属性を有する複数のユーザに関するデータ、及び、複数のデータ種別に関するデータを含んでいる。
Next, an example of data delivered by each unit of the gateway server 20 will be described with reference to FIG.
The “registration data a” that is data delivered from the external server 40 to the request processing overall management unit 21 includes data relating to a plurality of users having various user attributes and data relating to a plurality of data types.

「登録データa」は、例えば、図9に示すような引き渡しデータベース90として表される。具体的には、引き渡しデータベース90は、ユーザ識別情報90−a、データ種別情報90―b、及びユーザ属性情報90−cを含む。また、データ種別情報90−bは、診療レセプト情報90−d、介護レセプト情報90−e、及び健康診断情報90―fを含む。また、ユーザ属性情報90−cは、所属保険者情報90―g及び居住地情報90−hを含む。   “Registered data a” is represented, for example, as a delivery database 90 as shown in FIG. Specifically, the delivery database 90 includes user identification information 90-a, data type information 90-b, and user attribute information 90-c. The data type information 90-b includes medical receipt information 90-d, care receipt information 90-e, and health check information 90-f. The user attribute information 90-c includes belonging insurer information 90-g and residence information 90-h.

より詳細には、ユーザ識別情報90−a毎に、診療レセプト情報90−d、介護レセプト情報90−e、健康診断情報90―f、所属保険者情報90―g、及び居住地情報90−hが関連付けられている。例えば、UserAで示されるユーザ識別情報90−aには、「xxAA」で示される診療レセプト情報90−dの要素、「yyAA」で示される介護レセプト情報90−eの要素、「zzAA」で示される健康診断情報90−fの要素、「国民健康保険」で示される所属保険者情報90−gの要素、及び、「自治体X」で示される居住地情報90−dhの要素が関連付けられている。   More specifically, for each user identification information 90-a, medical receipt information 90-d, care receipt information 90-e, health check information 90-f, belonging insurer information 90-g, and residence information 90-h Is associated. For example, in the user identification information 90-a indicated by UserA, the element of the medical receipt information 90-d indicated by “xxAA”, the element of the care reception information 90-e indicated by “yyAA”, indicated by “zzAA” Are associated with an element of health check information 90-f, an element of insurer information 90-g indicated by "National Health Insurance", and an element of residence information 90-dh indicated by "Local Government X". .

要求処理統括管理部21から通信管理部21−1,21−2,21−3の各々に引き渡されるデータである登録データ92(b−1),92(b−2),92(b−3)は、それぞれ、サービスサーバ30−1,30−2,30−3の各々に格納されるデータ種別に関するリクエストデータのみが抜粋されたデータである。   Registration data 92 (b-1), 92 (b-2), and 92 (b-3) that are data delivered from the request processing overall management unit 21 to each of the communication management units 21-1, 21-2, and 21-3. ) Is data obtained by extracting only request data related to data types stored in the service servers 30-1, 30-2, and 30-3, respectively.

具体的には、登録データ92(b−1)は、登録データa 90から、ユーザ識別情報90−a毎に診療レセプト情報90−dが抜粋されたデータである。同様に、登録データ92(b−2)は、登録データa 90から、ユーザ識別情報90−a毎に介護レセプト情報90−eが抜粋されたデータである。また、登録データ92(b−3)は、登録データa 90から、ユーザ識別情報90−a毎に健康診断レセプト情報90−fが抜粋されたデータである。   Specifically, the registration data 92 (b-1) is data obtained by extracting the medical receipt information 90-d for each user identification information 90-a from the registration data a 90. Similarly, the registration data 92 (b-2) is data obtained by extracting the care receipt information 90-e for each user identification information 90-a from the registration data a 90. The registration data 92 (b-3) is data obtained by extracting the health checkup receipt information 90-f for each user identification information 90-a from the registration data a90.

また、登録データ94(c−1−1),94(c−1−2)は、通信管理部22−1から通信処理部23−1−1及び通信処理部23−1−2に引き渡されるリクエストデータであり、サービスサーバ30−1の性能及びサービスサーバ30−1までの経路の特性に適したサイズに切り分けられている。   The registration data 94 (c-1-1) and 94 (c-1-2) are delivered from the communication management unit 22-1 to the communication processing unit 23-1-1 and the communication processing unit 23-1-2. The request data is divided into sizes suitable for the performance of the service server 30-1 and the characteristics of the route to the service server 30-1.

具体的には、登録データ94(c−1−1)は、UserAに関する診療レセプト情報90−d及びUserBに関する診療レセプト情報90−dを含む100件の診療レセプト情報90−dを有している。一方、登録データ94(c−1−2)は、UserCに関する診療レセプト情報90−d及びUserDに関する診療レセプト情報90−dを含む100件の診療レセプト情報90−dを有している。   Specifically, the registration data 94 (c-1-1) includes 100 pieces of medical receipt information 90-d including the medical receipt information 90-d related to UserA and the medical receipt information 90-d related to UserB. . On the other hand, the registration data 94 (c-1-2) has 100 pieces of medical receipt information 90-d including the medical receipt information 90-d related to UserC and the medical receipt information 90-d related to UserD.

同様に、図示していないが、通信管理部22−2から通信処理部23−2−1及び通信処理部23−2−2に引き渡されるデータである登録データ94(c−2−1)及び登録データ94(c−2−2)も存在する。これら登録データ94(c−2−1)および登録データ94(c−2−2)の各々も同様に、サービスサーバ30−2の性能及びサービスサーバ30−2までの経路の特性に適したサイズに切り分けられている。   Similarly, although not shown, registration data 94 (c-2-1), which is data delivered from the communication management unit 22-2 to the communication processing unit 23-2-1 and the communication processing unit 23-2-2, and Registration data 94 (c-2-2) also exists. Similarly, each of the registration data 94 (c-2-1) and the registration data 94 (c-2-2) has a size suitable for the performance of the service server 30-2 and the characteristics of the route to the service server 30-2. It is carved into.

また、同様に、図示していないが、通信管理部22−3から通信処理部23−3−1及び通信処理部23−3−2に引き渡されるデータである登録データ94(c−3−1)及び登録データ94(c−3−2)も存在する。これら登録データ94(c−3−1)および登録データ94(c−3−2)の各々も同様に、サービスサーバ30−3の性能及びサービスサーバ30−3までの経路の特性に適したサイズに切り分けられている。   Similarly, although not shown, registration data 94 (c-3-1) which is data delivered from the communication management unit 22-3 to the communication processing unit 23-3-1 and the communication processing unit 23-3-2. ) And registration data 94 (c-3-2). Similarly, each of the registration data 94 (c-3-1) and the registration data 94 (c-3-2) has a size suitable for the performance of the service server 30-3 and the characteristics of the route to the service server 30-3. It is carved into.

以上のような第1の実施形態によって、次のような効果を得ることができる。
リクエストに含まれるデータ種別やデータオーナの所属等に応じて、各スレッドで処理する単位を適切に切り分けてマルチスレッド処理を実行し、通信処理の回数を最小化することが可能となる。また、各スレッドにおいてデータ操作対象となるサービスサーバ30と通信する際に、相手サーバの能力やネットワーク環境に応じて更にスレッド分割を行い、通信処理を最適化することが可能となる。したがって、階層的なマルチスレッド処理による高速化が可能となる。
According to the first embodiment as described above, the following effects can be obtained.
Depending on the data type included in the request, the affiliation of the data owner, etc., it is possible to appropriately divide the unit to be processed in each thread and execute the multi-thread process, thereby minimizing the number of communication processes. Further, when communicating with the service server 30 that is a data operation target in each thread, it is possible to further perform thread division according to the capability of the partner server and the network environment to optimize the communication processing. Therefore, it is possible to increase the speed by hierarchical multithread processing.

また、より詳細には、リクエストの中身に応じてデータを切り分け、階層的にマルチスレッド化することにより、通信処理の回数を最小化すると共に、各スレッドの対象となる通信相手の能力に応じて、通信処理をそれぞれ最適化することが可能となる。これにより、並列処理システム10内の複数のサービスサーバ30へのデータ操作要求を高速に処理することが可能となる。また、配信先のサービスサーバ30の性能に応じてリクエストデータのサイズを切り分けて、階層的にマルチスレッド化し、並列処理を実行することによって、高速化が可能となる。
(第2の実施形態)
以下、図10及び図11を参照して本発明に係る第2の実施形態を説明する。
なお、以下では、第1の実施形態において示した構成と異なる部分を中心に説明する。そのため、第1の実施形態と共通する要素には同一の符号を付し、重複する説明を省略する。
In more detail, the number of communication processes is minimized by separating the data according to the contents of the request and hierarchically multi-threading, and depending on the ability of the communication partner that is the target of each thread. The communication processing can be optimized. This makes it possible to process data operation requests to the plurality of service servers 30 in the parallel processing system 10 at high speed. In addition, the request data size is divided according to the performance of the service server 30 that is the distribution destination, hierarchically multi-threaded, and parallel processing is executed, so that the speed can be increased.
(Second Embodiment)
Hereinafter, a second embodiment according to the present invention will be described with reference to FIGS. 10 and 11.
In the following, the description will focus on parts different from the configuration shown in the first embodiment. Therefore, the same code | symbol is attached | subjected to the element which is common in 1st Embodiment, and the overlapping description is abbreviate | omitted.

図10は、本発明の第2の実施形態の並列処理システム100の構成例を示す図である。
第2の実施形態の並列処理システム100は、第1の実施形態の並列処理システム10に対して認証サーバ110をさらに加えた構成である。また、第2の実施形態の並列処理システム100は、並列処理システム100を利用するために認証が必要な場合を想定しており、認証サーバ110によって発行される認証トークンを利用する。
FIG. 10 is a diagram illustrating a configuration example of the parallel processing system 100 according to the second embodiment of this invention.
The parallel processing system 100 according to the second embodiment has a configuration in which an authentication server 110 is further added to the parallel processing system 10 according to the first embodiment. Also, the parallel processing system 100 of the second embodiment assumes a case where authentication is required to use the parallel processing system 100, and uses an authentication token issued by the authentication server 110.

認証サーバ110は、ゲートウェイサーバ20及び各サービスサーバ30−1,30−2,・・・,30−Nと接続されており、認証が必要な場合、認証トークンを発行する。   The authentication server 110 is connected to the gateway server 20 and the service servers 30-1, 30-2,..., 30-N, and issues an authentication token when authentication is necessary.

次に、図11を参照して、第2の実施形態の並列処理システム100によってなされる処理シーケンスの一例について説明する。
並列処理システム100は、マルチスレッド処理を実行する際、次のような処理をさらに実行する。
ゲートウェイサーバ20は、クライアント端末50または外部サーバ40からのデータ操作リクエストに応じて、リクエスト元のクライアント端末50または外部サーバ40の認証トークンが必要な場合、擬似的な認証を行う(ステップS111)。認証トークンは、例えば、ゲートウェイサーバ20上で動作する各スレッドの起動時に、クライアント端末50に対応するユーザに対して認証済みであることを示すトークンである。また、擬似的な認証とは、ゲートウェイサーバ20において保持されているハッシュ化されたID/パスワードを用いて、各外部サーバ40と接続する際に行われる認証である。
Next, an example of a processing sequence performed by the parallel processing system 100 according to the second embodiment will be described with reference to FIG.
The parallel processing system 100 further executes the following processing when executing multithread processing.
In response to a data operation request from the client terminal 50 or the external server 40, the gateway server 20 performs pseudo authentication when an authentication token of the requesting client terminal 50 or the external server 40 is required (step S111). The authentication token is, for example, a token indicating that the user corresponding to the client terminal 50 has been authenticated when each thread operating on the gateway server 20 is activated. The pseudo authentication is authentication performed when connecting to each external server 40 using the hashed ID / password held in the gateway server 20.

次に、ゲートウェイサーバ20は、擬似的な認証に成功した場合、認証サーバ110に対して認証トークンの発行を要求する(ステップS113)。認証サーバ110は、この要求に応じて認証トークンを発行し(ステップS115)、発行した認証トークンをゲートウェイサーバ20に送信する。   Next, when the pseudo authentication is successful, the gateway server 20 requests the authentication server 110 to issue an authentication token (step S113). The authentication server 110 issues an authentication token in response to this request (step S115), and transmits the issued authentication token to the gateway server 20.

次に、ゲートウェイサーバ20は、並列動作するスレッド間において使用される認証トークンが競合しないように、受信した認証トークンを各スレッドに対して複製する(ステップS117)。換言すると、ゲートウェイサーバ20は、各スレッドに対して認証トークンのインスタンスを生成する。ゲートウェイサーバ20は、複製した認証トークンを各スレッドに対して使用して、各サービスサーバ30に対して並列処理を実行させる(ステップS119)。   Next, the gateway server 20 replicates the received authentication token for each thread so that authentication tokens used between threads operating in parallel do not compete with each other (step S117). In other words, the gateway server 20 generates an instance of an authentication token for each thread. The gateway server 20 uses the duplicated authentication token for each thread and causes each service server 30 to execute parallel processing (step S119).

以上のような第2の実施形態の並列処理システム100によって、次のような効果を得ることができる。
すなわち、第2の実施形態では、認証が必要な場合であっても、認証サーバ110を用いることによって、複数のサービスサーバ30−1,30−2,・・・,30−Nに対するデータ操作処理を並列的に高速に実行することが可能となる。また、各スレッドが並列的に動作する場合であっても、認証トークンが競合することなく認証トークンを利用することが可能となる。また、各サービスサーバ30−1,30−2,・・・,30−Nにおいてリクエスト元である各外部サーバ40を判別することが可能となる。
(第3の実施形態)
以下、図12及び図13を参照して本発明に係る第3の実施形態を説明する。
なお、以下では、第1の実施形態及び第2の実施形態において示した構成と異なる部分を中心に説明する。そのため、第1の実施形態及び第2の実施形態と共通する要素には同一の符号を付し、重複する説明を省略する。
With the parallel processing system 100 of the second embodiment as described above, the following effects can be obtained.
That is, in the second embodiment, even when authentication is required, by using the authentication server 110, data operation processing for a plurality of service servers 30-1, 30-2,. Can be executed in parallel at high speed. Further, even when the threads operate in parallel, the authentication token can be used without the authentication token competing. In addition, each service server 30-1, 30-2,..., 30-N can determine each external server 40 that is a request source.
(Third embodiment)
A third embodiment according to the present invention will be described below with reference to FIGS.
In the following, the description will focus on parts different from the configurations shown in the first embodiment and the second embodiment. Therefore, the same code | symbol is attached | subjected to the element which is common in 1st Embodiment and 2nd Embodiment, and the overlapping description is abbreviate | omitted.

第3の実施形態の並列処理システム120は、第2の実施形態の並列処理システム100における認証サーバ110の代わりに認証サーバ130を備えた構成である。この構成は、並列処理システム120が、認証サーバ130を使用して、ユーザIDを分散管理する場合を想定している。より詳細には、並列処理システム120は、サービスサーバ30−1,30−2,・・・,30−N間の通信において、ユーザIDを分散管理するために、ユーザ識別子として実ユーザIDを使用せず、各ユーザに対して付与する仲介用の仲介IDを使用する。仲介IDは、認証サーバ130と各サービスサーバ30−1,30−2,・・・,30−Nとの間で連携処理を実行するために使用される。   The parallel processing system 120 according to the third embodiment is configured to include an authentication server 130 instead of the authentication server 110 in the parallel processing system 100 according to the second embodiment. This configuration assumes that the parallel processing system 120 uses the authentication server 130 to manage user IDs in a distributed manner. More specifically, the parallel processing system 120 uses real user IDs as user identifiers to manage user IDs in communication between the service servers 30-1, 30-2,..., 30-N. Without using the mediation ID for mediation given to each user. The mediation ID is used to execute cooperation processing between the authentication server 130 and each service server 30-1, 30-2,..., 30-N.

まず、図12を参照して、並列処理システム120の構成例について説明する。
認証サーバ130は、通信処理部131及びデータ操作部132を備える。また、認証サーバ130は、ユーザ情報133及びID連携情報134を保持する。
First, a configuration example of the parallel processing system 120 will be described with reference to FIG.
The authentication server 130 includes a communication processing unit 131 and a data operation unit 132. Further, the authentication server 130 holds user information 133 and ID linkage information 134.

通信処理部131は、通信処理部23、及び、通信処理部31−1,31−2,・・・,31−Nの何れかとの間で通信を行う。また、通信処理部131は、データ操作部132と接続されており、データ操作部132と連携してデータ操作に関する処理を行ってもよい。また、通信処理部131は、各サービスサーバ−1,30−2,・・・,30−Nと接続されており、各サービスサーバ−1,30−2,・・・,30−Nと連携してデータ操作に関する処理を行ってもよい。   The communication processing unit 131 communicates with the communication processing unit 23 and any one of the communication processing units 31-1, 31-2, ..., 31-N. The communication processing unit 131 may be connected to the data operation unit 132 and perform processing related to data operation in cooperation with the data operation unit 132. Further, the communication processing unit 131 is connected to each service server-1, 30-2,..., 30-N, and cooperates with each service server-1, 30-2,. Then, processing related to data manipulation may be performed.

データ操作部132は、ユーザ情報133及び通信処理部131と連携して、例えば、後述するような、ユーザ登録処理、仲介用IDの登録処理、及びデータ登録処理を行う。   The data operation unit 132 cooperates with the user information 133 and the communication processing unit 131 to perform, for example, user registration processing, mediation ID registration processing, and data registration processing as described later.

ユーザ情報133は、サービスサーバ30−1,30−2,・・・,30−Nの何れかを利用するユーザの認証サーバ130におけるユーザIDに関する情報を含む。   The user information 133 includes information related to the user ID in the authentication server 130 of a user who uses any of the service servers 30-1, 30-2, ..., 30-N.

ID連携情報134は、認証サーバ130と各サービスサーバ30−1,30−2,・・・,30−Nと間で用いる仲介IDと認証サーバ130のユーザIDとのマッピングに関するマッピング情報を含む。   The ID linkage information 134 includes mapping information related to the mapping between the mediation ID used between the authentication server 130 and each of the service servers 30-1, 30-2,..., 30-N and the user ID of the authentication server 130.

また、サービスサーバ30−1,30−2,・・・,30−Nの各々も、認証サーバ130と同様の構成をしている。すなわち、サービスサーバ30−1,30−2,・・・,30−Nはそれぞれ、通信処理部31−1,31−2,・・・,31−N、及び、データ操作部32−1,32−2,・・・,32−Nを備え、ユーザ情報33−1,33−2,・・・,33−N、及び、ID連携情報34−1,34−2,・・・,34−Nを保持する。   Each of the service servers 30-1, 30-2,..., 30-N has the same configuration as that of the authentication server 130. That is, the service servers 30-1, 30-2,..., 30-N are respectively connected to the communication processing units 31-1, 31-2,. , 32 -N, user information 33-1, 33-2,..., 33 -N, and ID linkage information 34-1, 34-2,. Hold -N.

サービスサーバ30−1によって保持される各ユーザ情報33−1は、サービスサーバ30−1を利用するユーザのサービスサーバ30−1におけるユーザIDに関する情報を含む。ユーザ情報33−2,・・・,33−Nについても同様である。   Each user information 33-1 held by the service server 30-1 includes information related to a user ID in the service server 30-1 of a user who uses the service server 30-1. The same applies to the user information 33-2, ..., 33-N.

ID連携情報34−1は、認証サーバ130のID連携情報134と同一の仲介IDと、サービスサーバ30−1におけるユーザIDとのマッピングに関するマッピング情報を含む。ID連携情報34−2,・・・,34−Nについても同様である。   The ID linkage information 34-1 includes mapping information related to mapping between the same mediation ID as the ID linkage information 134 of the authentication server 130 and the user ID in the service server 30-1. The same applies to the ID linkage information 34-2,..., 34-N.

次に、並列処理システム120によってなされる処理シーケンスの一例について説明する。
まず、並列処理システム120によってなされる処理シーケンスの概要について説明する。並列処理システム120によって実行される動作は、各外部サーバ40−1,40−2,・・・,40−Mからのデータ操作リクエストが、更新または削除に関するリクエストである場合、第1の実施形態の並列処理システム10によって実行される動作と同様の動作である。しかしながら、例えばデータ操作リクエストが、登録に関するリクエストである場合、認証サーバ130及び各サービスサーバ30−1,30−2,・・・,30−Nへのユーザ登録処理、並びに、認証サーバ130及び各サービスサーバ30−1,30−2,・・・,30−Nへの仲介用IDの登録処理を、データ登録処理を行う前に実行する必要がある。
Next, an example of a processing sequence performed by the parallel processing system 120 will be described.
First, an outline of a processing sequence performed by the parallel processing system 120 will be described. The operation executed by the parallel processing system 120 is the first embodiment when the data operation request from each external server 40-1, 40-2,..., 40-M is a request related to update or deletion. This is the same operation as that executed by the parallel processing system 10. However, for example, when the data operation request is a request related to registration, the user registration processing to the authentication server 130 and each of the service servers 30-1, 30-2,. It is necessary to execute the registration process of the intermediary ID to the service servers 30-1, 30-2,..., 30-N before performing the data registration process.

次に、具体的に、図13を参照して、データ登録に関する並列処理について説明する。
まず、ゲートウェイサーバ20は、各外部サーバ40−1,40−2,・・・,40−Mからデータ登録操作リクエストを受信する(ステップS131)。そして、ゲートウェイサーバ20は、データ登録操作リクエストを受信した場合、データ登録処理を並列的に処理する前に、次のような処理を実行する。
Next, the parallel processing related to data registration will be specifically described with reference to FIG.
First, the gateway server 20 receives a data registration operation request from each external server 40-1, 40-2,..., 40-M (step S131). When the gateway server 20 receives the data registration operation request, the gateway server 20 executes the following processing before processing the data registration processing in parallel.

要求処理統括管理部21が、データ登録操作リクエストデータに基づき、各サービスサーバ30−1,30−2,・・・,30−N及び認証サーバ130へのユーザ登録要求データを生成する(ステップS133)。なお、生成されるユーザ登録要求データは、データ登録操作リクエストデータに含まれているユーザ情報に対応するユーザに関するデータである。   The request processing overall management unit 21 generates user registration request data for the service servers 30-1, 30-2,..., 30-N and the authentication server 130 based on the data registration operation request data (step S133). ). The generated user registration request data is data related to the user corresponding to the user information included in the data registration operation request data.

次に、要求処理統括管理部21が、第1の実施形態において説明したデータ登録処理と同様のデータ登録処理を用いて、サービスサーバ30−1,30−2,・・・,30−N毎に生成したユーザ登録要求データを分割する(ステップS135)。そして、要求処理統括管理部21は、分割したユーザ登録要求データを引数として通信管理部22を呼び出す。そして、通信管理部22は、通信先であるサービスサーバ30(サービスサーバ30−1,30−2,・・・,30−Nのうちの何れか)の性能などに適したサイズにユーザ登録要求データを分割し、そして、通信処理部23を呼び出し、ユーザ登録要求データに関する並列処理を実行する。   Next, the request processing overall management unit 21 uses a data registration process similar to the data registration process described in the first embodiment, for each of the service servers 30-1, 30-2,. The generated user registration request data is divided (step S135). Then, the request processing overall management unit 21 calls the communication management unit 22 using the divided user registration request data as an argument. Then, the communication management unit 22 requests the user registration to a size suitable for the performance of the service server 30 (any one of the service servers 30-1, 30-2,..., 30-N) as a communication destination. The data is divided and the communication processing unit 23 is called to execute parallel processing related to the user registration request data.

次に、要求処理統括管理部21が、ユーザID連携要求データ(仲介ID登録要求データ)を生成する(ステップS137)。ユーザID連携要求データは、各サービスサーバ30−1,30−2,・・・,30−N及び認証サーバ130に対するデータ登録操作リクエストデータに含まれるユーザ情報に対応するユーザに関するデータである。また、ユーザID連携要求データは、認証サーバ130および各サービスサーバ30−1,30−2,・・・,30−Nに仲介IDを登録することを要求するデータでもある。   Next, the request processing overall management unit 21 generates user ID cooperation request data (mediation ID registration request data) (step S137). The user ID cooperation request data is data relating to the user corresponding to the user information included in the data registration operation request data for the service servers 30-1, 30-2,..., 30-N and the authentication server 130. Further, the user ID cooperation request data is data requesting registration of the mediation ID in the authentication server 130 and each of the service servers 30-1, 30-2, ..., 30-N.

なお、ユーザID連携要求データに含める仲介IDは、データ登録操作リクエストデータに含まれていてもよいし、ゲートウェイサーバ20によって生成されてもよい。あるいは、ゲートウェイサーバ20が、データ登録操作リクエストデータに含まれるユーザIDに対応する仲介IDを、認証サーバ130に発行及び登録するための依頼をし、認証サーバ130によって発行された仲介IDを使用してもよい。   Note that the mediation ID included in the user ID cooperation request data may be included in the data registration operation request data, or may be generated by the gateway server 20. Alternatively, the gateway server 20 requests the authentication server 130 to issue and register a mediation ID corresponding to the user ID included in the data registration operation request data, and uses the mediation ID issued by the authentication server 130. May be.

次に、要求処理統括管理部21が、第1の実施形態において説明したデータ登録処理と同様のデータ登録処理を用いて、サービスサーバ30−1,30−2,・・・,30−N毎にユーザID連携要求データを分割し(ステップS139)、分割したユーザID連携要求データを引数として通信管理部22を呼び出す。そして、通信管理部22は、通信先であるサービスサーバ30(サービスサーバ30−1,30−2,・・・,30−Nのうちの何れか)の性能などに適したサイズにユーザID連携要求データを分割する。そして、通信管理部22が、通信処理部23を呼び出し、ユーザID連携要求データに関する並列処理を実行する(ステップS141)。   Next, the request processing overall management unit 21 uses a data registration process similar to the data registration process described in the first embodiment, for each of the service servers 30-1, 30-2,. Then, the user ID cooperation request data is divided (step S139), and the communication management unit 22 is called using the divided user ID cooperation request data as an argument. Then, the communication management unit 22 links the user ID to a size suitable for the performance of the service server 30 (any one of the service servers 30-1, 30-2,..., 30-N) that is the communication destination. Split request data. And the communication management part 22 calls the communication process part 23, and performs the parallel process regarding user ID cooperation request data (step S141).

ステップS141の後、第1の実施形態において説明したデータ登録に関する並列処理を実行する。例えば、ステップS141の後、図3に示すようなステップS31の処理を開始する。   After step S141, the parallel processing related to data registration described in the first embodiment is executed. For example, after step S141, the process of step S31 as shown in FIG. 3 is started.

以上のような第3の実施形態によって、次のような効果を得ることができる。
すなわち、本実施形態によれば、ユーザIDを分散させて管理し、認証サーバ130およびサービスサーバ30−1,30−2,・・・,30−N間において実ユーザIDでなく仲介IDを用いる場合においても、第1の実施形態の並列処理システム10または第2の実施形態の並列処理システム100における並列処理方法を用いて、複数のサービスサーバ30−1,30−2,・・・,30−Nに対して、データ操作処理を高速に実行させることが可能となる。また、ユーザIDを分散管理することによって、登録に関するリクエストを受けた場合に必要となるような、各サービスサーバ30−1,30−2,・・・,30−N及び認証サーバ130へのユーザ登録処理及びID連携処理も、1回のリクエストにおいて、高速に実行することが可能となる。
(その他の変形例)
次に、第1の実施形態乃至第3の実施形態において適用可能な変形例について説明する。
(変形例1)
変形例1では、マルチスレッド処理を実行中にエラーが発生した場合を想定しており、エラー発生時に返却値とエラーに関するログを発行することによって、例えばマルチスレッド処理中のエラー発生時にも、エラー発生箇所を特定する(エラーハンドリング・ログ出力方法)。
According to the third embodiment as described above, the following effects can be obtained.
That is, according to the present embodiment, user IDs are distributed and managed, and an intermediary ID is used instead of an actual user ID between the authentication server 130 and the service servers 30-1, 30-2, ..., 30-N. Even in this case, a plurality of service servers 30-1, 30-2,..., 30 are used by using the parallel processing method in the parallel processing system 10 of the first embodiment or the parallel processing system 100 of the second embodiment. With respect to −N, the data operation processing can be executed at high speed. Further, by managing user IDs in a distributed manner, users to the service servers 30-1, 30-2,... The registration process and the ID linkage process can also be executed at high speed in one request.
(Other variations)
Next, modifications that can be applied in the first to third embodiments will be described.
(Modification 1)
In Modification 1, it is assumed that an error has occurred during execution of multi-thread processing. By issuing a return value and a log relating to an error when an error occurs, for example, even when an error occurs during multi-thread processing, an error occurs. Specify the location (error handling / log output method).

変形例1の並列処理システムにおけるゲートウェイサーバ20は、エラーが発生した場合、エラーが発生したスレッドに対応するスレッド番号を発行する機能、及び、エラーが発生した箇所を特定するためのログを出力する機能を有する。   When an error occurs, the gateway server 20 in the parallel processing system of Modification 1 outputs a function for issuing a thread number corresponding to the thread in which the error has occurred, and a log for identifying the location where the error has occurred. It has a function.

具体的には、ゲートウェイサーバ20は、エラー発生箇所を特定するために、複数のスレッドの各々に対してスレッド番号を付与し、何れかのスレッドでエラーが発生した場合、エラーが発生したスレッドに対応するスレッド番号(以下、エラースレッド番号と称す。)を発行する。なお、スレッド番号は、例えば、スレッドを分割する際に、予め設定された体系的なスレッド番号である。   Specifically, the gateway server 20 assigns a thread number to each of a plurality of threads in order to identify an error occurrence location. If an error occurs in any of the threads, the gateway server 20 A corresponding thread number (hereinafter referred to as an error thread number) is issued. The thread number is, for example, a systematic thread number set in advance when the thread is divided.

次に、ゲートウェイサーバ20は、例えば各スレッドに対して処理を実行している際、エラースレッド番号に対応するスレッドに含まれるデータ操作の対象となるデータを、ログとして出力する。また、ゲートウェイサーバ20は、エラースレッド番号を、例えばリクエスト元である外部サーバ40またはクライアント端末50に返却する。   Next, for example, when executing processing for each thread, the gateway server 20 outputs, as a log, data to be subjected to data operation included in the thread corresponding to the error thread number. Further, the gateway server 20 returns the error thread number to, for example, the external server 40 or the client terminal 50 that is the request source.

次に、出力されるログについて説明する。
まず、要求処理統括管理部21は、第1の実施形態乃至第3の実施形態において用いた階層的なスレッドにおける各スレッドに対して、スレッドを分割する際、次のような体系的なスレッド番号を付与する。スレッド番号は、例えば「X.Y.Z」で表わされる。
Next, the output log will be described.
First, when the request processing overall management unit 21 divides a thread for each thread in the hierarchical thread used in the first to third embodiments, the following systematic thread numbers are used. Is granted. The thread number is represented by “XYZ”, for example.

ここで、Xは、各サービスサーバ30を示す文字列または数値を表している。文字列で示されるXは、例えば、「medical」、「care」、「inquiry」、または「checkup」である。また、Xの値は、メインスレッドで管理される。   Here, X represents a character string or a numerical value indicating each service server 30. X indicated by the character string is, for example, “medical”, “care”, “inquiry”, or “checkup”. The value of X is managed by the main thread.

Yは、各サービスサーバ30に対して、何個目の通信管理スレッドであるかを示す値である。また、Yは、同一のサービスサーバ30に対するデータを引数として通信管理部21を呼び出すごとに、換言すると通信管理スレッドを作成するごとに、インクリメントされる。また、Yの値は、メインスレッドで管理される。   Y is a value indicating the number of communication management threads for each service server 30. Y is incremented every time the communication management unit 21 is called with data for the same service server 30 as an argument, in other words, every time a communication management thread is created. The value of Y is managed by the main thread.

Zは、各通信管理スレッドで生成した何個目の通信処理スレッドであるかを示す値である。Zは、通信管理スレッドにおいて通信処理部23を呼び出すごとに、換言すると通信処理スレッドを起動するごとに、インクリメントされる。また、Zの値は、通信管理スレッドで管理される。   Z is a value indicating the number of communication processing threads generated by each communication management thread. Z is incremented each time the communication processing unit 23 is called in the communication management thread, in other words, every time the communication processing thread is activated. The value of Z is managed by a communication management thread.

以上のような変形例1によって、次のような効果を得ることができる。
自治体業務データのように、複数のユーザに関するデータかつ多種多様なデータへの操作要求が含まれるリクエストを、並列処理システム内の複数のサービスサーバ30に対して行う場合において、処理の高速化及びエラー発生時の発生箇所の特定が可能となる。
According to Modification 1 as described above, the following effects can be obtained.
When making a request including operation requests for data related to a plurality of users and various types of data, such as local government business data, to a plurality of service servers 30 in a parallel processing system, processing speeding up and errors It is possible to specify the location of occurrence when it occurs.

また、利用者であるユーザに対応するクライアント端末50は、エラー発生時にエラースレッド番号を含む返却値およびログを用いることによって、エラー発生箇所及びエラーにより影響を受ける範囲を特定することが可能となる。また、クライアント端末50は、必要に応じて、返却値及びログに基づき、例えばエラー発生箇所に対するデータ操作リクエストの再試行を実行することが可能となる。また、クライアント端末50は、ログに基づき、同一の要求に対する処理であることを判別することによって、要求ごとに正確にデータ操作に関するログを追跡することが可能となる。   Further, the client terminal 50 corresponding to the user who is a user can specify the error occurrence location and the range affected by the error by using the return value and log including the error thread number when an error occurs. . Further, the client terminal 50 can execute a data operation request retry for an error occurrence location, for example, based on the return value and the log as necessary. In addition, the client terminal 50 can accurately track a log regarding data operation for each request by determining that the processing is for the same request based on the log.

また、各スレッドの処理中に上述したようなエラースレッド番号をログとして出力することにより、例えば、複数のデータ操作リクエストを処理している場合であっても、同一のデータ操作リクエストを処理している親スレッド及び子スレッドが出力するログをそれぞれ対応づけることが可能となり、同一のデータ操作リクエストの処理のログを追跡することが可能となる。   In addition, by outputting the error thread number as described above as a log during processing of each thread, for example, even when processing a plurality of data operation requests, the same data operation request is processed. It is possible to associate the logs output by the parent thread and the child thread with each other, and it is possible to trace the processing log of the same data operation request.

また、何れかのスレッドでエラーが発生した場合、エラースレッド番号を、例えばリクエスト元である外部サーバ40またはクライアント端末50に返却すると共に、エラーが発生したスレッドに含まれるリクエストデータ及びエラースレッド番号をログに出力することによって、エラーの影響が出る可能性がある同一スレッドで処理されたデータを明確化することが可能となる。そのため、エラー発生時の再試行を効率的に行うことが可能となる。   When an error occurs in any thread, the error thread number is returned to, for example, the external server 40 or the client terminal 50 that is the request source, and the request data and error thread number included in the thread in which the error has occurred. By outputting to the log, it is possible to clarify data processed in the same thread that may be affected by an error. For this reason, it is possible to efficiently perform a retry when an error occurs.

また、不正利用などが発覚した際、ログを用いて利用者ごとにアクセス履歴を追跡できること必要とされるような場合がある。このような場合において、処理を逐次実行する場合は、例えば、実行中のスレッド名をログに出力することによって、複数のデータ操作リクエストが混在している場合であっても、複数のデータ操作リクエストから同一のデータ操作御リクエストに対応するログを抽出すればよい。しかし、マルチスレッド処理を実行する場合において、同一のデータ操作リクエストの処理を複数のスレッドに分割して実行し、各スレッドが同一のデータ操作リクエストであることを示さない単なる連番などのスレッド名でログを出力するような場合は、実行したデータ操作リクエスト処理の実行状況に関する時系列を用いた追跡や、エラー発生箇所の解析などが困難になる。しかしながら、本発明の変形例1において上述したような処理を実行することによって、このようなことを防ぐことが可能となる。
(変形例2)
変形例2は、要求処理統括管理部21によるスレッド分割単位に関する変形例である。
並列処理システムにおいて、リソースをシェアすることによってコストを削減することを目的として、データ種別ごとにサービスサーバ30を設置したとしても、サービスサーバ30内において自治体ごとに独立してデータを管理するような場合がある。また、自治体内において管理組織や区分が異なるデータを独立して管理するために、自治体ごとにサービスサーバ30を設置したとしても、サービスサーバ30内ではデータごとに独立して管理する場合もある。
In addition, when unauthorized use is detected, it may be necessary to track the access history for each user using a log. In such a case, when the processing is executed sequentially, for example, by outputting the name of the executing thread to the log, even if a plurality of data operation requests are mixed, a plurality of data operation requests Logs corresponding to the same data operation request can be extracted from. However, when executing multi-thread processing, the same data operation request processing is divided into multiple threads and executed, and the thread name such as a simple serial number that does not indicate that each thread is the same data operation request In the case of outputting a log with, it becomes difficult to track using the time series regarding the execution status of the executed data operation request processing and to analyze the location where the error occurred. However, this can be prevented by executing the processing described above in the first modification of the present invention.
(Modification 2)
Modification 2 is a modification related to the thread division unit by the request processing overall management unit 21.
In a parallel processing system, for the purpose of reducing costs by sharing resources, even if a service server 30 is installed for each data type, data is managed independently for each local government in the service server 30. There is a case. Further, even if the service server 30 is installed for each municipality in order to independently manage data having different management organizations or classifications within the local government, the service server 30 may manage the data independently for each data.

このような場合、要求処理統括管理部21によって保持されるデータ所在情報24と、サービスサーバ30内のデータベースまたはテーブル等に記録されているより詳細なデータに関する宛先及びユーザ属性情報90−cと、をマッピングする。これにより、要求処理統括管理部21は、リクエストデータに含まれるデータオーナに関するユーザ属性情報90―cをさらに用いてリクエストデータを分割し、通信管理スレッドの単位をサービスサーバ30内で独立して管理される単位に合わせることが可能となる。また、通信管理部22が、データ所在情報24を参照できるようにすることによって、通信管理部22において通信処理部23を呼び出す際、ユーザ属性情報90−cをさらに用いてリクエストデータを分割し、通信管理スレッドの単位をサービスサーバ30内で独立して管理される単位に合わせることが可能となる。   In such a case, the data location information 24 held by the request processing overall management unit 21, the destination and user attribute information 90-c regarding more detailed data recorded in the database or table in the service server 30, To map. Thereby, the request processing overall management unit 21 further divides the request data by further using the user attribute information 90-c regarding the data owner included in the request data, and independently manages the unit of the communication management thread in the service server 30. It becomes possible to match the unit. Further, by enabling the communication management unit 22 to refer to the data location information 24, when calling the communication processing unit 23 in the communication management unit 22, the request attribute is further divided using the user attribute information 90-c, The unit of the communication management thread can be matched with the unit managed independently in the service server 30.

なお、通信管理部22におけるスレッド分割単位について、エラー発生時の再試行を行うことを考慮した場合、マルチスレッド処理が成功したか否かの結果は、ユーザ単位で把握できることが望ましい。そのため、リクエストデータに含まれる同一のユーザ情報が多い場合などにおいて、サービスサーバ30ごとに分割されたリクエストデータを、通信管理部22においてユーザごとに分割し、通信処理スレッドを起動させるようにしてもよい。   In consideration of retrying when an error occurs for the thread division unit in the communication management unit 22, it is desirable that the result of whether or not the multi-thread processing is successful can be grasped for each user. Therefore, when there is a lot of identical user information included in the request data, the request data divided for each service server 30 is divided for each user in the communication management unit 22 and the communication processing thread is activated. Good.

また、上記第1の実施形態乃至第3の実施形態において、データ操作の一例としてデータ登録について述べたが、リクエストデータをリクエスト検索式に置き換えることによって、データ操作としてデータの検索及びデータの取得について、上記第1の実施形態乃至第3の実施形態を適用可能である。そのため、例えば、ユーザIDが分散管理されたデータをID−WSFなどのプロトコルを用いてデータを収集することによって、並列処理の高速化が可能となる。   In the first to third embodiments, the data registration is described as an example of the data operation. However, by replacing the request data with the request search expression, the data search and the data acquisition are performed as the data operation. The first to third embodiments can be applied. Therefore, for example, by collecting data with distributed management of user IDs using a protocol such as ID-WSF, parallel processing can be speeded up.

また、並列処理システム10,100,120は、外部サーバ40と接続することなく、ゲートウェイサーバ20にクライアント端末50を接続して、例えばGUIを用いて、ローカルにあるリクエストデータを読み込むようにしてもよい。   Further, the parallel processing systems 10, 100, 120 may connect the client terminal 50 to the gateway server 20 without connecting to the external server 40, and read local request data using, for example, a GUI. Good.

なお、この発明は、上記第1の実施形態乃至第3の実施形態に限定されるものではない。例えば、図1,10,12に示すような、ゲートウェイサーバ30とは別に認証サーバ110を備えている場合の構成について説明したが、ゲートウェイサーバ30の中に認証サーバ110を備えていてもよい。または、さらに多くのエンティティで構成してもよい。例えば、要求処理統括管理部21、通信管理部22、通信処理部23、認証サーバ130、及びサービスサーバ30の各々が有するデータベースを適宜統合したり、あるいは、さらに分散することによって、並列処理システム10,100,120を実現してもよい。   In addition, this invention is not limited to the said 1st Embodiment thru | or 3rd Embodiment. For example, the configuration in the case where the authentication server 110 is provided separately from the gateway server 30 as illustrated in FIGS. 1, 10, and 12 has been described, but the authentication server 110 may be included in the gateway server 30. Or you may comprise by more entities. For example, the parallel processing system 10 can be obtained by appropriately integrating or further distributing databases included in each of the request processing overall management unit 21, the communication management unit 22, the communication processing unit 23, the authentication server 130, and the service server 30. , 100, 120 may be realized.

その他、図6乃至図9は、各データベースの一例であり、適宜、フィールドを追加することができるため、図6乃至図9等についても、この発明の要旨を逸脱しない範囲で種々変形して実施可能である。   In addition, FIGS. 6 to 9 are examples of each database, and since fields can be added as appropriate, FIGS. 6 to 9 and the like are variously modified without departing from the gist of the present invention. Is possible.

また、その他の変形例でも示したように、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。   Further, as shown in other modified examples, the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Further, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, you may combine suitably the component covering different embodiment.

10,100,120…並列処理システム、20…ゲートウェイサーバ、21…要求処理統括管理部、22…通信管理部、23…通信処理部、24…データ所在情報、25…サービスサーバ経路特性情報、26…サービスサーバ通信情報、30…サービスサーバ、40…外部サーバ、50…クライアント端末、90…引き渡しデータベース、92,94…登録データ、110,130…認証サーバ、31,131…通信処理部、32,132…データ操作部、33,133…ユーザ情報、34,134…ID連携情報。   DESCRIPTION OF SYMBOLS 10,100,120 ... Parallel processing system, 20 ... Gateway server, 21 ... Request processing supervision management part, 22 ... Communication management part, 23 ... Communication processing part, 24 ... Data location information, 25 ... Service server path characteristic information, 26 ... service server communication information, 30 ... service server, 40 ... external server, 50 ... client terminal, 90 ... delivery database, 92, 94 ... registration data, 110, 130 ... authentication server, 31, 131 ... communication processing unit, 32, 132: Data operation unit, 33, 133: User information, 34, 134: ID linkage information.

Claims (8)

複数の管理サーバを用いてデータを並列的に処理させるシステムであって、
外部サーバから各管理サーバに対して複数のユーザに関するデータの操作をリクエストされた場合、前記データの種別または前記ユーザの属性に基づいて前記データを前記複数の管理サーバごとのリクエストデータに分割し、前記分割された各管理サーバに対応する複数のスレッドを用いてマルチスレッド処理を実行する制御手段を備えるシステム。
A system for processing data in parallel using a plurality of management servers,
When an operation of data related to a plurality of users is requested from an external server to each management server, the data is divided into request data for each of the plurality of management servers based on the type of the data or the attribute of the user, A system comprising control means for executing multithread processing using a plurality of threads corresponding to each of the divided management servers.
前記制御手段は、前記複数のスレッドの各々に対して少なくとも操作対象となる前記管理サーバを示す識別子を含むスレッド番号を付与し、何れかのスレッドでエラーが発生した場合、前記エラーが発生したスレッドに対応するスレッド番号を少なくとも前記外部サーバに返却またはログに出力する、請求項1記載のシステム。   The control means assigns a thread number including at least an identifier indicating the management server to be operated to each of the plurality of threads, and when an error occurs in any thread, the thread in which the error has occurred The system according to claim 1, wherein a thread number corresponding to is returned to at least the external server or output to a log. 前記ユーザを認証する認証手段をさらに備え、
前記認証手段は、リクエスト元の認証トークンが必要な場合、前記認証トークンを発行し、
前記制御手段は、前記マルチスレッド処理を実行するために、前記認証トークンを複製し、前記複製された認証トークンを各スレッドに対して使用する、請求項1記載のシステム。
An authentication unit for authenticating the user;
When the authentication token of the request source is necessary, the authentication means issues the authentication token,
The system according to claim 1, wherein the control means replicates the authentication token and uses the replicated authentication token for each thread to perform the multi-thread processing.
複数の管理サーバを用いてデータを並列的に処理させるための方法であって、
外部サーバから各管理サーバに対して複数のユーザに関するデータの操作をリクエストされた場合、前記データの種別または前記ユーザの属性に基づいて前記データを前記複数の管理サーバごとのリクエストデータに分割し、前記分割された各管理サーバに対応する複数のスレッドを用いてマルチスレッド処理を実行する、方法。
A method for processing data in parallel using a plurality of management servers,
When an operation of data related to a plurality of users is requested from an external server to each management server, the data is divided into request data for each of the plurality of management servers based on the type of the data or the attribute of the user, A method of executing multi-thread processing using a plurality of threads corresponding to each of the divided management servers.
前記実行することは、前記複数のスレッドの各々に対して少なくとも操作対象となる前記管理サーバを示す識別子を含むスレッド番号を付与し、何れかのスレッドでエラーが発生した場合、前記エラーが発生したスレッドに対応するスレッド番号を少なくとも前記外部サーバに返却またはログに出力する、請求項4記載の方法。   The executing assigns a thread number including at least an identifier indicating the management server to be operated to each of the plurality of threads, and when an error occurs in any thread, the error occurs. The method according to claim 4, wherein a thread number corresponding to a thread is returned to at least the external server or output to a log. 前記ユーザを認証し、
リクエスト元の認証トークンが必要な場合、前記認証トークンを発行し、
前記マルチスレッド処理を実行するために、前記認証トークンを複製し、前記複製された認証トークンを各スレッドに対して使用する、請求項4記載の方法。
Authenticate the user;
If the requesting authentication token is required, issue the authentication token,
The method of claim 4, wherein the authentication token is replicated and the replicated authentication token is used for each thread to perform the multi-thread processing.
複数の管理サーバを用いてデータを並列的に処理させるためのプログラムであって、
外部サーバから各管理サーバに対して複数のユーザに関するデータの操作をリクエストされた場合、前記データの種別または前記ユーザの属性に基づいて前記データを前記複数の管理サーバごとのリクエストデータに分割し、前記分割された各管理サーバに対応する複数のスレッドを用いてマルチスレッド処理を実行する手順をコンピュータに実行させるプログラム。
A program for processing data in parallel using a plurality of management servers,
When an operation of data related to a plurality of users is requested from an external server to each management server, the data is divided into request data for each of the plurality of management servers based on the type of the data or the attribute of the user, A program for causing a computer to execute a procedure for executing multithread processing using a plurality of threads corresponding to each of the divided management servers.
前記実行する手順は、前記複数のスレッドの各々に対して少なくとも操作対象となる前記管理サーバを示す識別子を含むスレッド番号を付与し、何れかのスレッドでエラーが発生した場合、前記エラーが発生したスレッドに対応するスレッド番号を少なくとも前記外部サーバに返却またはログに出力する、請求項7記載のプログラム。   The procedure to be executed assigns a thread number including at least an identifier indicating the management server to be operated to each of the plurality of threads, and when an error occurs in any thread, the error has occurred. The program according to claim 7, wherein a thread number corresponding to a thread is returned to at least the external server or output to a log.
JP2014247360A 2014-12-05 2014-12-05 Parallel processing system, method, and program Active JP6340308B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014247360A JP6340308B2 (en) 2014-12-05 2014-12-05 Parallel processing system, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014247360A JP6340308B2 (en) 2014-12-05 2014-12-05 Parallel processing system, method, and program

Publications (2)

Publication Number Publication Date
JP2016110397A true JP2016110397A (en) 2016-06-20
JP6340308B2 JP6340308B2 (en) 2018-06-06

Family

ID=56124481

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014247360A Active JP6340308B2 (en) 2014-12-05 2014-12-05 Parallel processing system, method, and program

Country Status (1)

Country Link
JP (1) JP6340308B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110209549A (en) * 2018-05-22 2019-09-06 腾讯科技(深圳)有限公司 Data processing method, relevant apparatus, relevant device and system
WO2019230597A1 (en) * 2018-05-29 2019-12-05 日本電信電話株式会社 Function analyzer, function analysis method, and function analysis program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001188765A (en) * 1999-10-28 2001-07-10 Internatl Business Mach Corp <Ibm> Technique for referring to fault information showing plural related fault under distributed computing environment
JP2004062566A (en) * 2002-07-30 2004-02-26 Jmnet Inc Database system, master node device constituting it, and program
JP2011526387A (en) * 2008-06-27 2011-10-06 マイクロソフト コーポレーション Granting least privilege access for computing processes
JP5478591B2 (en) * 2011-11-22 2014-04-23 日本電信電話株式会社 Information system and authentication state management method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001188765A (en) * 1999-10-28 2001-07-10 Internatl Business Mach Corp <Ibm> Technique for referring to fault information showing plural related fault under distributed computing environment
JP2004062566A (en) * 2002-07-30 2004-02-26 Jmnet Inc Database system, master node device constituting it, and program
JP2011526387A (en) * 2008-06-27 2011-10-06 マイクロソフト コーポレーション Granting least privilege access for computing processes
JP5478591B2 (en) * 2011-11-22 2014-04-23 日本電信電話株式会社 Information system and authentication state management method thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110209549A (en) * 2018-05-22 2019-09-06 腾讯科技(深圳)有限公司 Data processing method, relevant apparatus, relevant device and system
CN110209549B (en) * 2018-05-22 2022-02-22 腾讯科技(深圳)有限公司 Data processing method, related device, related equipment and system
WO2019230597A1 (en) * 2018-05-29 2019-12-05 日本電信電話株式会社 Function analyzer, function analysis method, and function analysis program

Also Published As

Publication number Publication date
JP6340308B2 (en) 2018-06-06

Similar Documents

Publication Publication Date Title
TWI751139B (en) Business processing system, business processing method and business update method
US9613330B2 (en) Identity and access management
US20190319830A1 (en) Configuring a network
EP3370391B1 (en) System for data cleansing based aggregation and prioritization of it asset field values from real-time event logs and method thereof
US9501541B2 (en) Separation of pod provisioning and service provisioning
CN104679717A (en) Method and management system of elastic cluster deployment
US9071644B2 (en) Automated security policy enforcement and auditing
EP2893683A1 (en) Ldap-based multi-customer in-cloud identity management system
US11108871B2 (en) Dynamic generation of network routing configuration with service requirements
CN105872110B (en) A kind of cloud platform service management and device
CN103034735A (en) Big data distributed file export method
CN104718533A (en) Robust hardware fault management system, method and framework for enterprise devices
CN110362473A (en) Test optimization method and device, storage medium, the terminal of environment
US20190386960A1 (en) Systems and methods for firewall configuration using block lists
JP7081658B2 (en) Information processing equipment, data management system, data management method and data management program
US20190104024A1 (en) Bulk service mapping
EP3629522B1 (en) Systems and methods for testing resilience of a distributed network
CN113127199A (en) Load balancing configuration method, device, equipment and storage medium
CA2967451A1 (en) Toll-free telecommunications management platform
JP6340308B2 (en) Parallel processing system, method, and program
KR20170077182A (en) Rule-based action triggering in a provider network
US10824616B2 (en) System and method for alert insight in configuration management databases (CMDBs)
US20220044144A1 (en) Real time model cascades and derived feature hierarchy
US11805146B2 (en) System and method for detection promotion
CN106603701A (en) Method and device for sending message based on long connection platform

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170303

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180411

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180514

R150 Certificate of patent or registration of utility model

Ref document number: 6340308

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150