JP5530878B2 - Data replication management method in distributed system - Google Patents

Data replication management method in distributed system Download PDF

Info

Publication number
JP5530878B2
JP5530878B2 JP2010209653A JP2010209653A JP5530878B2 JP 5530878 B2 JP5530878 B2 JP 5530878B2 JP 2010209653 A JP2010209653 A JP 2010209653A JP 2010209653 A JP2010209653 A JP 2010209653A JP 5530878 B2 JP5530878 B2 JP 5530878B2
Authority
JP
Japan
Prior art keywords
data
application
node
replica
driven
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010209653A
Other languages
Japanese (ja)
Other versions
JP2012064130A (en
Inventor
秀典 山本
博光 加藤
利彦 中野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010209653A priority Critical patent/JP5530878B2/en
Publication of JP2012064130A publication Critical patent/JP2012064130A/en
Application granted granted Critical
Publication of JP5530878B2 publication Critical patent/JP5530878B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ネットワークを介して相互接続した、複数の独立したノードにより構成され、個々にデータを管理し発信するデータソースとなる少なくとも1つのノードと、前記データソースからのデータを収集、管理する少なくとも1つのデータサーバと、前記データを活用するアプリケーションが稼動する少なくとも1つのノードを含める、分散システムを対象として、特にシステム内でのデータアクセスの応答性能保証のために実施するデータのレプリケーションの方法に関する。   The present invention comprises a plurality of independent nodes interconnected via a network, collects and manages data from at least one node as a data source for individually managing and transmitting data, and the data source A data replication method implemented for a distributed system, particularly for guaranteeing response performance of data access in the system, including at least one data server and at least one node on which an application utilizing the data is operated About.

マスターデータベースをアクセスするマスターサイトと、上記マスターサイトとネットワークを介して接続され、レプリケーションデータベースをアクセスするレプリケーションサイトとを備えた分散型データベースシステムにおいて、上記レプリケーションサイトがクライアントから上記レプリケーションデータベースの更新要求を受けると、その更新要求を上記マスターサイトに送信する一方、上記マスターサイトが当該更新要求にしたがって上記マスターデータベースを更新し、上記レプリケーションサイトが上記マスターサイトから上記マスターデータベースの更新結果を受信すると、その更新結果にしたがって上記レプリケーションデータベースを更新することを特徴とする分散型データベースシステム(特許文献1参照)等が提案されている。   In a distributed database system comprising a master site that accesses a master database and a replication site that is connected to the master site via a network and accesses a replication database, the replication site sends a replication database update request from a client. Upon receiving the update request, the master site updates the master database according to the update request, and the replication site receives the update result of the master database from the master site. A distributed database system (see Patent Document 1) characterized by updating the replication database according to the update result is proposed. It is.

また、プロセス側の機器・設備の監視制御用の多数台のPLC(Programmable Logic Controller)と、複数の監視拠点にそれぞれ複数台設けられたMMI(Man-Machine Interface)と、これらPLCとMMI間を任意にネットワーク接続して制御指令およびプロセス情報を送信する分散制御システムにおいて、前記監視拠点別にロケーション番号を割り付け、このロケーション番号の設定で前記MMIとPLC間の制御指令およびプロセス情報の送信先の監視拠点を1つまたは複数に特定し、かつロケーション番号またはMMIの番号、PLCの番号の省略で送信先をマルチキャストに特定する制御LANプロトコルを備えたことを特徴とする分散制御システム(特許文献2参照)等が提案されている。   In addition, a large number of PLCs (Programmable Logic Controllers) for monitoring and controlling the equipment and facilities on the process side, multiple MMIs (Man-Machine Interfaces) installed at multiple monitoring bases, and between these PLCs and MMIs In a distributed control system that arbitrarily connects to a network and transmits control commands and process information, a location number is assigned to each monitoring base, and the location of the control command and process information between the MMI and PLC is monitored by setting the location number. A distributed control system comprising a control LAN protocol that specifies one or a plurality of bases and specifies a transmission destination as multicast by omitting a location number, MMI number, or PLC number (see Patent Document 2) ) Etc. have been proposed.

特開2002−116939号公報JP 2002-116939 A 特開2003−018215号公報JP 2003-018215 A

本発明が対象とするのは、鉄道、電力等の分野における分散システムであり、これらの分野におけるアプリケーションは、一定の実行周期にて所定の処理を実行する周期駆動型アプリケーションと、イベント発生をトリガーとして所定の処理を実行するイベント駆動型アプリケーションとの2種類ある。また特に周期駆動型アプリケーションの実行周期を維持して正常に稼動することを優先する必要がある。   The present invention is intended for distributed systems in the fields of railways, electric power, etc., and applications in these fields are triggered by a period-driven application that executes a predetermined process at a fixed execution cycle and event occurrence There are two types of event-driven applications that execute predetermined processing. In particular, it is necessary to give priority to normal operation while maintaining the execution cycle of the periodic drive type application.

しかしながら、上記特許文献1に開示された技術では、周期駆動型アプリケーションの実行周期による実行開始タイミングに対してデータレプリケーションの同期タイミングがずれるまたは遅れる場合、アプリケーションにおけるデータアクセスの応答の性能、またはアクセス時のデータの整合性を保証できない。また特許文献1もしくは特許文献2に開示された技術では、データレプリケーションにおいてレプリカの分散配置を行う場合、レプリケーションの対象となるデータの数、サイズの増加に伴いレプリカデータ同期のための通信トラフィックやノード内のデータ占有領域が増大し、システムへ高負荷を与え得る。特にイベント駆動型アプリケーションがアクセスするデータである場合、アプリケーションによる該データへの参照頻度が低ければ、不要な負荷となり得て、周期駆動型アプリケーションの正常動作にも影響を及ぼし得る。   However, in the technique disclosed in Patent Document 1, when the data replication synchronization timing is shifted or delayed with respect to the execution start timing according to the execution period of the period-driven application, the performance of the data access response in the application, or the access time Cannot guarantee the integrity of data. Further, in the technology disclosed in Patent Document 1 or Patent Document 2, when replicas are distributed in data replication, communication traffic and nodes for replica data synchronization as the number and size of data to be replicated increase. The data occupying area in the system increases, which can place a high load on the system. In particular, in the case of data that is accessed by an event-driven application, if the frequency of reference to the data by the application is low, it may become an unnecessary load and may affect the normal operation of the periodic-driven application.

本発明は、上述した課題を考慮したものであって、動作形態、性能要件等が異なる複数のアプリケーションプログラムが混在して実行する環境にて、競合を回避し、データアクセスの応答性能を保証するために、アプリケーションプログラムの動作と連動したデータレプリケーションを実施するための、分散システムにおけるデータレプリケーション管理方法を提供することを目的とする。   The present invention takes the above-described problems into consideration, and avoids contention and guarantees data access response performance in an environment where a plurality of application programs having different operation modes, performance requirements, and the like are executed in a mixed manner. Therefore, an object of the present invention is to provide a data replication management method in a distributed system for performing data replication in conjunction with the operation of an application program.

上記課題を解決するため、本発明は以下の構成を備える。即ち、本発明の分散システムは、ネットワークを介して相互接続した、複数の独立したノードにより構成され、個々にデータを管理し発信するデータソースとなる少なくとも1つのノードと、前記データソースからのデータを収集、管理する少なくとも1つのデータサーバと、前記データソースからのデータを活用する少なくとも1つのアプリケーションが稼動する少なくとも1つのノードとを含む。   In order to solve the above problems, the present invention comprises the following arrangement. That is, the distributed system of the present invention is composed of a plurality of independent nodes interconnected via a network, and at least one node serving as a data source for individually managing and transmitting data, and data from the data source At least one data server that collects and manages and at least one node that runs at least one application that utilizes data from the data source.

前記データサーバと、前記データソースからのデータを活用する少なくとも1つのアプリケーションが稼動する少なくとも1つのノードとの間にて、前記データソースから収集したデータのレプリケーションを実施する場合、前記データサーバは、前記データソースとなる少なくとも1つのノードが発信するデータを収集して蓄積する。   When performing replication of data collected from the data source between the data server and at least one node running at least one application that utilizes data from the data source, the data server includes: Collect and accumulate data transmitted by at least one node as the data source.

各ノードでは、少なくとも1つのアプリケーションに対して、各アプリケーションにて使用する少なくとも1つのデータに関するレプリカを配置し該データのレプリケーションを実施する。   In each node, a replica related to at least one data used in each application is arranged for at least one application, and replication of the data is performed.

