JP5530878B2 - Data replication management method in distributed system - Google Patents
Data replication management method in distributed system Download PDFInfo
- 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
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.
本発明が対象とするのは、鉄道、電力等の分野における分散システムであり、これらの分野におけるアプリケーションは、一定の実行周期にて所定の処理を実行する周期駆動型アプリケーションと、イベント発生をトリガーとして所定の処理を実行するイベント駆動型アプリケーションとの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.
図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
データサーバ0201はデータソース0203から発信されるデータを受信する度にDB0101に格納される該当データの上書き更新を実施する。また前記更新データに関するアプリケーションノード0202上の該当レプリカに対しても、前記更新データをアプリケーションノード0202に送信し、前記該当レプリカの更新を実施する。ここで周期駆動によるアプリケーション0104が使用するレプリカ0102に関しては、該アプリケーションの実行周期に合わせて事前に該アプリケーションが使用する少なくとも1つのレプリカ0102の元となるDB0101内のデータに対する更新の有無を判定し、更新を検出した場合、次実行周期の開始時点までに該データのレプリカ0102の更新を実施し完了させておく(0111)。上記により周期駆動によるアプリケーション0104が各周期にて処理を開始する時点では必要なデータが整合性をとれて用意されており、周期駆動によるアプリケーション0104の実行周期の維持と処理実行の確実さを保証する。
Each time the
またアプリケーションノード0202では、イベント駆動によるアプリケーション0105が使用するレプリカ0103よりも周期駆動によるアプリケーション0104が使用するレプリカ0102に対して優先的にデータ領域を割当てることで、周期駆動によるアプリケーション0104の実行周期の維持と処理実行の確実さを保証する。つまり周期駆動によるアプリケーション0104が使用するレプリカ0102に対しては常にメモリを割当てるが、イベント駆動によるアプリケーション0105が使用するレプリカ0103に対しては、該データの参照頻度と該データの種別による重要度から優先順位を決定し、前記優先順位に従って、イベント駆動によるアプリケーション0105が使用するレプリカ0103のデータ配置を優先順位の高い順に、メモリ、ファイル、該データを保有する他ノードへのポインタ、削除、へと遷移させる。
In addition, the
上記の各処理の詳細は以降の図にて述べる。 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
データソースノード0203の主なハードウェア構成は、処理装置(CPU)0231、記憶装置(メモリ、ハードディスク)0232、通信装置0233からなる。記憶装置0232には、設備0204の管理及び制御を行うためのソフトウェアプログラム、設備0204から取得したデータを蓄積またはデータサーバ0201に送信するためのソフトウェアプログラム等が格納され、処理装置0231により処理される。また通信装置0233は、ネットワーク0206を介してデータサーバ0201との間での通信処理を行う。
The main hardware configuration of the
データサーバ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
アプリケーションノード0202の主なハードウェア構成は、処理装置(CPU)0221、記憶装置(メモリ、ハードディスク)0222、通信装置0223からなる。記憶装置0222には、該ノードにて稼動するアプリケーションプログラム、レプリカデータの管理及び更新を行うためのソフトウェアプログラム、データサーバ0201から送信されるデータを受信するためのソフトウェアプログラム等が格納され、処理装置0221により処理される。また記憶装置0222には、アプリケーションが使用するレプリカデータが格納される。また通信装置0223は、ネットワーク0205を介してデータサーバ0201との間での通信処理を行う。
The main hardware configuration of the
図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
アプリケーションノード0202にて、ステップ0311において、データサーバ0201に対して、アプリケーションが使用するレプリカデータに関する登録を行う。
In
データサーバ0201にて、ステップ0321において、ステップ0311でのアプリケーションノード0202からのレプリカ登録に対して、データソースノード0203に対して、レプリカのオリジナルとなるデータの配信を要求し、アプリケーション及びレプリカに関する情報を格納するレプリカデータ管理テーブルを更新する。本テーブルの詳細は図6にて述べる。
In
ステップ0322において、アプリケーションの実行周期に応じて、ステップ0311にて登録されたレプリカのオリジナルとなる、データサーバ0201にて管理するDB上のデータの更新有無の監視を開始する。実行周期0301において、データソースノードA及びデータソースノードB(0203)が、ステップ0321のデータ配信要求に従って、データサーバ0201に対して、レプリカのオリジナルとなる各々のデータが配信されると(0341、0331)、ステップ0323及びステップ0324において、これらのデータを受信し、データサーバ0201にて管理するDBに格納し該当データを更新する。このDBはアプリケーションノード0202に配置するレプリカの同期元となるデータを格納するものである。
In
ステップ0325において、データ更新監視により、前記データの更新を検出する。ステップ0326において、ステップ0325にて更新検出したデータを、レプリカを配置するアプリケーションノード0202へと送信する。アプリケーションノード0202にて、ステップ0312において、前記更新検出したデータを受信し、該当レプリカの更新を実施する。
In
実行周期0302において、ステップ0327において、データ更新監視を実施するが、更新は検出されなかったため、該周期ではレプリカ更新処理は実施しない。
In the
実行周期0303において、データソースノードB0203にて、ステップ0332において、データサーバ0201に対して、レプリカのオリジナルとなるデータが配信されると、ステップ0328において、これらのデータを受信し、データサーバ0201にて管理するDBに格納し該当データを更新する。
In the
ステップ0329において、データ更新監視により、前記データの更新を検出する。ステップ0320において、ステップ0329にて更新検出したデータを、レプリカを配置するアプリケーションノード0202へと送信する。アプリケーションノード0202にて、ステップ0313において、前記更新検出したデータを受信し、該当レプリカの更新を実施する。以上の処理を周期毎に繰り返す。
In
図4は、本発明における分散システムを構成し、データソースノード0203からのデータを収集、管理し、アプリケーションが稼動する少なくとも1つのノード0202に対してデータレプリケーションを実施する、データサーバ0201のモジュール構成を示す図である。
FIG. 4 shows a module configuration of the
データサーバ0201には、データソースノード0203からのデータ収集、蓄積及び管理を行い、アプリケーションが稼動する少なくとも1つのノード0202に対するデータレプリケーションの制御や管理を行うミドルウェア0401、及びデータソースノード0203から収集したデータを蓄積しておくDB0402が設けられる。
The
ミドルウェア0401の主な構成要素は、レプリケーション管理部0411、レプリカデータ同期部0412、データ格納部0413、データ更新監視部0414及びデータ通信部0415である。
The main components of the
レプリケーション管理部0411は、データ通信部0415を介してアプリケーションノード0202からのレプリカ登録及びデータレプリケーション実施要求を受付け、データ格納部0413へのデータソースノード0203からのデータ収集の指示、データ更新監視部へのレプリカ対象データの更新有無監視の指示、及び、データ更新有無の監視結果に基づいた、レプリカデータ同期部0412への、アプリケーションが稼動する少なくとも1つのノード0202との間でのレプリカデータ同期実行の指示、等を行う。
The
レプリカデータ同期部0412は、データ通信部0415を介してアプリケーションが稼動する少なくとも1つのノード0202との間での、少なくとも1つのアプリケーションが使用する少なくとも1つのレプリカデータに関する同期処理を実施する。
The replica
データ格納部0413は、データ通信部0415を介して少なくとも1つのデータソースノード0203からのデータを収集し、DB0402に格納する。
The
データ更新監視部0414は、DB0402に格納される各々のデータに関して、データソースからのデータの受信及び上書き格納によるデータ更新発生の有無を監視する。
The data update
データ通信部0415は、通信媒体0205または通信媒体0206を介して分散システムを構成する他のノードとの間の通信を行う。
The
レプリカデータ管理テーブル0416はレプリケーション管理部0411により管理、更新されるが、詳細は図6にて述べる。
The replica data management table 0416 is managed and updated by the
図5は、本発明による分散システムを構成し、データソースからのデータを活用するアプリケーションが稼動するノード0202のモジュール構成を示す図である。
FIG. 5 is a diagram showing a module configuration of a
アプリケーションが稼動するノード0202には、データサーバ0201との間でのデータレプリケーションの制御、管理を行うミドルウェア0501、システムにおける各種の処理を実施するアプリケーション0502、前記アプリケーション0502が使用するデータに関するレプリカ0503が設けられる。
The
ミドルウェア0501の主な構成要素は、レプリカデータ同期部0511、レプリカデータ配置制御部0512、レプリカデータ監視部0513、及びデータ通信部0514である。
レプリカデータ同期部0511は、データ通信部0514を介してデータサーバ0201からデータを取得し、データサーバ0201との間でレプリカデータの同期を行う。
The main components of the
The replica
レプリカデータ配置制御部0512は、イベント駆動するアプリケーションが使用するデータに関して、レプリカデータ監視部0513からの監視結果に基づき、前記データのレプリカのためのデータ配置の決定及び配置変更を行う。
The replica data
レプリカデータ監視部0513は、イベント駆動するアプリケーションが使用するデータに関してアプリケーションによる参照頻度を監視する。
The replica
データ通信部0514は、通信媒体0205を介して分散システムを構成する他のノードとの間の通信を行う。
The
図6は、本発明におけるデータサーバ0201にて管理されるレプリカデータ管理テーブル0416の構成を示す図である。
FIG. 6 is a diagram showing a configuration of the replica data management table 0416 managed by the
レプリカデータ管理テーブル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
アプリケーション情報テーブル0601の主な構成要素は、アプリ識別情報0611、アプリ実行周期0612、アプリ開始時刻0613、稼動ノード識別情報0614、使用データ個数0615、レプリカ情報格納ポインタ0616、及び最新更新時刻0617である。
The main components of the application information table 0601 are
アプリ識別情報0611には、少なくとも1つのアプリケーションが稼動するノード0202にて稼動するそれぞれのアプリケーションを識別する情報が格納される。アプリ実行周期0612には、アプリ識別情報0611に該当するアプリケーションが周期駆動するアプリケーションである場合、該アプリケーションの実行周期が格納される。アプリ識別情報0611に該当するアプリケーションがイベント駆動するアプリケーションである場合、本項目0612に値は格納されない。アプリ開始時刻0613には、アプリ識別情報0611に該当するアプリケーションがシステム内で動作を開始する時刻が格納される。
The
稼動ノード識別情報0614には、アプリ識別情報0611に該当するアプリケーションが稼動するノード0202を識別する情報が格納される。ここではノード番号、IPアドレス等のシステム内でノードを特定する情報が格納される。使用データ個数0615には、アプリ識別情報0611に該当するアプリケーションがレプリカとして使用するデータの個数が格納される。
The operating
レプリカ情報格納ポインタ0616には、アプリ識別情報0611に該当するアプリケーションがレプリカとして使用するデータに関する情報が格納されるデータ情報テーブル0602のポインタ情報が格納される。最新更新時刻0617には、項目0611〜0616のデータが最後に更新された時刻が格納される。これらのアプリケーションに関する情報は、アプリケーションがシステム内に登録される度に前記アプリケーション情報テーブル0601に情報が追加される。
The replica
データ情報テーブル0602の主な構成要素は、レプリカ識別情報0621、データ識別情報0622、データポインタ0623、データサイズ0624、データソース情報0625、更新フラグ0626、及び最新更新時刻0627である。これらの構成要素の組(レコード)は、各アプリケーションが使用するレプリカの個数だけ存在する。
The main components of the data information table 0602 are
レプリカ識別情報0621には、前記アプリケーションが使用するレプリカを識別する情報が格納される。データ識別情報0622には、レプリカ識別情報0621に該当するレプリカのオリジナルとなるデータを識別する情報が格納される。データポインタ0623には、データ識別情報0622に該当するデータのデータサーバ0201上での格納先を示すポインタ情報が格納される。データサイズ0624には、データ識別情報0622に該当するデータのサイズが格納される。データソース情報0625には、データ識別情報0622に該当するデータの発生元であるデータソースノード0203を識別する情報が格納される。ここではノード番号、IPアドレス等のシステム内でノードを特定する情報が格納される。
The
更新フラグ0626には、データ識別情報0622に該当するデータの更新の有無を示すフラグ情報が格納される。最新更新時刻0627には、項目0621〜0626のデータが最後に更新された時刻が格納される。データ情報テーブル0602の各項目の情報はデータソースノード0203からデータが送信され、データサーバ0201上に格納される度に更新される。
The
図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
ステップ0701において、少なくとも1つのアプリケーションが稼動するノード0202から、周期駆動によるアプリケーションが使用するデータに関するレプリカ登録を受付け、該アプリケーションの実行周期、実行開始時刻等の情報を取得する。ステップ0702において、該アプリケーションが使用する少なくとも1つのデータのデータソースノード0203に対して、データサーバ0201への配信を要求する。ステップ0703において、レプリカデータ管理テーブル0416における該アプリケーションに関する項目を更新する。ステップ0704において、ステップ0701にて取得した該アプリケーションの実行周期0612、実行開始時刻0613等の情報に従って、該アプリケーションの動作と連動した、データ更新の監視としてステップ0705以降の処理を開始する。
In
ステップ0705において、レプリカデータ管理テーブル0416における該アプリケーションが使用するデータに関する、データ情報テーブル0602のデータ毎の項目として更新フラグ0626を参照する。前記テーブルの詳細は図6にて述べている。ステップ0706において、ステップ0705の更新フラグ0626の値から、該データが更新有りである場合、ステップ0707において、データソースからのデータを格納している、データサーバ0201上のDB0402から該当データを取得し、一時格納領域に格納する。ステップ0708において、ステップ0705におけるデータ情報テーブル0602における該データの項目に対する更新フラグ0626の値をリセットする。
In
ステップ0709において、該アプリケーションが使用する全てデータのデータにして終了していない場合、ステップ0705からステップ0708の処理を繰り返す。ステップ0709において、該アプリケーションが使用する全てデータのデータに対して終了した場合であって、かつ、ステップ0710において、ステップ0709までの処理にて検出した少なくとも1つの更新データが有る場合、ステップ0711において、ステップ0707にて一時格納領域に格納していた少なくとも1つの更新データを、該アプリケーションが稼動するノード0202に送信する。ステップ0710において、ステップ0709までの処理にて検出した少なくとも1つの更新データが無い場合、ステップ0711の処理は省略する。ステップ0712において、該アプリケーションの実行周期に従って次周期まで待機して、ステップ0705の処理に戻る。
If it is determined in
図8は、本発明における少なくとも1つのアプリケーションが稼動するノード0202での、周期駆動によるアプリケーションが使用するデータのレプリカ0503に対する更新処理の流れを示すフローチャートである。
FIG. 8 is a flowchart showing the flow of update processing for the
ステップ0801において、周期駆動によるアプリケーションが使用するデータに関するレプリカ、該アプリケーションの実行周期、及び実行開始時刻等の情報をデータサーバ0201に登録する。ステップ0802において、該アプリケーションの各周期の処理時間に対して、レプリカ更新の処理に要する時間が所定の値よりも大きいと判定した場合、ステップ0803において、該アプリケーションが使用するデータのレプリカの複製データを作成する。ステップ0802において、該アプリケーションの各周期の処理時間に対して、レプリカ更新の処理に要する時間が所定の値よりも小さいと判定した場合、ステップ0803の処理は省略する。
In
ステップ0804において、データサーバ0201より、該アプリケーションが使用するレプリカ0503の更新データを受信する。ステップ0805において、ステップ0803にて該アプリケーションが使用するレプリカ0503の複製データを作成していない場合、ステップ0806において、ステップ0804にて受信したデータを該当データのレプリカ0503に上書きして更新する。その後、ステップ0804の処理に戻る。
In
ステップ0805において、ステップ0803にて該アプリケーションが使用するレプリカ0503の複製データを作成している場合、ステップ0807において、ステップ0804にて受信したデータを該当データのレプリカ0503の複製データに対して上書きする。ステップ0808において、該アプリケーションが処理待機中ではない場合、処理待機中となるまで待機する。ステップ0808において、該アプリケーションが処理待機中である場合、ステップ0809において、ステップ0807にて更新したレプリカ複製データをレプリカデータ本体に対して上書きして更新する。その後、ステップ0804の処理に戻る。
In
図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
データ種別の分類0901は、イベント駆動によるアプリケーションが使用するデータの重要度を決定するために用いる、データ種別の分類である。本図では4つの事例を挙げているが、これらの分類のうちの少なくとも1つを用いるものとする。具体的な事例は適用先システムにより異なり得る。種別による重要度0902は、データ種別の分類0901毎に重要度の高いデータ、重要度の低いデータの事例を挙げている。参照頻度に対する優先順位0903は、種別による重要度0902における各々の重要度の高いデータ、又は重要度の低いデータに対して、データの参照頻度に基づいて決定する優先順位の範囲を示す。これらの範囲はデータ毎に予め定義するものである。図9に示すデータの重要度の定義はデータサーバ0201に保持されている。
The
図10は、データサーバ0201が、本発明によるイベント駆動によるアプリケーションが使用するデータの優先順位を決定し、該優先順位に基づきデータを配置する処理の流れを示すフローチャートである。
FIG. 10 is a flowchart showing a flow of processing in which the
ステップ1001において、イベント駆動によるアプリケーションが使用するデータに関して、データ毎の参照頻度を監視する。ステップ1002において、ステップ1001の参照頻度監視の結果と図9にて述べたデータの重要度0902から該データの優先順位0903を算出する。
In
ステップ1003において、該データの優先順位がこれまでの値から変更されている場合、ステップ1004において、図9及びステップ1002で算出した該データの優先順位0903に基づいて、該データの配置の変更を実施する。ここでは優先順位の高い順に、メモリ、ファイル、該データを保有する他ノードへのポインタ、さらにデータ削除、へと該データの配置の仕方が変更されていく。ステップ1003において、該データの優先順位がこれまでの値から変更されていない場合、ステップ1004の処理は実施しない。
If the priority of the data has been changed from the previous value in
ステップ1005において、イベント駆動によるアプリケーションが使用する全てのデータに対して終了した場合、ステップ1006において、所定の時間だけ待機した後、ステップ1001の処理に戻る。ステップ1005において、イベント駆動によるアプリケーションが使用する全てのデータに対して終了していない場合、ステップ1001からステップ1004までの処理を繰り返す。
In
0201 データサーバ
0202 アプリケーションノード
0203 データソースノード
0205 通信媒体
0401 データサーバのミドルウェア
0402 DB
0501 アプリケーションノードのミドルウェア
0502 アプリケーション
0503 レプリカ
0201
0501
Claims (8)
前記データサーバと前記データソースからのデータを活用する少なくとも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.
ユーザによる事前登録情報を参照する、もしくは前記周期駆動するアプリケーションの動作を監視し算出することを特徴とする、分散システムにおけるデータレプリケーション管理方法。 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.
該周期駆動するアプリケーションの実行周期と連動して、データソースからのデータを収集して管理するデータサーバが、データソースとなるノードからのデータ受信等による該データの更新の有無を監視し、該データの更新を検出した場合は、
該アプリケーションの現周期における処理終了の時点から次周期における処理が開始する時点までの期間に、該更新後のデータを前記アプリケーションが稼動するノードに送信してレプリカの更新を行って完了させておくことを特徴とする、分散システムにおけるデータレプリケーション管理方法。 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つのアプリケーションが稼動するノードで周期駆動するアプリケーションが使用するデータに関して、
該周期駆動するアプリケーションの実行周期と連動して、データソースからのデータを収集して管理するデータサーバが、データソースとなるノードからのデータ受信等による該データの更新の有無を監視し、該データの更新を検出した場合は、
該アプリケーションの現周期における処理終了の時点から次周期における処理が開始する時点までの期間に、該更新後のデータを前記アプリケーションが稼動するノードに送信してレプリカの更新を行って完了させておき、
周期駆動するアプリケーションにおける各周期での処理終了の時点から次周期における処理開始の時点までの期間よりも、該周期駆動するアプリケーションが使用するデータに対する、データサーバにおける更新監視、アプリケーションが稼動するノードへの送信及びレプリカ更新の処理に要する時間が長い場合、
該アプリケーションが稼動するノードは、該周期駆動するアプリケーションが使用するデータのレプリカの複製データを用意し、
データサーバによってデータ更新が検出された該アプリケーションが稼動するノードへの該当データの送信及び更新処理を、該アプリケーションの各周期での処理と並行して、前記複製データに対して実行し、
前記複製データへの更新処理完了後に、該アプリケーションが使用するレプリカに対する該アプリケーションの処理が実施されていない間に、前記複製データの内容との差替えを実施することを特徴とする、分散システムにおけるデータレプリケーション管理方法。 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つを用いることを特徴とする、分散システムにおけるデータレプリケーション管理方法。 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.
該データの種別による重要度の高いデータは、優先順位のより高い範囲内で、監視結果による該データの参照頻度の高さに応じて優先順位を決定し、
該データの種別による重要度の低いデータは、優先順位のより低い範囲内で、監視結果による該データの参照頻度の高さに応じて優先順位を決定することを特徴とする、データ分散システムにおけるデータレプリケーション管理方法。 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.
該データの参照頻度の監視結果と、該データの種別による重要度により決定する優先順位とに従って、該データのレプリカの配置場所を、前記優先順位が高い順に、前記ノード内のメモリ、ファイル、該データを格納する他ノードを示すポインタ情報、さらに該データの削除、へと変更することを特徴とする、分散システムにおけるデータレプリケーション管理方法。 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.
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)
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)
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 |
-
2010
- 2010-09-17 JP JP2010209653A patent/JP5530878B2/en active Active
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 |