周期駆動するアプリケーションが稼動する少なくとも1つのノードは、周期駆動するアプリケーションの実行周期を取得し、該実行周期に合わせて事前に該周期駆動するアプリケーションが使用する少なくとも1つのデータの更新の有無を判定し、該データの更新が有る場合は、次実行周期の開始までに該データのレプリカの更新を実施し完了させておく。   At least one node on which the periodically driven application operates acquires the execution cycle of the periodically driven application, and determines whether or not at least one data used by the periodically driven application is updated in advance according to the execution cycle However, if there is an update of the data, the replica of the data is updated and completed before the start of the next execution cycle.

イベント駆動するアプリケーションが稼動する少なくとも1つのノードは、イベント駆動するアプリケーションが使用する少なくとも1つのデータに関して、該データのアプリケーションによる参照頻度を監視し、前記参照頻度の監視結果と、該データの種別による重要度により優先順位を決定し、前記決定した優先順位に従って前記イベント駆動によるアプリケーションが使用するレプリカのデータの配置を変更する。   At least one node on which the event-driven application operates monitors the reference frequency of the data by the application with respect to at least one data used by the event-driven application, and depends on the monitoring result of the reference frequency and the type of the data Priorities are determined according to importance, and the arrangement of replica data used by the event-driven application is changed according to the determined priorities.

本発明によれば、アプリケーション開発者はデータアクセスに関連する煩雑な処理を作りこむ必要がなく、アプリケーションロジックの開発に専念でき、開発工数の削減、エラー低減等に寄与する。   According to the present invention, the application developer does not need to create complicated processing related to data access, and can concentrate on the development of application logic, contributing to reduction in development man-hours, error reduction, and the like.

本発明による分散システムにおけるデータレプリケーション管理方法の概要を示す図である。It is a figure which shows the outline | summary of the data replication management method in the distributed system by this invention. 本発明の適用先である分散システムの概要を示す図である。It is a figure which shows the outline | summary of the distributed system which is an application destination of this invention. 本発明によるデータレプリケーション管理方法を実施する上での、分散システムを構成する複数のノード間での全体処理シーケンスを示す図である。It is a figure which shows the whole process sequence between several nodes which comprise a distributed system in enforcing the data replication management method by this invention. 本発明における分散システムを構成し、データソースからのデータを収集、管理し、アプリケーションが稼動する少なくとも1つのノードに対してデータレプリケーションを実施する、データサーバのモジュール構成を示す図である。It is a figure which shows the module structure of the data server which comprises the distributed system in this invention, collects and manages the data from a data source, and implements data replication with respect to the at least 1 node where an application runs. 本発明による分散システムを構成し、データソースからのデータを活用するアプリケーションが稼動するノードのモジュール構成を示す図である。It is a figure which shows the module structure of the node which comprises the distributed system by this invention, and the application which utilizes the data from a data source runs. 本発明におけるデータサーバにて管理されるレプリカデータ管理テーブルの構成を示す図である。It is a figure which shows the structure of the replica data management table managed with the data server in this invention. 本発明におけるデータサーバでの、周期駆動によるアプリケーションが使用するデータの更新監視及びレプリカの更新処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the update monitoring of the data which the data server in this invention uses for the application by a period drive, and the update process of a replica. 本発明における少なくとも1つのアプリケーションが稼動するノードでの、周期駆動によるアプリケーションが使用するデータのレプリカの更新処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the update process of the replica of the data which the application by a period drive uses in the node where the at least 1 application in this invention operates. 本発明によるイベント駆動によるアプリケーションが使用するデータの重要度について説明する図である。It is a figure explaining the importance of the data which the application by event drive by this invention uses. 本発明によるイベント駆動によるアプリケーションが使用するデータの優先順位を決定し、該優先順位に基づきデータを配置する処理の流れを示すフローチャートである。6 is a flowchart showing a flow of processing for determining a priority order of data used by an event-driven application according to the present invention and arranging data based on the priority order.

図1は、本発明による分散システムにおけるデータレプリケーション管理方法の概要を示す図である。   FIG. 1 is a diagram showing an outline of a data replication management method in a distributed system according to the present invention.

主な構成要素は、個々にデータを管理し発信するデータソースとなるデータソースノード0203、前記データソースノード0203からのデータを収集、管理するデータサーバ0201、前記データソースノード0203からのデータを活用する少なくとも1つのアプリケーションが稼動するアプリケーションノード0202、等である。データソースノード0203から発信されるデータはデータサーバ0201で受信し、該データサーバ0201上のDB0101に格納される。アプリケーションノード0202では、少なくとも1つの周期駆動によるアプリケーション0104と少なくとも1つのイベント駆動によるアプリケーション0105が稼動しており、少なくとも1つのレプリカ(0102、0103)をそれぞれ処理中で使用している。アプリケーションノード0202では、周期駆動によるアプリケーション0104、あるいはイベント駆動によるアプリケーション0105の一方が稼動していてもよい。   Main components are a data source node 0203 as a data source for individually managing and transmitting data, a data server 0201 for collecting and managing data from the data source node 0203, and utilizing data from the data source node 0203 Application node 0202 on which at least one application operates. Data transmitted from the data source node 0203 is received by the data server 0201 and stored in the DB 0101 on the data server 0201. In the application node 0202, at least one period-driven application 0104 and at least one event-driven application 0105 are running, and at least one replica (0102, 0103) is used in the processing. In the application node 0202, one of the application 0104 by period driving or the application 0105 by event driving may be running.

データサーバ0201はデータソース0203から発信されるデータを受信する度にDB0101に格納される該当データの上書き更新を実施する。また前記更新データに関するアプリケーションノード0202上の該当レプリカに対しても、前記更新データをアプリケーションノード0202に送信し、前記該当レプリカの更新を実施する。ここで周期駆動によるアプリケーション0104が使用するレプリカ0102に関しては、該アプリケーションの実行周期に合わせて事前に該アプリケーションが使用する少なくとも1つのレプリカ0102の元となるDB0101内のデータに対する更新の有無を判定し、更新を検出した場合、次実行周期の開始時点までに該データのレプリカ0102の更新を実施し完了させておく(0111)。上記により周期駆動によるアプリケーション0104が各周期にて処理を開始する時点では必要なデータが整合性をとれて用意されており、周期駆動によるアプリケーション0104の実行周期の維持と処理実行の確実さを保証する。   Each time the data server 0201 receives data transmitted from the data source 0203, the data server 0201 performs overwriting update of the corresponding data stored in the DB 0101. Also, the update data is transmitted to the application node 0202 for the corresponding replica on the application node 0202 related to the update data, and the corresponding replica is updated. Here, regarding the replica 0102 used by the periodically driven application 0104, it is determined in advance whether or not the data in the DB 0101 that is the source of at least one replica 0102 used by the application is updated in accordance with the execution cycle of the application. If an update is detected, the data replica 0102 is updated and completed by the start of the next execution cycle (0111). As described above, necessary data is prepared in a consistent manner at the time when the application 0104 by the periodic drive starts processing at each period, and the execution cycle of the application 0104 by the periodic drive is maintained and the certainty of the process execution is guaranteed. To do.

またアプリケーションノード0202では、イベント駆動によるアプリケーション0105が使用するレプリカ0103よりも周期駆動によるアプリケーション0104が使用するレプリカ0102に対して優先的にデータ領域を割当てることで、周期駆動によるアプリケーション0104の実行周期の維持と処理実行の確実さを保証する。つまり周期駆動によるアプリケーション0104が使用するレプリカ0102に対しては常にメモリを割当てるが、イベント駆動によるアプリケーション0105が使用するレプリカ0103に対しては、該データの参照頻度と該データの種別による重要度から優先順位を決定し、前記優先順位に従って、イベント駆動によるアプリケーション0105が使用するレプリカ0103のデータ配置を優先順位の高い順に、メモリ、ファイル、該データを保有する他ノードへのポインタ、削除、へと遷移させる。   In addition, the application node 0202 assigns a data area to the replica 0102 used by the period-driven application 0104 prior to the replica 0103 used by the event-driven application 0105, so that the execution period of the period-driven application 0104 can be reduced. Guarantee of maintenance and process execution. In other words, memory is always allocated to the replica 0102 used by the period-driven application 0104, but the replica 0103 used by the event-driven application 0105 is based on the importance of the data reference frequency and the type of the data. The priority order is determined, and according to the priority order, the data arrangement of the replica 0103 used by the event-driven application 0105 is changed to the memory, the file, the pointer to the other node holding the data, and the deletion in descending order of priority. Transition.

上記の各処理の詳細は以降の図にて述べる。   Details of each of the above processes will be described in the following drawings.

図2は、本発明の適用先である分散システムの概要を示す図である。   FIG. 2 is a diagram showing an overview of a distributed system to which the present invention is applied.

分散システムの主な構成要素は、個々に設備0204に関するデータを管理し発信するデータソースとなるデータソースノード0203、前記データソースノード0203からのデータを収集、管理するデータサーバ0201、前記データソースノード0203からのデータを活用する少なくとも1つのアプリケーションが稼動するアプリケーションノード0202、等である。データソースノード0203とデータサーバ0201とはネットワーク0206を介して接続しているが、アプリケーションノード0202とデータサーバ0201とはネットワーク0205を介して接続している。このようにデータソースノード0203とアプリケーションノード0202とは別のネットワークに接続しているが、適用先のシステム要件に基づいて、同一ネットワークに接続していてもよい。   The main components of the distributed system are a data source node 0203 as a data source that individually manages and transmits data related to the equipment 0204, a data server 0201 that collects and manages data from the data source node 0203, and the data source node Application node 0202 on which at least one application utilizing data from 0203 operates. The data source node 0203 and the data server 0201 are connected via the network 0206, but the application node 0202 and the data server 0201 are connected via the network 0205. As described above, the data source node 0203 and the application node 0202 are connected to different networks, but may be connected to the same network based on the system requirements of the application destination.

データソースノード0203の主なハードウェア構成は、処理装置(CPU)0231、記憶装置(メモリ、ハードディスク)0232、通信装置0233からなる。記憶装置0232には、設備0204の管理及び制御を行うためのソフトウェアプログラム、設備0204から取得したデータを蓄積またはデータサーバ0201に送信するためのソフトウェアプログラム等が格納され、処理装置0231により処理される。また通信装置0233は、ネットワーク0206を介してデータサーバ0201との間での通信処理を行う。   The main hardware configuration of the data source node 0203 includes a processing device (CPU) 0231, a storage device (memory, hard disk) 0232, and a communication device 0233. The storage device 0232 stores a software program for managing and controlling the facility 0204, a software program for storing or transmitting data acquired from the facility 0204 to the data server 0201, and the like, and is processed by the processing device 0231. . The communication device 0233 performs communication processing with the data server 0201 via the network 0206.

データサーバ0201の主なハードウェア構成は、処理装置(CPU)0211、記憶装置(メモリ、ハードディスク)0212、通信装置0213からなる。記憶装置0212には、データソースノード0203からデータを収集しDBへと格納する処理を行うためのソフトウェアプログラム、アプリケーションノード0202に配置するレプリカの管理及び更新監視、データ同期等を行うためのソフトウェアプログラム、データソースノード0203からのデータを受信し、アプリケーションノード0202にデータ送信するためのソフトウェアプログラム、等が格納され、処理装置0211により処理される。また記憶装置0212には、データソースノード0203から収集したデータを格納、管理するためのDBも格納される。また通信装置0213は、ネットワーク0205を介してアプリケーションノード0202との間での通信処理、またネットワーク0206を介してデータソースノード0203との間での通信処理を行う。   The main hardware configuration of the data server 0201 includes a processing device (CPU) 0211, a storage device (memory, hard disk) 0212, and a communication device 0213. The storage device 0212 includes a software program for performing processing for collecting data from the data source node 0203 and storing the data in a DB, a software program for performing management and update monitoring of replicas arranged in the application node 0202, data synchronization, and the like. A software program for receiving data from the data source node 0203 and transmitting data to the application node 0202 is stored and processed by the processing device 0211. The storage device 0212 also stores a DB for storing and managing data collected from the data source node 0203. The communication device 0213 performs communication processing with the application node 0202 via the network 0205, and communication processing with the data source node 0203 via the network 0206.

アプリケーションノード0202の主なハードウェア構成は、処理装置(CPU)0221、記憶装置(メモリ、ハードディスク)0222、通信装置0223からなる。記憶装置0222には、該ノードにて稼動するアプリケーションプログラム、レプリカデータの管理及び更新を行うためのソフトウェアプログラム、データサーバ0201から送信されるデータを受信するためのソフトウェアプログラム等が格納され、処理装置0221により処理される。また記憶装置0222には、アプリケーションが使用するレプリカデータが格納される。また通信装置0223は、ネットワーク0205を介してデータサーバ0201との間での通信処理を行う。   The main hardware configuration of the application node 0202 includes a processing device (CPU) 0221, a storage device (memory, hard disk) 0222, and a communication device 0223. The storage device 0222 stores an application program running on the node, a software program for managing and updating replica data, a software program for receiving data transmitted from the data server 0201, and the like. Processed by 0221. The storage device 0222 stores replica data used by the application. The communication device 0223 performs communication processing with the data server 0201 via the network 0205.

図3は、本発明によるデータレプリケーション管理方法を実施する上での、分散システムを構成する複数のノード間での全体処理シーケンスを示す図である。   FIG. 3 is a diagram showing an overall processing sequence between a plurality of nodes constituting the distributed system in carrying out the data replication management method according to the present invention.

主な構成要素は、分散システムを構成するデータサーバ0201、少なくとも1つのアプリケーションが稼動するアプリケーションノード0202、ノード0202にてアプリケーションが使用するデータの発生元であるデータソースノード0203である。本図ではアプリケーション0202にて周期駆動するアプリケーションが実行周期(0301、0302、0303)で稼動している場合について図示する。   The main components are a data server 0201 constituting a distributed system, an application node 0202 in which at least one application operates, and a data source node 0203 that is a source of data used by the application in the node 0202. This figure illustrates a case where an application that is periodically driven by the application 0202 is operating at an execution cycle (0301, 0302, 0303).

アプリケーションノード0202にて、ステップ0311において、データサーバ0201に対して、アプリケーションが使用するレプリカデータに関する登録を行う。   In step 0311, the application node 0202 registers the replica data used by the application with the data server 0201.

データサーバ0201にて、ステップ0321において、ステップ0311でのアプリケーションノード0202からのレプリカ登録に対して、データソースノード0203に対して、レプリカのオリジナルとなるデータの配信を要求し、アプリケーション及びレプリカに関する情報を格納するレプリカデータ管理テーブルを更新する。本テーブルの詳細は図6にて述べる。   In step 0321, the data server 0201 requests the data source node 0203 to distribute the original data of the replica in response to the replica registration from the application node 0202 in step 0311. Update the replica data management table that stores. Details of this table will be described with reference to FIG.

ステップ0322において、アプリケーションの実行周期に応じて、ステップ0311にて登録されたレプリカのオリジナルとなる、データサーバ0201にて管理するDB上のデータの更新有無の監視を開始する。実行周期0301において、データソースノードA及びデータソースノードB(0203)が、ステップ0321のデータ配信要求に従って、データサーバ0201に対して、レプリカのオリジナルとなる各々のデータが配信されると(0341、0331)、ステップ0323及びステップ0324において、これらのデータを受信し、データサーバ0201にて管理するDBに格納し該当データを更新する。このDBはアプリケーションノード0202に配置するレプリカの同期元となるデータを格納するものである。   In step 0322, monitoring of the update of data on the DB managed by the data server 0201, which is the original replica registered in step 0311, is started in accordance with the execution cycle of the application. In the execution cycle 0301, when the data source node A and the data source node B (0203) distribute each piece of replica original data to the data server 0201 according to the data distribution request in step 0321 (0341, 0331), in step 0323 and step 0324, these data are received, stored in the DB managed by the data server 0201, and the corresponding data is updated. This DB stores data serving as a synchronization source of a replica placed in the application node 0202.

ステップ0325において、データ更新監視により、前記データの更新を検出する。ステップ0326において、ステップ0325にて更新検出したデータを、レプリカを配置するアプリケーションノード0202へと送信する。アプリケーションノード0202にて、ステップ0312において、前記更新検出したデータを受信し、該当レプリカの更新を実施する。   In step 0325, the data update is detected by data update monitoring. In step 0326, the data detected to be updated in step 0325 is transmitted to the application node 0202 where the replica is placed. In step 0312, the application node 0202 receives the update detected data and updates the corresponding replica.

実行周期0302において、ステップ0327において、データ更新監視を実施するが、更新は検出されなかったため、該周期ではレプリカ更新処理は実施しない。   In the execution cycle 0302, data update monitoring is performed in step 0327, but no update is detected, and therefore the replica update processing is not performed in this cycle.

実行周期0303において、データソースノードB0203にて、ステップ0332において、データサーバ0201に対して、レプリカのオリジナルとなるデータが配信されると、ステップ0328において、これらのデータを受信し、データサーバ0201にて管理するDBに格納し該当データを更新する。   In the execution cycle 0303, when the data that is the replica original is distributed to the data server 0201 in the data source node B 0203 in the step 0332, the data is received in the step 0328 and sent to the data server 0201. Stored in the managed database and update the corresponding data.

ステップ0329において、データ更新監視により、前記データの更新を検出する。ステップ0320において、ステップ0329にて更新検出したデータを、レプリカを配置するアプリケーションノード0202へと送信する。アプリケーションノード0202にて、ステップ0313において、前記更新検出したデータを受信し、該当レプリカの更新を実施する。以上の処理を周期毎に繰り返す。   In step 0329, the update of the data is detected by data update monitoring. In step 0320, the data detected to be updated in step 0329 is transmitted to the application node 0202 where the replica is placed. In step 0313, the application node 0202 receives the update detected data, and updates the corresponding replica. The above processing is repeated every cycle.

図4は、本発明における分散システムを構成し、データソースノード0203からのデータを収集、管理し、アプリケーションが稼動する少なくとも1つのノード0202に対してデータレプリケーションを実施する、データサーバ0201のモジュール構成を示す図である。   FIG. 4 shows a module configuration of the data server 0201 that constitutes a distributed system according to the present invention, collects and manages data from the data source node 0203, and performs data replication with respect to at least one node 0202 in which an application operates. FIG.

データサーバ0201には、データソースノード0203からのデータ収集、蓄積及び管理を行い、アプリケーションが稼動する少なくとも1つのノード0202に対するデータレプリケーションの制御や管理を行うミドルウェア0401、及びデータソースノード0203から収集したデータを蓄積しておくDB0402が設けられる。   The data server 0201 collects, stores, and manages data from the data source node 0203, and collects data from the middleware 0401 that controls and manages data replication for at least one node 0202 on which the application operates, and the data source node 0203. A DB 0402 for storing data is provided.

ミドルウェア0401の主な構成要素は、レプリケーション管理部0411、レプリカデータ同期部0412、データ格納部0413、データ更新監視部0414及びデータ通信部0415である。   The main components of the middleware 0401 are a replication management unit 0411, a replica data synchronization unit 0412, a data storage unit 0413, a data update monitoring unit 0414, and a data communication unit 0415.

レプリケーション管理部0411は、データ通信部0415を介してアプリケーションノード0202からのレプリカ登録及びデータレプリケーション実施要求を受付け、データ格納部0413へのデータソースノード0203からのデータ収集の指示、データ更新監視部へのレプリカ対象データの更新有無監視の指示、及び、データ更新有無の監視結果に基づいた、レプリカデータ同期部0412への、アプリケーションが稼動する少なくとも1つのノード0202との間でのレプリカデータ同期実行の指示、等を行う。   The replication management unit 0411 receives the replica registration and data replication execution request from the application node 0202 via the data communication unit 0415, and instructs the data storage unit 0413 to collect data from the data source node 0203 and to the data update monitoring unit. Replica data synchronization execution with at least one node 0202 on which the application is operated to the replica data synchronization unit 0412 based on the instruction to monitor whether the replica target data is updated and the monitoring result of data update presence / absence Give instructions.

レプリカデータ同期部0412は、データ通信部0415を介してアプリケーションが稼動する少なくとも1つのノード0202との間での、少なくとも1つのアプリケーションが使用する少なくとも1つのレプリカデータに関する同期処理を実施する。   The replica data synchronization unit 0412 performs synchronization processing on at least one replica data used by at least one application with at least one node 0202 on which the application operates via the data communication unit 0415.

データ格納部0413は、データ通信部0415を介して少なくとも1つのデータソースノード0203からのデータを収集し、DB0402に格納する。   The data storage unit 0413 collects data from at least one data source node 0203 via the data communication unit 0415 and stores it in the DB 0402.

データ更新監視部0414は、DB0402に格納される各々のデータに関して、データソースからのデータの受信及び上書き格納によるデータ更新発生の有無を監視する。   The data update monitoring unit 0414 monitors the presence / absence of data update due to reception of data from the data source and overwrite storage for each data stored in the DB0402.

データ通信部0415は、通信媒体0205または通信媒体0206を介して分散システムを構成する他のノードとの間の通信を行う。   The data communication unit 0415 performs communication with other nodes constituting the distributed system via the communication medium 0205 or the communication medium 0206.

レプリカデータ管理テーブル0416はレプリケーション管理部0411により管理、更新されるが、詳細は図6にて述べる。   The replica data management table 0416 is managed and updated by the replication management unit 0411. Details will be described with reference to FIG.

図5は、本発明による分散システムを構成し、データソースからのデータを活用するアプリケーションが稼動するノード0202のモジュール構成を示す図である。   FIG. 5 is a diagram showing a module configuration of a node 0202 that configures a distributed system according to the present invention and that runs an application that utilizes data from a data source.

アプリケーションが稼動するノード0202には、データサーバ0201との間でのデータレプリケーションの制御、管理を行うミドルウェア0501、システムにおける各種の処理を実施するアプリケーション0502、前記アプリケーション0502が使用するデータに関するレプリカ0503が設けられる。   The node 0202 on which the application operates has a middleware 0501 for controlling and managing data replication with the data server 0201, an application 0502 for performing various processes in the system, and a replica 0503 for data used by the application 0502. Provided.

ミドルウェア0501の主な構成要素は、レプリカデータ同期部0511、レプリカデータ配置制御部0512、レプリカデータ監視部0513、及びデータ通信部0514である。
レプリカデータ同期部0511は、データ通信部0514を介してデータサーバ0201からデータを取得し、データサーバ0201との間でレプリカデータの同期を行う。
The main components of the middleware 0501 are a replica data synchronization unit 0511, a replica data arrangement control unit 0512, a replica data monitoring unit 0513, and a data communication unit 0514.
The replica data synchronization unit 0511 acquires data from the data server 0201 via the data communication unit 0514 and synchronizes the replica data with the data server 0201.

レプリカデータ配置制御部0512は、イベント駆動するアプリケーションが使用するデータに関して、レプリカデータ監視部0513からの監視結果に基づき、前記データのレプリカのためのデータ配置の決定及び配置変更を行う。   The replica data arrangement control unit 0512 determines the data arrangement for the data replica and changes the arrangement of the data used by the event-driven application based on the monitoring result from the replica data monitoring unit 0513.

レプリカデータ監視部0513は、イベント駆動するアプリケーションが使用するデータに関してアプリケーションによる参照頻度を監視する。   The replica data monitoring unit 0513 monitors the reference frequency by the application regarding the data used by the event-driven application.

データ通信部0514は、通信媒体0205を介して分散システムを構成する他のノードとの間の通信を行う。   The data communication unit 0514 performs communication with other nodes constituting the distributed system via the communication medium 0205.

図6は、本発明におけるデータサーバ0201にて管理されるレプリカデータ管理テーブル0416の構成を示す図である。   FIG. 6 is a diagram showing a configuration of the replica data management table 0416 managed by the data server 0201 according to the present invention.

レプリカデータ管理テーブル0416は、レプリカ0503を使用するアプリケーションに関する情報を格納するアプリケーション情報テーブル0601と各アプリケーションがレプリカとして使用するデータに関する情報を格納するデータ情報テーブル0602とからなる。データ情報テーブル0602は、アプリケーション情報テーブル0601に格納される各アプリケーションに関する情報に対応して1つずつ用意される。   The replica data management table 0416 includes an application information table 0601 that stores information related to applications that use the replica 0503 and a data information table 0602 that stores information related to data used by each application as a replica. One data information table 0602 is prepared corresponding to information on each application stored in the application information table 0601.

アプリケーション情報テーブル0601の主な構成要素は、アプリ識別情報0611、アプリ実行周期0612、アプリ開始時刻0613、稼動ノード識別情報0614、使用データ個数0615、レプリカ情報格納ポインタ0616、及び最新更新時刻0617である。   The main components of the application information table 0601 are application identification information 0611, application execution cycle 0612, application start time 0613, active node identification information 0614, number of used data 0615, replica information storage pointer 0616, and latest update time 0617. .

アプリ識別情報0611には、少なくとも1つのアプリケーションが稼動するノード0202にて稼動するそれぞれのアプリケーションを識別する情報が格納される。アプリ実行周期0612には、アプリ識別情報0611に該当するアプリケーションが周期駆動するアプリケーションである場合、該アプリケーションの実行周期が格納される。アプリ識別情報0611に該当するアプリケーションがイベント駆動するアプリケーションである場合、本項目0612に値は格納されない。アプリ開始時刻0613には、アプリ識別情報0611に該当するアプリケーションがシステム内で動作を開始する時刻が格納される。   The application identification information 0611 stores information for identifying each application running on the node 0202 where at least one application runs. When the application corresponding to the application identification information 0611 is an application that is periodically driven, the application execution period 0612 stores the execution period of the application. If the application corresponding to the application identification information 0611 is an event-driven application, no value is stored in this item 0612. The application start time 0613 stores the time at which the application corresponding to the application identification information 0611 starts operating in the system.

稼動ノード識別情報0614には、アプリ識別情報0611に該当するアプリケーションが稼動するノード0202を識別する情報が格納される。ここではノード番号、IPアドレス等のシステム内でノードを特定する情報が格納される。使用データ個数0615には、アプリ識別情報0611に該当するアプリケーションがレプリカとして使用するデータの個数が格納される。   The operating node identification information 0614 stores information for identifying the node 0202 in which the application corresponding to the application identification information 0611 is operating. Here, information for identifying a node in the system such as a node number and an IP address is stored. The number of used data 0615 stores the number of data used as a replica by the application corresponding to the application identification information 0611.

レプリカ情報格納ポインタ0616には、アプリ識別情報0611に該当するアプリケーションがレプリカとして使用するデータに関する情報が格納されるデータ情報テーブル0602のポインタ情報が格納される。最新更新時刻0617には、項目0611〜0616のデータが最後に更新された時刻が格納される。これらのアプリケーションに関する情報は、アプリケーションがシステム内に登録される度に前記アプリケーション情報テーブル0601に情報が追加される。   The replica information storage pointer 0616 stores pointer information of a data information table 0602 in which information related to data used as a replica by the application corresponding to the application identification information 0611 is stored. The latest update time 0617 stores the time when the data of the items 0611 to 0616 was last updated. Information on these applications is added to the application information table 0601 every time an application is registered in the system.

データ情報テーブル0602の主な構成要素は、レプリカ識別情報0621、データ識別情報0622、データポインタ0623、データサイズ0624、データソース情報0625、更新フラグ0626、及び最新更新時刻0627である。これらの構成要素の組(レコード)は、各アプリケーションが使用するレプリカの個数だけ存在する。   The main components of the data information table 0602 are replica identification information 0621, data identification information 0622, data pointer 0623, data size 0624, data source information 0625, update flag 0626, and latest update time 0627. There are as many sets (records) of these components as the number of replicas used by each application.

レプリカ識別情報0621には、前記アプリケーションが使用するレプリカを識別する情報が格納される。データ識別情報0622には、レプリカ識別情報0621に該当するレプリカのオリジナルとなるデータを識別する情報が格納される。データポインタ0623には、データ識別情報0622に該当するデータのデータサーバ0201上での格納先を示すポインタ情報が格納される。データサイズ0624には、データ識別情報0622に該当するデータのサイズが格納される。データソース情報0625には、データ識別情報0622に該当するデータの発生元であるデータソースノード0203を識別する情報が格納される。ここではノード番号、IPアドレス等のシステム内でノードを特定する情報が格納される。   The replica identification information 0621 stores information for identifying a replica used by the application. The data identification information 0622 stores information for identifying the original data of the replica corresponding to the replica identification information 0621. In the data pointer 0623, pointer information indicating a storage destination on the data server 0201 of data corresponding to the data identification information 0622 is stored. The data size 0624 stores the size of data corresponding to the data identification information 0622. The data source information 0625 stores information for identifying the data source node 0203 that is the data generation source corresponding to the data identification information 0622. Here, information for identifying a node in the system such as a node number and an IP address is stored.

更新フラグ0626には、データ識別情報0622に該当するデータの更新の有無を示すフラグ情報が格納される。最新更新時刻0627には、項目0621〜0626のデータが最後に更新された時刻が格納される。データ情報テーブル0602の各項目の情報はデータソースノード0203からデータが送信され、データサーバ0201上に格納される度に更新される。   The update flag 0626 stores flag information indicating whether data corresponding to the data identification information 0622 has been updated. The latest update time 0627 stores the time when the data of the items 0621 to 0626 was last updated. Information on each item in the data information table 0602 is updated each time data is transmitted from the data source node 0203 and stored on the data server 0201.

図7は、本発明におけるデータサーバ0201での、周期駆動によるアプリケーションが使用するデータの更新監視及びレプリカの更新処理の流れを示すフローチャートである。   FIG. 7 is a flowchart showing the flow of update monitoring and replica update processing of data used by a cyclically driven application in the data server 0201 according to the present invention.

ステップ0701において、少なくとも1つのアプリケーションが稼動するノード0202から、周期駆動によるアプリケーションが使用するデータに関するレプリカ登録を受付け、該アプリケーションの実行周期、実行開始時刻等の情報を取得する。ステップ0702において、該アプリケーションが使用する少なくとも1つのデータのデータソースノード0203に対して、データサーバ0201への配信を要求する。ステップ0703において、レプリカデータ管理テーブル0416における該アプリケーションに関する項目を更新する。ステップ0704において、ステップ0701にて取得した該アプリケーションの実行周期0612、実行開始時刻0613等の情報に従って、該アプリケーションの動作と連動した、データ更新の監視としてステップ0705以降の処理を開始する。   In step 0701, replica registration regarding data used by a cyclically driven application is received from a node 0202 in which at least one application is operating, and information such as the execution cycle and execution start time of the application is acquired. In step 0702, the data source node 0203 of at least one data used by the application is requested to be distributed to the data server 0201. In step 0703, the item regarding the application in the replica data management table 0416 is updated. In step 0704, in accordance with the information such as the execution period 0612 of the application acquired in step 0701 and the execution start time 0613, the processing from step 0705 is started as data update monitoring in conjunction with the operation of the application.

ステップ0705において、レプリカデータ管理テーブル0416における該アプリケーションが使用するデータに関する、データ情報テーブル0602のデータ毎の項目として更新フラグ0626を参照する。前記テーブルの詳細は図6にて述べている。ステップ0706において、ステップ0705の更新フラグ0626の値から、該データが更新有りである場合、ステップ0707において、データソースからのデータを格納している、データサーバ0201上のDB0402から該当データを取得し、一時格納領域に格納する。ステップ0708において、ステップ0705におけるデータ情報テーブル0602における該データの項目に対する更新フラグ0626の値をリセットする。   In step 0705, the update flag 0626 is referred to as an item for each data in the data information table 0602 regarding the data used by the application in the replica data management table 0416. Details of the table are described in FIG. In step 0706, when the data is updated from the value of the update flag 0626 in step 0705, in step 0707, the corresponding data is acquired from the DB 0402 on the data server 0201 storing the data from the data source. Store in the temporary storage area. In step 0708, the value of the update flag 0626 for the data item in the data information table 0602 in step 0705 is reset.

ステップ0709において、該アプリケーションが使用する全てデータのデータにして終了していない場合、ステップ0705からステップ0708の処理を繰り返す。ステップ0709において、該アプリケーションが使用する全てデータのデータに対して終了した場合であって、かつ、ステップ0710において、ステップ0709までの処理にて検出した少なくとも1つの更新データが有る場合、ステップ0711において、ステップ0707にて一時格納領域に格納していた少なくとも1つの更新データを、該アプリケーションが稼動するノード0202に送信する。ステップ0710において、ステップ0709までの処理にて検出した少なくとも1つの更新データが無い場合、ステップ0711の処理は省略する。ステップ0712において、該アプリケーションの実行周期に従って次周期まで待機して、ステップ0705の処理に戻る。   If it is determined in step 0709 that all the data used by the application has not been completed, the processing from step 0705 to step 0708 is repeated. In step 0709, if all the data used by the application is completed, and if there is at least one update data detected in the process up to step 0709 in step 0710, in step 0711 In step 0707, at least one update data stored in the temporary storage area is transmitted to the node 0202 on which the application operates. In step 0710, if there is no at least one update data detected in the processing up to step 0709, the processing in step 0711 is omitted. In step 0712, the process waits until the next period according to the execution period of the application, and returns to the process in step 0705.

図8は、本発明における少なくとも1つのアプリケーションが稼動するノード0202での、周期駆動によるアプリケーションが使用するデータのレプリカ0503に対する更新処理の流れを示すフローチャートである。   FIG. 8 is a flowchart showing the flow of update processing for the replica 0503 of the data used by the periodic drive application in the node 0202 in which at least one application operates in the present invention.

ステップ0801において、周期駆動によるアプリケーションが使用するデータに関するレプリカ、該アプリケーションの実行周期、及び実行開始時刻等の情報をデータサーバ0201に登録する。ステップ0802において、該アプリケーションの各周期の処理時間に対して、レプリカ更新の処理に要する時間が所定の値よりも大きいと判定した場合、ステップ0803において、該アプリケーションが使用するデータのレプリカの複製データを作成する。ステップ0802において、該アプリケーションの各周期の処理時間に対して、レプリカ更新の処理に要する時間が所定の値よりも小さいと判定した場合、ステップ0803の処理は省略する。   In step 0801, information such as a replica related to data used by a periodic drive application, an execution cycle of the application, and an execution start time is registered in the data server 0201. If it is determined in step 0802 that the time required for replica update processing is greater than a predetermined value with respect to the processing time of each cycle of the application, in step 0803, replica data of a replica of data used by the application Create If it is determined in step 0802 that the time required for replica update processing is smaller than a predetermined value with respect to the processing time of each cycle of the application, the processing in step 0803 is omitted.

ステップ0804において、データサーバ0201より、該アプリケーションが使用するレプリカ0503の更新データを受信する。ステップ0805において、ステップ0803にて該アプリケーションが使用するレプリカ0503の複製データを作成していない場合、ステップ0806において、ステップ0804にて受信したデータを該当データのレプリカ0503に上書きして更新する。その後、ステップ0804の処理に戻る。   In step 0804, update data of the replica 0503 used by the application is received from the data server 0201. In step 0805, if the replica 0503 used by the application is not created in step 0803, the data received in step 0804 is overwritten on the replica 0503 of the corresponding data and updated in step 0806. Thereafter, the processing returns to step 0804.

ステップ0805において、ステップ0803にて該アプリケーションが使用するレプリカ0503の複製データを作成している場合、ステップ0807において、ステップ0804にて受信したデータを該当データのレプリカ0503の複製データに対して上書きする。ステップ0808において、該アプリケーションが処理待機中ではない場合、処理待機中となるまで待機する。ステップ0808において、該アプリケーションが処理待機中である場合、ステップ0809において、ステップ0807にて更新したレプリカ複製データをレプリカデータ本体に対して上書きして更新する。その後、ステップ0804の処理に戻る。   In step 0805, if duplicate data of replica 0503 used by the application is created in step 0803, the data received in step 0804 is overwritten on the duplicate data of replica 0503 of the corresponding data in step 0807. . In step 0808, if the application is not waiting for processing, it waits until it is waiting for processing. If the application is waiting for processing in step 0808, in step 0809, the replica replication data updated in step 0807 is overwritten and updated on the replica data body. Thereafter, the processing returns to step 0804.

図9は、本発明によるイベント駆動によるアプリケーションが使用するデータの重要度について説明する図である。本図ではいくつかの事例を挙げている。   FIG. 9 is a diagram illustrating the importance of data used by an event-driven application according to the present invention. Several examples are given in this figure.

主な構成要素は、データ種別の分類0901、種別による重要度0902、参照頻度に対する優先順位0903である。   The main components are a data type classification 0901, an importance level 0902 depending on the type, and a priority order 0903 for the reference frequency.

データ種別の分類0901は、イベント駆動によるアプリケーションが使用するデータの重要度を決定するために用いる、データ種別の分類である。本図では4つの事例を挙げているが、これらの分類のうちの少なくとも1つを用いるものとする。具体的な事例は適用先システムにより異なり得る。種別による重要度0902は、データ種別の分類0901毎に重要度の高いデータ、重要度の低いデータの事例を挙げている。参照頻度に対する優先順位0903は、種別による重要度0902における各々の重要度の高いデータ、又は重要度の低いデータに対して、データの参照頻度に基づいて決定する優先順位の範囲を示す。これらの範囲はデータ毎に予め定義するものである。図9に示すデータの重要度の定義はデータサーバ0201に保持されている。   The data type classification 0901 is a data type classification used to determine the importance of data used by an event-driven application. Although four examples are given in the figure, at least one of these classifications is used. Specific examples may vary depending on the application system. The degree of importance 0902 by type gives an example of data with high importance and data with low importance for each classification 0901 of the data type. The priority order 0903 with respect to the reference frequency indicates a range of priority order determined based on the data reference frequency with respect to each of the high importance data or the low importance data in the importance 0902 according to the type. These ranges are defined in advance for each data. The definition of the importance of data shown in FIG. 9 is held in the data server 0201.

図10は、データサーバ0201が、本発明によるイベント駆動によるアプリケーションが使用するデータの優先順位を決定し、該優先順位に基づきデータを配置する処理の流れを示すフローチャートである。   FIG. 10 is a flowchart showing a flow of processing in which the data server 0201 determines the priority order of data used by the event-driven application according to the present invention and arranges data based on the priority order.

ステップ1001において、イベント駆動によるアプリケーションが使用するデータに関して、データ毎の参照頻度を監視する。ステップ1002において、ステップ1001の参照頻度監視の結果と図9にて述べたデータの重要度0902から該データの優先順位0903を算出する。   In step 1001, regarding the data used by the event-driven application, the reference frequency for each data is monitored. In step 1002, the priority order 0903 of the data is calculated from the result of the reference frequency monitoring in step 1001 and the importance 0902 of the data described in FIG.

ステップ1003において、該データの優先順位がこれまでの値から変更されている場合、ステップ1004において、図9及びステップ1002で算出した該データの優先順位0903に基づいて、該データの配置の変更を実施する。ここでは優先順位の高い順に、メモリ、ファイル、該データを保有する他ノードへのポインタ、さらにデータ削除、へと該データの配置の仕方が変更されていく。ステップ1003において、該データの優先順位がこれまでの値から変更されていない場合、ステップ1004の処理は実施しない。   If the priority of the data has been changed from the previous value in step 1003, the arrangement of the data is changed in step 1004 based on the priority 0903 of the data calculated in FIG. 9 and step 1002. carry out. Here, in the order of higher priority, the arrangement of the data is changed to the memory, the file, the pointer to the other node holding the data, and further the data deletion. In step 1003, if the priority order of the data has not been changed from the previous value, the processing in step 1004 is not performed.

ステップ1005において、イベント駆動によるアプリケーションが使用する全てのデータに対して終了した場合、ステップ1006において、所定の時間だけ待機した後、ステップ1001の処理に戻る。ステップ1005において、イベント駆動によるアプリケーションが使用する全てのデータに対して終了していない場合、ステップ1001からステップ1004までの処理を繰り返す。   In step 1005, when all the data used by the event-driven application is completed, in step 1006, after waiting for a predetermined time, the process returns to step 1001. If it is determined in step 1005 that all data used by the event-driven application has not been completed, the processing from step 1001 to step 1004 is repeated.

0201 データサーバ
0202 アプリケーションノード
0203 データソースノード
0205 通信媒体
0401 データサーバのミドルウェア
0402 DB
0501 アプリケーションノードのミドルウェア
0502 アプリケーション
0503 レプリカ
0201 Data server 0202 Application node 0203 Data source node 0205 Communication medium 0401 Data server middleware 0402 DB
0501 Application Node Middleware 0502 Application 0503 Replica

Claims (8)

ネットワークを介して相互接続した、複数の独立したノードにより構成され、個々にデータを管理し発信するデータソースとなる少なくとも1つのノードと、前記データソースからのデータを収集、管理する少なくとも1つのデータサーバと、前記データソースからのデータを活用する少なくとも1つのアプリケーションが稼動する少なくとも1つのノードとを含める、分散システムにおいて、
前記データサーバと前記データソースからのデータを活用する少なくとも1つのアプリケーションが稼動する少なくとも1つのノードの間にて、前記データソースから収集したデータのレプリケーションを実施する場合、前記データソースとなる少なくとも1つのノードが発信するデータを、前記データサーバが収集し蓄積するステップと、
各ノードでは少なくとも1つのアプリケーションに対して、各アプリケーションにて使用する少なくとも1つのデータに関するレプリカを配置し該データのレプリケーションを実施するステップと、
前記アプリケーションが稼動する少なくとも1つのノードにおいて、周期駆動するアプリケーションの実行周期を取得するステップと、該実行周期に合わせて事前に該周期駆動するアプリケーションが使用する少なくとも1つのデータの更新の有無を判定し、次実行周期の開始までに該データのレプリカの更新を実施し完了させておくステップと、
前記アプリケーションが稼動する少なくとも1つのノードにおいて、イベント駆動するアプリケーションが使用する少なくとも1つのデータに関して、該データのアプリケーションによる参照頻度を監視するステップと、前記参照頻度の監視結果と、該データの種別による重要度により優先順位を決定するステップと、前記決定した優先順位に従って前記イベント駆動によるアプリケーションが使用するレプリカのデータの配置を変更するステップと、を含み、
少なくとも1つのアプリケーションが稼動するノードにおいて、少なくとも1つのアプリケーションに対して使用するデータのレプリカ用のデータ格納領域を個別に割当てる際に、
少なくとも1つの周期駆動型アプリケーションが各々使用するデータのレプリカ用のデータ格納領域を優先的に割当て、
少なくとも1つのイベント駆動型アプリケーションが各々使用するデータのレプリカ用のデータ格納領域は、前記周期駆動型アプリケーションが使用するデータのレプリカ用のデータ格納領域を割当て後の残りの領域を使用する
ことを特徴とする、分散システムにおけるデータレプリケーション管理方法。
At least one node that is composed of a plurality of independent nodes interconnected via a network and that individually manages and transmits data, and at least one data that collects and manages data from the data source In a distributed system comprising a server and at least one node running at least one application that utilizes data from the data source,
When performing replication of data collected from the data source between the data server and at least one node running at least one application that uses data from the data source, at least one serving as the data source The data server collects and stores data transmitted by two nodes;
For each node, for at least one application, placing a replica for at least one data used in each application, and performing replication of the data;
In at least one node where the application operates, a step of acquiring an execution period of the periodically driven application, and determining whether at least one data used by the periodically driven application is updated in advance in accordance with the execution period And updating and completing the replica of the data by the start of the next execution cycle, and
Monitoring at least one data used by an event-driven application at at least one node where the application is running, monitoring a reference frequency of the data by the application, a monitoring result of the reference frequency, and a type of the data Determining priority according to importance, and changing the placement of replica data used by the event-driven application according to the determined priority,
When individually allocating a data storage area for replicas of data to be used for at least one application in a node where at least one application runs,
Preferentially allocate data storage areas for replicas of data each used by at least one cyclically driven application;
The data storage area for replicas of data used by at least one event-driven application uses the remaining area after allocating the data storage area for replicas of data used by the period-driven application <br / > A data replication management method in a distributed system.
請求項1において、少なくとも1つのデータソースからのデータを収集し管理するデータサーバと、前記データソースからのデータを活用する少なくとも1つのアプリケーションが稼動する少なくとも1つのノードとの間で実施する前記データのレプリケーションは、前記データソースからのデータを前記データサーバが受信したタイミングで実行される、もしくは規定の周期で実行されることを特徴とする、分散システムにおけるデータレプリケーション管理方法。   2. The data implemented in claim 1 between a data server collecting and managing data from at least one data source and at least one node running at least one application utilizing data from the data source. The data replication management method in the distributed system, wherein the replication is executed at a timing when the data server receives the data from the data source, or is executed at a predetermined cycle. 請求項1において、少なくとも1つのアプリケーションが稼動するノードにおいて、周期駆動するアプリケーションの実行周期を取得する際に、
ユーザによる事前登録情報を参照する、もしくは前記周期駆動するアプリケーションの動作を監視し算出することを特徴とする、分散システムにおけるデータレプリケーション管理方法。
In claim 1, when acquiring an execution cycle of a periodically driven application in a node where at least one application operates,
A data replication management method in a distributed system, characterized by referring to pre-registration information by a user or monitoring and calculating the operation of the periodically driven application.
請求項1または請求項3において、少なくとも1つのアプリケーションが稼動するノードで周期駆動するアプリケーションが使用するデータに関して、
該周期駆動するアプリケーションの実行周期と連動して、データソースからのデータを収集して管理するデータサーバが、データソースとなるノードからのデータ受信等による該データの更新の有無を監視し、該データの更新を検出した場合は、
該アプリケーションの現周期における処理終了の時点から次周期における処理が開始する時点までの期間に、該更新後のデータを前記アプリケーションが稼動するノードに送信してレプリカの更新を行って完了させておくことを特徴とする、分散システムにおけるデータレプリケーション管理方法。
In claim 1 or claim 3, regarding data used by an application that is periodically driven in a node in which at least one application runs,
A data server that collects and manages data from a data source in conjunction with the execution cycle of the periodically driven application monitors whether or not the data is updated by receiving data from a data source node, and the like. If we detect a data update,
During the period from the end of processing in the current cycle of the application to the start of processing in the next cycle, the updated data is transmitted to the node on which the application operates to update and complete the replica. A data replication management method in a distributed system.
ネットワークを介して相互接続した、複数の独立したノードにより構成され、個々にデータを管理し発信するデータソースとなる少なくとも1つのノードと、前記データソースからのデータを収集、管理する少なくとも1つのデータサーバと、前記データソースからのデータを活用する少なくとも1つのアプリケーションが稼動する少なくとも1つのノードとを含める、分散システムにおいて、
前記データサーバと前記データソースからのデータを活用する少なくとも1つのアプリケーションが稼動する少なくとも1つのノードの間にて、前記データソースから収集したデータのレプリケーションを実施する場合、前記データソースとなる少なくとも1つのノードが発信するデータを、前記データサーバが収集し蓄積するステップと、
各ノードでは少なくとも1つのアプリケーションに対して、各アプリケーションにて使用する少なくとも1つのデータに関するレプリカを配置し該データのレプリケーションを実施するステップと、
前記アプリケーションが稼動する少なくとも1つのノードにおいて、周期駆動するアプリケーションの実行周期を取得するステップと、該実行周期に合わせて事前に該周期駆動するアプリケーションが使用する少なくとも1つのデータの更新の有無を判定し、次実行周期の開始までに該データのレプリカの更新を実施し完了させておくステップと、
前記アプリケーションが稼動する少なくとも1つのノードにおいて、イベント駆動するアプリケーションが使用する少なくとも1つのデータに関して、該データのアプリケーションによる参照頻度を監視するステップと、前記参照頻度の監視結果と、該データの種別による重要度により優先順位を決定するステップと、前記決定した優先順位に従って前記イベント駆動によるアプリケーションが使用するレプリカのデータの配置を変更するステップと、を含み、
少なくとも1つのアプリケーションが稼動するノードで周期駆動するアプリケーションが使用するデータに関して、
該周期駆動するアプリケーションの実行周期と連動して、データソースからのデータを収集して管理するデータサーバが、データソースとなるノードからのデータ受信等による該データの更新の有無を監視し、該データの更新を検出した場合は、
該アプリケーションの現周期における処理終了の時点から次周期における処理が開始する時点までの期間に、該更新後のデータを前記アプリケーションが稼動するノードに送信してレプリカの更新を行って完了させておき、
周期駆動するアプリケーションにおける各周期での処理終了の時点から次周期における処理開始の時点までの期間よりも、該周期駆動するアプリケーションが使用するデータに対する、データサーバにおける更新監視、アプリケーションが稼動するノードへの送信及びレプリカ更新の処理に要する時間が長い場合、
該アプリケーションが稼動するノードは、該周期駆動するアプリケーションが使用するデータのレプリカの複製データを用意し、
データサーバによってデータ更新が検出された該アプリケーションが稼動するノードへの該当データの送信及び更新処理を、該アプリケーションの各周期での処理と並行して、前記複製データに対して実行し、
前記複製データへの更新処理完了後に、該アプリケーションが使用するレプリカに対する該アプリケーションの処理が実施されていない間に、前記複製データの内容との差替えを実施することを特徴とする、分散システムにおけるデータレプリケーション管理方法。
At least one node that is composed of a plurality of independent nodes interconnected via a network and that individually manages and transmits data, and at least one data that collects and manages data from the data source In a distributed system comprising a server and at least one node running at least one application that utilizes data from the data source,
When performing replication of data collected from the data source between the data server and at least one node running at least one application that uses data from the data source, at least one serving as the data source The data server collects and stores data transmitted by two nodes;
For each node, for at least one application, placing a replica for at least one data used in each application, and performing replication of the data;
In at least one node where the application operates, a step of acquiring an execution period of the periodically driven application, and determining whether at least one data used by the periodically driven application is updated in advance in accordance with the execution period And updating and completing the replica of the data by the start of the next execution cycle, and
Monitoring at least one data used by an event-driven application at at least one node where the application is running, monitoring a reference frequency of the data by the application, a monitoring result of the reference frequency, and a type of the data Determining priority according to importance, and changing the placement of replica data used by the event-driven application according to the determined priority,
Regarding the data used by applications that are driven periodically by a node where at least one application runs,
A data server that collects and manages data from a data source in conjunction with the execution cycle of the periodically driven application monitors whether or not the data is updated by receiving data from a data source node, and the like. If we detect a data update,
During the period from the end of processing in the current cycle of the application to the start of processing in the next cycle, the updated data is transmitted to the node where the application is running to update the replica and complete it. ,
In the period-driven application, the monitoring of the data used by the period-driven application from the end of the process in each period to the start of the process in the next period, to the node where the application operates If it takes a long time to send and update replicas,
The node on which the application operates prepares replica data of a replica of data used by the periodically driven application,
The transmission and update processing of the corresponding data to the node on which the application where the data update is detected by the data server is executed in parallel with the processing in each cycle of the application, and the replication data is executed.
The data in the distributed system, wherein after the update process to the replicated data is completed, the replica data is replaced with the content of the replica while the process of the application is not performed on the replica used by the application Replication management method.
請求項1において、少なくとも1つのアプリケーションが稼動するノードでイベント駆動するアプリケーションが使用するデータに関して、
該データの優先順位を決定するために重要度を参照する該データの種別として、データの用途、データ発生時のシステム状態、データを使用するアプリケーションの優先度、及びデータの鮮度、の少なくとも1つを用いることを特徴とする、分散システムにおけるデータレプリケーション管理方法。
In claim 1, with respect to data used by an event driven application at a node where at least one application runs,
The type of the data that refers to the importance in order to determine the priority of the data is at least one of the use of the data, the system state when the data is generated, the priority of the application that uses the data, and the freshness of the data And a data replication management method in a distributed system.
請求項1において、少なくとも1つのアプリケーションが稼動するノードでイベント駆動するアプリケーションが使用するデータに関して、
該データの種別による重要度の高いデータは、優先順位のより高い範囲内で、監視結果による該データの参照頻度の高さに応じて優先順位を決定し、
該データの種別による重要度の低いデータは、優先順位のより低い範囲内で、監視結果による該データの参照頻度の高さに応じて優先順位を決定することを特徴とする、データ分散システムにおけるデータレプリケーション管理方法。
In claim 1, with respect to data used by an event driven application at a node where at least one application runs,
High priority data according to the type of the data is determined within the higher priority range, the priority order is determined according to the reference frequency of the data according to the monitoring result,
In the data distribution system, the priority of the less important data according to the type of the data is determined in accordance with the reference frequency of the data according to the monitoring result within a lower priority range. Data replication management method.
請求項1において、少なくとも1つのアプリケーションが稼動するノードでイベント駆動するアプリケーションが使用するデータに関して、
該データの参照頻度の監視結果と、該データの種別による重要度により決定する優先順位とに従って、該データのレプリカの配置場所を、前記優先順位が高い順に、前記ノード内のメモリ、ファイル、該データを格納する他ノードを示すポインタ情報、さらに該データの削除、へと変更することを特徴とする、分散システムにおけるデータレプリケーション管理方法。
In claim 1, with respect to data used by an event driven application at a node where at least one application runs,
According to the monitoring result of the reference frequency of the data and the priority order determined by the importance according to the type of the data, the location of the replica of the data is arranged in the descending order of the priority, the memory in the node, the file, A data replication management method in a distributed system, characterized by changing pointer information indicating another node that stores data, and further deleting the data.
JP2010209653A 2010-09-17 2010-09-17 Data replication management method in distributed system Active JP5530878B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010209653A JP5530878B2 (en) 2010-09-17 2010-09-17 Data replication management method in distributed system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010209653A JP5530878B2 (en) 2010-09-17 2010-09-17 Data replication management method in distributed system

Publications (2)

Publication Number Publication Date
JP2012064130A JP2012064130A (en) 2012-03-29
JP5530878B2 true JP5530878B2 (en) 2014-06-25

Family

ID=46059746

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010209653A Active JP5530878B2 (en) 2010-09-17 2010-09-17 Data replication management method in distributed system

Country Status (1)

Country Link
JP (1) JP5530878B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189664B (en) * 2018-07-24 2022-08-02 网宿科技股份有限公司 Information acquisition method and terminal for application program
CN114629806B (en) * 2022-04-13 2023-12-12 腾讯科技(成都)有限公司 Data processing method, device, electronic equipment, storage medium and program product

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0944381A (en) * 1995-07-31 1997-02-14 Toshiba Corp Method and device for data storage
JPH1185604A (en) * 1997-09-12 1999-03-30 Nippon Telegr & Teleph Corp <Ntt> Contents arrangement changing method and system and storage medium storing contents arrangement change program
JP2001069169A (en) * 1999-08-27 2001-03-16 Nippon Telegr & Teleph Corp <Ntt> Server location controller
US20050289152A1 (en) * 2004-06-10 2005-12-29 Earl William J Method and apparatus for implementing a file system
US7165158B1 (en) * 2005-08-17 2007-01-16 Hitachi, Ltd. System and method for migrating a replication system
JP4498262B2 (en) * 2005-11-08 2010-07-07 株式会社日立製作所 Information sharing method in distributed system
JP2009209653A (en) * 2008-03-06 2009-09-17 Aisin Seiki Co Ltd Lock device for broken type door of vehicle
JP5079561B2 (en) * 2008-03-21 2012-11-21 株式会社野村総合研究所 Database system and replica data updating method in database system

Also Published As

Publication number Publication date
JP2012064130A (en) 2012-03-29

Similar Documents

Publication Publication Date Title
US20160275123A1 (en) Pipeline execution of multiple map-reduce jobs
US8739169B2 (en) Method for monitoring operating experiences of images to improve workload optimization in cloud computing environments
CN109936473B (en) Deep learning prediction-based distributed computing system and operation method thereof
CN109150987B (en) Two-layer container cluster elastic expansion method based on host layer and container layer
CN109992373B (en) Resource scheduling method, information management method and device and task deployment system
CN108304296A (en) A kind of server monitoring method, system, equipment and computer readable storage medium
CN106462459A (en) Managing metadata for distributed processing system
CN109302324A (en) A kind of private clound monitoring and early warning method and system
CN115617527A (en) Management method, configuration method, management device and configuration device of thread pool
CN103186536A (en) Method and system for scheduling data shearing devices
CN109614241B (en) Method and system for realizing multi-cluster multi-tenant resource isolation based on Yarn queue
CN202872848U (en) Cloud storage terminal equipment based on cloud information and cloud computing services
CN114531373A (en) Node state detection method, node state detection device, equipment and medium
JP5530878B2 (en) Data replication management method in distributed system
CN104951855A (en) Apparatus and method for improving resource management
CN111177160B (en) Service updating method, device, server and medium
US8788601B2 (en) Rapid notification system
JP6279816B2 (en) Storage monitoring system and monitoring method thereof
CN116881012A (en) Container application vertical capacity expansion method, device, equipment and readable storage medium
CN110247937B (en) Method for managing and accessing shared file of elastic storage system and related equipment
JP5632403B2 (en) Task management system, task management server, task management method, and task management program
US20120102290A1 (en) Storage Scalability Management
US20120173733A1 (en) Flexible Delegation of Management Function For Self-Managing Resources
WO2013035719A1 (en) Data placement system, distributed access node, data placement method and program
CN111045778B (en) Virtual machine creation method, device, server and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140121

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140317

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140421

R150 Certificate of patent or registration of utility model

Ref document number: 5530878

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150