JP2011210109A - Synchronous processing method and system for large-scale distributed processing system, primary server, and program - Google Patents
Synchronous processing method and system for large-scale distributed processing system, primary server, and program Download PDFInfo
- Publication number
- JP2011210109A JP2011210109A JP2010078786A JP2010078786A JP2011210109A JP 2011210109 A JP2011210109 A JP 2011210109A JP 2010078786 A JP2010078786 A JP 2010078786A JP 2010078786 A JP2010078786 A JP 2010078786A JP 2011210109 A JP2011210109 A JP 2011210109A
- Authority
- JP
- Japan
- Prior art keywords
- log
- storage means
- server
- stored
- log storage
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、大規模分散処理システムにおける同期処理方法及びシステム及びプライマリサーバ及びプログラムに係り、特に、データマイニングのように、数十TB(テラバイト)〜数百TBの規模のWebコンテンツやログ情報などを効率的に分散処理する大規模分散システムにおいて、プライマリサーバに障害が発生した場合に冗長系として動作するサーバをソフトウェアにより複製するためのログを管理するための大規模分散処理システムにおける同期処理方法及びシステム及びプライマリサーバ及びプログラムに関する。 The present invention relates to a synchronous processing method and system, a primary server, and a program in a large-scale distributed processing system. In particular, as in data mining, Web content and log information with a scale of tens of TB (terabytes) to hundreds of TB Processing method in a large-scale distributed processing system for managing a log for replicating a server operating as a redundant system by software when a failure occurs in a primary server in a large-scale distributed system that efficiently distributes And a system, a primary server, and a program.
従来、プライマリサーバに障害が発生した場合でも、システムとしての機能を維持するためのバックアップを複製する第1の手法として、図8に示すようにプライマリサーバがクライアント端末からの要求ごとに、バックアップサーバに対して更新メッセージの送信と返信を行う。また、アクティブ複製を行う場合には、図9に示すように、クライアント端末からの要求を全てのサーバ(プライマリサーバとすべてのバックアップサーバ)に送信し、当該要求を受信したサーバは状態を更新し、クライアント端末に返信する方法がある(例えば、非特許文献1参照)。 Conventionally, even when a failure occurs in the primary server, as a first method for replicating a backup for maintaining the function of the system, as shown in FIG. Send update message and reply. When performing active replication, as shown in FIG. 9, a request from a client terminal is transmitted to all servers (primary server and all backup servers), and the server receiving the request updates the status. There is a method of returning to the client terminal (for example, see Non-Patent Document 1).
また、プライマリサーバにおけるログを管理する第2の手法として、図10に示すように、プライマリサーバが操作ログをバッファリングしてまとめてバックアップサーバに送信することにより、スループットを向上させる手法がある(例えば、非特許文献2参照)。 As a second technique for managing logs in the primary server, as shown in FIG. 10, there is a technique for improving throughput by buffering operation logs by the primary server and sending them together to a backup server ( For example, refer nonpatent literature 2).
また、従来の第3の手法として、図11に示すように、クライアント端末がプライマリサーバに要求を送信し、結果を受信後、当該クライアント端末からバックアップサーバにその結果を送信する手法がある(例えば、特許文献1参照)。 As a third conventional technique, as shown in FIG. 11, there is a technique in which a client terminal transmits a request to a primary server, receives the result, and then transmits the result from the client terminal to the backup server (for example, , See Patent Document 1).
しかしながら、上記従来の第1の手法は、「クライアント端末→プライマリサーバ→バックアップサーバ」の順に更新メッセージを送信しており、プライマリサーバが複数のクライアント端末から受信する大量の要求を1つ1つバックアップサーバに送信することになるため、プライマリサーバとバックアップサーバ間のスループットが低下する。また、アクティブ複製を行う場合は、複数のクライアント端末からプライマリサーバとバックアップサーバに同時に送信するために、更新メッセージの順序性と原始性を維持するための通信手段が必要となり、その実装は複雑になる。 However, the first conventional method transmits update messages in the order of “client terminal → primary server → backup server”, and the primary server backs up a large number of requests received from a plurality of client terminals one by one. Since the data is transmitted to the server, the throughput between the primary server and the backup server decreases. In addition, when performing active replication, it is necessary to provide communication means for maintaining the order and primitiveness of update messages in order to simultaneously transmit from a plurality of client terminals to the primary server and the backup server, and the implementation is complicated. Become.
また、上記の従来の第2の手法は、プライマリサーバにおいて操作ログを所定数バッファリングし、まとめてバックアップサーバに送信し、バックアップサーバからプライマリサーバへの返答もまとめてクライアント端末に返却するため、クライアント端末が要求をプライマリサーバに送信してからの応答時間が増大するという問題がある。 In addition, the above-described second conventional method buffers a predetermined number of operation logs in the primary server, and collectively transmits them to the backup server, and collectively returns responses from the backup server to the primary server to the client terminal. There is a problem that the response time after the client terminal transmits a request to the primary server increases.
また、第3の手法は、クライアント端末からプライマリサーバに要求を送信し、プライマリサーバから応答が返却された後、クライアント端末からバックアップサーバに対して要求を送信するため、上記の第1の手法のアクティブ複製と同様に、更新メッセージの順序性や原始性を維持するための通信手段が必要となり、その実装は複雑になるという問題がある。 The third method transmits a request from the client terminal to the primary server, and after the response is returned from the primary server, the client terminal transmits a request to the backup server. Similar to active duplication, there is a problem that a communication means for maintaining the order and primitiveness of update messages is required, and the implementation is complicated.
本発明は、上記の点に鑑みなされたもので、大規模分散処理システムにおいて、プライマリサーバとバックアップサーバ間のスループットを向上させ、ネットワーク帯域を効率的に利用すると共に、クライアント端末からの要求に対する応答時間を短くすることが可能な大規模分散処理システムにおける同期処理方法及びシステム及びプライマリサーバ及びプログラムを提供することを目的とする。 The present invention has been made in view of the above points. In a large-scale distributed processing system, the present invention improves throughput between a primary server and a backup server, efficiently uses a network bandwidth, and responds to a request from a client terminal. It is an object of the present invention to provide a synchronous processing method and system, a primary server, and a program in a large-scale distributed processing system capable of shortening the time.
本発明(請求項1)は、複数のクライアント端末、複数のワーカ、プライマリサーバ、バックアップサーバを含む大規模分散処理システムにおけるプライマリサーバとバックアップサーバ間における同期処理方法であって、
ログを記憶するログ記憶手段を有するプライマリサーバは、
サーバのみに情報が保存されていることを示す第1の識別子、または、該サーバの障害が発生してもワーカから情報を取得することが可能であることを示す第2の識別子を含む要求をクライアント端末から受信すると、該要求を実行し、状態情報を更新すると共に、該要求に該第1の識別子が含まれている場合には、即時ログを生成し、該第2の識別子が含まれている場合には、漸次ログを生成して、ログ記憶手段の末尾に格納するログ格納ステップと、
ログ記憶手段に格納されている末尾のログが即時ログである場合には、その時点までに該ログ記憶手段に格納されている全てのログを、バックアップサーバに送信する同期送信ステップと、
ログ記憶手段の末尾のログが漸次ログであり、かつ、
当該ログ記憶手段に格納されているログ集合の量が所定の閾値(ThA)以上;
当該ログ記憶手段にログが格納されてから所定の時間(ThB)が経過した;
のいずれかの条件に適合する場合は、ログ記憶手段に格納されている全てのログ集合をバックアップサーバに送信する非同期送信ステップと、
を行う。
The present invention (Claim 1) is a synchronous processing method between a primary server and a backup server in a large-scale distributed processing system including a plurality of client terminals, a plurality of workers, a primary server, and a backup server,
The primary server having log storage means for storing logs is
A request including a first identifier indicating that information is stored only in the server, or a second identifier indicating that information can be obtained from a worker even if a failure occurs in the server When received from the client terminal, the request is executed, status information is updated, and if the first identifier is included in the request, an immediate log is generated and the second identifier is included. A log storage step for generating a gradual log and storing it at the end of the log storage means;
If the last log stored in the log storage means is an immediate log, a synchronous transmission step of transmitting all the logs stored in the log storage means up to that point to the backup server;
The log at the end of the log storage means is a gradual log, and
The amount of log sets stored in the log storage means is equal to or greater than a predetermined threshold (Th A );
A predetermined time (Th B ) has elapsed since the log was stored in the log storage means;
If any of the conditions is met, an asynchronous transmission step of transmitting all log sets stored in the log storage means to the backup server;
I do.
図1は、本発明の原理構成図である。 FIG. 1 is a principle configuration diagram of the present invention.
本発明(請求項2)は、複数のクライアント端末、複数のワーカ、プライマリサーバ、バックアップサーバを含む大規模分散処理システムにおけるプライマリサーバとバックアップサーバ間における同期処理システムであって、
プライマリサーバ100は、
ログを記憶するログ記憶手段130と、
クライアント端末から要求を受信すると、該要求を実行し、状態情報を更新する要求実行手段111と、
要求にサーバのみに情報が保存されていることを示す第1の識別子が含まれている場合には、「即時ログ」を生成し、該サーバの障害が発生してもワーカから情報を取得することが可能であることを示す第2の識別子が含まれている場合には、「漸次ログ」を生成して、ログ記憶手段130の末尾に格納するログ生成手段112と、
ログ記憶手段130に格納されている末尾のログが「即時ログ」である場合には、該ログ記憶手段に格納されている全てのログを、バックアップサーバに送信する同期送信手段141と、
ログ記憶手段130の末尾のログが「漸次ログ」であり、かつ、
当該ログ記憶手段130に格納されているログ集合の量が所定の閾値以上;
当該ログ記憶手段130にログが格納されてから所定の時間が経過した;
のいずれかの条件に適合する場合は、ログ記憶手段に格納されている全てのログ集合をバックアップサーバに送信する非同期送信手段142と、
を有する。
The present invention (Claim 2) is a synchronous processing system between a primary server and a backup server in a large-scale distributed processing system including a plurality of client terminals, a plurality of workers, a primary server, and a backup server,
The
Log storage means 130 for storing logs;
Upon receiving a request from the client terminal, the request execution means 111 that executes the request and updates the status information;
If the request includes the first identifier indicating that the information is stored only on the server, an “immediate log” is generated, and the information is acquired from the worker even if a failure occurs in the server Log generation means 112 that generates a “gradual log” and stores it at the end of the log storage means 130;
When the tail log stored in the
The log at the end of the log storage means 130 is “gradual log”, and
The amount of log sets stored in the log storage means 130 is greater than or equal to a predetermined threshold;
A predetermined time has elapsed since the log was stored in the log storage means 130;
If any of the conditions is met, an
Have
本発明(請求項3)は、複数のクライアント端末、複数のワーカ、プライマリサーバ、バックアップサーバを含む大規模分散処理システムにおいて、該バックアップサーバとの間で同期処理を行うプライマリサーバであって、
ログを記憶するログ記憶手段と、
サーバのみに情報が保存されていることを示す第1の識別子、または、該サーバの障害が発生してもワーカから情報を取得することが可能であることを示す第2の識別子を含む要求をクライアント端末から受信すると、該要求を実行し、状態情報を更新すると共に、該要求に該第1の識別子が含まれている場合には、即時ログを生成し、該第2の識別子が含まれている場合には、漸次ログを生成して、ログ記憶手段の末尾に格納するログ生成手段と、
ログ記憶手段に格納されている末尾のログが即時ログである場合には、該ログ記憶手段に格納されている全てのログを、前記バックアップサーバに送信する同期送信手段と、
ログ記憶手段の末尾のログが漸次ログであり、かつ、
当該ログ記憶手段に格納されているログ集合の量が所定の閾値以上;
当該ログ記憶手段にログが格納されてから所定の時間が経過した;
のいずれかの条件に適合する場合は、ログ記憶手段に格納されている全てのログ集合をバックアップサーバに送信する非同期送信手段と、を有する。
The present invention (Claim 3) is a primary server that performs synchronization processing with a backup server in a large-scale distributed processing system including a plurality of client terminals, a plurality of workers, a primary server, and a backup server,
Log storage means for storing logs;
A request including a first identifier indicating that information is stored only in the server, or a second identifier indicating that information can be obtained from a worker even if a failure occurs in the server When received from the client terminal, the request is executed, status information is updated, and if the first identifier is included in the request, an immediate log is generated and the second identifier is included. Log generating means for generating a gradual log and storing it at the end of the log storage means,
If the tail log stored in the log storage means is an immediate log, synchronous transmission means for transmitting all the logs stored in the log storage means to the backup server,
The log at the end of the log storage means is a gradual log, and
The amount of log sets stored in the log storage means is greater than or equal to a predetermined threshold;
A predetermined time has elapsed since the log was stored in the log storage means;
If any of the above conditions is met, an asynchronous transmission unit that transmits all log sets stored in the log storage unit to the backup server is provided.
本発明(請求項4)は、請求項3に記載のプライマリサーバを構成する各手段としてコンピュータを機能させるための同期処理プログラムである。 The present invention (Claim 4) is a synchronization processing program for causing a computer to function as each means constituting the primary server according to Claim 3.
上記のように本発明によれば、記憶手段に格納するログを、サーバのみに情報が保存されていて当該サーバの障害により情報が失われた場合に復旧させることができない『即時ログ』と、サーバに障害が発生してもワーカから情報を取得することができる『漸次ログ』の2種類を用いることにより、バックアップサーバへの複製時に、『即時ログ』の場合はその時点で記憶手段に格納されている全てのログを送信し、『漸次ログ』の場合は所定の条件を満たすまでは記憶手段に蓄積していき、所定の条件がみたされた場合はその時点で記憶手段に格納されている全てのログを送信するため、プライマリサーバとバックアップサーバ間のスループットが向上し、ネットワーク帯域を効率的に利用することが可能となる。 As described above, according to the present invention, the log stored in the storage means is stored in the server only and cannot be recovered when the information is lost due to a failure of the server, By using “gradual log” that can acquire information from the worker even if a server failure occurs, it is stored in the storage means at the time of “immediate log” when replicating to the backup server. In the case of “gradual log”, it is stored in the storage means until a predetermined condition is satisfied, and if the predetermined condition is met, it is stored in the storage means at that time Since all logs are transmitted, the throughput between the primary server and the backup server is improved, and the network bandwidth can be used efficiently.
また、「漸次ログ」の場合は、クライアント端末に直ちに返答を返すため、クライアント端末からの要求に対する応答時間を短縮することができる。 In the case of “gradual log”, a response is immediately returned to the client terminal, so that the response time for the request from the client terminal can be shortened.
以下、図面と共に本発明の実施の形態を説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図2は、本発明を適用するシステム構成図である。 FIG. 2 is a system configuration diagram to which the present invention is applied.
本発明は、図2に示すように、分散ファイルシステムのデータ管理と制御を行うプライマリサーバ100、バックアップサーバ200、分散システムの可用性とシステムとしての一貫性を高めるための基本機能を提供するロックサーバマスタ300、分散システムの分散ファイルシステムを利用するアプリケーションにリンクされるクライアント端末ライブラリを有する複数のクライアント端末10、物理的にデータを保持する複数のワーカ20、ロックサーバマスタ300に接続される複数のロックサーバレプリカ30から構成される、大規模分散処理システムに適用される技術である。
As shown in FIG. 2, the present invention includes a
プライマリサーバ100は、クライアント端末10からのファイルのメタ情報取得・更新要求を取得して、更新されたメタ情報を複製してバックアップサーバ200に送信し、メタ情報に基づいてワーカ20に対するデータ管理及び制御を行う。また、分散ファイルマスタの状態をロックサーバマスタ300に保存する。
The
クライアント端末10は、ロックサーバ300からプライマリサーバ100の位置情報を取得し、プライマリサーバ100からファイルのメタ情報を取得し、プライマリサーバ100から渡された、データを管理しているワーカ20のメタ情報に基づいてデータの読み出しを行う、または、データの書き込みを行う。
The
ワーカ20は、クライアント端末10からアクセスされることにより、データの登録、提供を行う。
The
ロックサーバマスタ300は、分散ファイルマスタ状態と分散マスタの位置情報を管理し、プライマリサーバ100、バックアップサーバ200からのロック獲得要求を受け、サーバ間の排他制御を行うと共に、死活状態の監視を行い、例えば、プライマリサーバ100に障害が発生した場合には、当該プライマリサーバ100の死活監視ファイルを削除する。
The
ロックサーバレプリカ30は、ロックサーバ300の複製された情報を保持する
本発明は、上記のようなシステム上でのプライマリサーバ100のログ管理について説明する。
The
図3は、本発明の一実施の形態におけるプライマリサーバのハードウェア構成を示す。 FIG. 3 shows the hardware configuration of the primary server in one embodiment of the present invention.
同図に示すようにプライマリサーバ100は、メモリ102、ハードディスク103等の記憶手段、CPU101、タイマ104、ネットワークインタフェース105を有する。
As shown in the figure, the
図4は、本発明の一実施の形態におけるプライマリサーバの機能構成を示す。 FIG. 4 shows a functional configuration of the primary server in the embodiment of the present invention.
プライマリサーバ100は、要求処理部110、状態管理部120、ログ記憶部130、ログ送信部140から構成され、このうち、状態管理部120、ログ記憶部130は、メモリ等の記憶媒体である。
The
要求処理部110は、クライアント端末10からの要求を受信すると、要求を実行し、その結果の状態を状態管理部120に格納すると共に、ログを生成してログ記憶部130に格納する。要求処理部110は、受信した要求のメッセージに含まれるタイプ識別子(以下、タイプIDと記す)に基づいて、当該要求メッセージ内容が「即時」または「漸次」であるかを判定し、「即時ログ」または、「漸次ログ」を生成する。例えば、要求メッセージ含まれるタイプIDが「001」であれば「即時ログ」とし、「002」であれば「漸次ログ」として、ログ記憶部130に格納する。
When receiving a request from the
なお、上記の「即時ログ」は、サーバのみに情報が保存されているログで、サーバの障害により情報が失われると復旧させることができないログを指す。 Note that the above “immediate log” refers to a log in which information is stored only on the server, and cannot be recovered if the information is lost due to a server failure.
「漸次ログ」は、サーバの障害によって情報が失われても、ワーカ20から必要な情報を取得することにより復旧させることができるログを指す。
The “gradual log” refers to a log that can be recovered by acquiring necessary information from the
状態管理部120は、要求処理部110から渡された要求が実行された後の状態を格納する状態管理テーブルを有する。プライマリサーバ100とバックアップサーバ200との状態情報にずれがあるときに、プライマリサーバ100に障害が発生した場合に、バックアップサーバ200は、ワーカ20から必要な情報を取得する。
The
ログ記憶部130は、要求処理部110から渡されたログを記憶する。ログ記憶部130は、FIFOキューであり、格納されるログは、要求命令、対象パラメータ、状態情報である。
The
ログ送信部140は、ログ記憶部130に格納されているログの種類(即時ログ/漸次ログ)に基づいてログ集合をバックアップサーバ200に送信する。
The
以下に、当該プライマリサーバ100の一連の処理を説明する。
Hereinafter, a series of processes of the
図5は、本発明の一実施の形態におけるプライマリサーバの処理のフローチャートである。 FIG. 5 is a flowchart of the processing of the primary server in one embodiment of the present invention.
ステップ210) プライマリサーバ100の要求処理部110は、クライアント端末10からの要求を受信して、実行し、状態管理部120の状態管理テーブルの状態を更新する。
Step 210) The request processing unit 110 of the
ステップ220) 要求処理部110は、ログを生成し、当該ログをログ記憶部130のログ集合の末尾に格納する。このとき、当該要求に含まれるタイプIDを参照し、当該タイプIDが「即時」、「漸次」のいずれであるかを判定し、即時ログまたは漸次ログを生成する。上記の例では、タイプID=001の場合は「即時ログ」を生成し、タイプID=002の場合は「漸次ログ」を生成する。
Step 220) The request processing unit 110 generates a log and stores the log at the end of the log set in the
ステップ230) ログ送信部140は、ステップ210で生成した当該ログが「即時ログ」か「漸次ログ」かを判定し、「即時ログ」の場合はステップ240に移行し、「漸次ログ」の場合はステップ250に移行する。
Step 230) The
ステップ240) ログ送信部140は、図6に示すプライマリサーバログ同期送信処理を行い、ステップ290に移行する。
Step 240) The
ステップ250) ログ送信部140は、ログ記憶部130に格納されているログ集合の量が所定の閾値以上であるかを判断し、閾値以上の場合はステップ260に移行し、閾値未満の場合には、ステップ270に移行する。
Step 250) The
ステップ260) ログ送信部140は、図7に示すプライマリサーバログ非同期送信処理を行う。当該ステップの処理は、プライマリサーバ100のメイン処理(当該フローチャート)とは非同期に実行することができる。このため、ログ記憶部130では、ログを格納するための方法として、例えば、ダブルバッファやリングバッファ等の既知方法を用いることができる。
Step 260) The
ステップ270) ログ送信部140は、タイマから時刻情報を取得して、当該時刻情報を用いて算出される経過時間が所定の閾値以上であればステップ280に移行し、閾値未満であれば、ステップ290に移行する。ここで、経過時間としては、一定周期毎、または、ログ記憶部130に格納されているログ集合が空(=φ)の状態のときにログを蓄積してからの経過時間などを用いることができる。また、この例に限定されることなく、所定の経過時間が満了した任意の時点でステップ280に移行しても良い。ステップ280の判定がYesのとき、また、Noのときのステップ260の実行後は、ステップ280に移行した直後に戻る。
Step 270) The
ステップ280) ログ記憶部130に格納されているログ集合の量が空(=φ)である場合はステップ290に移行し、空でない場合(≠φ)はステップ260に移行して、プライマリサーバログ非同期送信処理を行う。
Step 280) If the amount of the log set stored in the
ステップ290) 要求処理部110は、クライアント端末10に対して、処理結果を通知する。
Step 290) The request processing unit 110 notifies the processing result to the
次に、上記のステップ240のプライマリサーバログ同期送信処理について説明する。 Next, the primary server log synchronous transmission process in step 240 will be described.
図6は、本発明の一実施の形態におけるプライマリサーバログ同期送信処理のフローチャートである。 FIG. 6 is a flowchart of the primary server log synchronous transmission process according to the embodiment of the present invention.
ステップ310) ログ送信部140は、ログ記憶部130に格納されているログ集合をバックアップサーバ200に送信する。
Step 310) The
ステップ320) ログ送信部140は、バックアップサーバ200からの返答を受信する。
Step 320) The
ステップ330) ログ送信部140は、ログ記憶部130に格納されているログ集合を削除する。
Step 330) The
次に、上記のステップ260のプライマリサーバ非同期送信処理について説明する。
Next, the primary server asynchronous transmission process in
図7は、本発明の一実施の形態におけるプライマリサーバログ非同期送信処理のフローチャートである。 FIG. 7 is a flowchart of the primary server log asynchronous transmission process according to the embodiment of the present invention.
ステップ410) ログ送信部140は、ログ記憶部130に格納されているログ集合をバックアップサーバ200に送信する。
Step 410) The
ステップ420) ログ送信部140は、バックアップサーバ200から返答を受信する。
Step 420) The
ステップ430) ログ送信部140は、ログ記憶部130に格納されているログ集合を削除する。
Step 430) The
上記のように、ログ生成時にログを即時ログと漸次ログに分類し、
・ログが即時ログ;
・ログ記憶部130に格納されているログ量の所定の閾値以上;
・経過時間が所定の閾値以上
のいずれかである場合は、プライマリサーバ100は、その時点までにログ記憶部130に格納されているログ集合をまとめてバックアップサーバ200に送信することにより、プライマリサーバ100とバックアップサーバ200間のスループットを向上させることにより、ネットワーク帯域を効率的に利用することができる。
As mentioned above, logs are classified into immediate logs and gradual logs at the time of log generation,
-Log is immediate log;
-A predetermined threshold value or more of the log amount stored in the
When the elapsed time is any one of the predetermined threshold value or more, the
また、ログが漸次ログである場合、ログ記憶部130に当該ログを格納し、プライマリサーバ100からクライアント端末10に直ちに返答を返すことにより、クライアント端末10からの要求に対する応答時間を短縮することができる。
Further, when the log is a gradual log, the response time for the request from the
なお、上記の図4に示すプライマリサーバの構成要素の動作をプログラムとして構築し、プライマリサーバとして利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。 Note that the operation of the constituent elements of the primary server shown in FIG. 4 can be constructed as a program and installed in a computer used as the primary server for execution, or distributed via a network.
また、構築されたプログラムをハードディスクや、フレキシブルディスク・CD−ROM等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。 Further, the constructed program can be stored in a portable storage medium such as a hard disk, a flexible disk, or a CD-ROM, and can be installed or distributed in a computer.
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。 The present invention is not limited to the above-described embodiment, and various modifications and applications can be made within the scope of the claims.
10 クライアント端末
20 ワーカ
30 ロックサーバレプリカ
100 プライマリサーバ
101 CPU
102 メモリ
103 ハードディスク
104 タイマ
105 ネットワークインタフェース
110 要求処理部
111 要求実行手段
112 ログ生成手段
120 状態管理部
130 ログ記憶手段、ログ記憶部
140 ログ送信部
141 同期送信手段
142 非同期送信手段
200 バックアップサーバ
10
102
Claims (4)
ログを記憶するログ記憶手段を有するプライマリサーバは、
前記クライアント端末から要求を受信すると、該要求を実行し、状態情報を更新する要求実行ステップと、
前記要求にサーバのみに情報が保存されていることを示す第1の識別子が含まれている場合には、「即時ログ」を生成し、該サーバの障害が発生してもワーカから情報を取得することが可能であることを示す第2の識別子が含まれている場合には、「漸次ログ」を生成して、前記ログ記憶手段の末尾に格納するログ格納ステップと、
前記ログ記憶手段に格納されている末尾のログが「即時ログ」である場合には、該ログ記憶手段に格納されている全てのログを、前記バックアップサーバに送信する同期送信ステップと、
前記ログ記憶手段の末尾のログが「漸次ログ」であり、かつ、
当該ログ記憶手段に格納されているログ集合の量が所定の閾値以上;
当該ログ記憶手段にログが格納されてから所定の時間が経過した;
のいずれかの条件に適合する場合は、前記ログ記憶手段に格納されている全てのログ集合を前記バックアップサーバに送信する非同期送信ステップと、
を行うことを特徴とする同期処理方法。 A synchronization processing method between a primary server and a backup server in a large-scale distributed processing system including a plurality of client terminals, a plurality of workers, a primary server, and a backup server,
The primary server having log storage means for storing logs is
Upon receiving a request from the client terminal, a request execution step of executing the request and updating state information;
If the request includes a first identifier indicating that the information is stored only on the server, an "immediate log" is generated and information is obtained from the worker even if the server fails A log storage step of generating a “gradual log” and storing it at the end of the log storage means when a second identifier indicating that it is possible to do so is included;
When the tail log stored in the log storage means is an “immediate log”, a synchronous transmission step of transmitting all the logs stored in the log storage means to the backup server;
The log at the end of the log storage means is “gradual log”, and
The amount of log sets stored in the log storage means is greater than or equal to a predetermined threshold;
A predetermined time has elapsed since the log was stored in the log storage means;
If any of the conditions is met, an asynchronous transmission step of transmitting all log sets stored in the log storage means to the backup server;
A synchronization processing method characterized by:
前記プライマリサーバは、
ログを記憶するログ記憶手段と、
前記クライアント端末から要求を受信すると、該要求を実行し、状態情報を更新する要求実行手段と、
前記要求にサーバのみに情報が保存されていることを示す第1の識別子が含まれている場合には、「即時ログ」を生成し、該サーバの障害が発生してもワーカから情報を取得することが可能であることを示す第2の識別子が含まれている場合には、「漸次ログ」を生成して、前記ログ記憶手段の末尾に格納するログ生成手段と、
前記ログ記憶手段に格納されている末尾のログが「即時ログ」である場合には、該ログ記憶手段に格納されている全てのログを、前記バックアップサーバに送信する同期送信手段と、
前記ログ記憶手段の末尾のログが「漸次ログ」であり、かつ、
当該ログ記憶手段に格納されているログ集合の量が所定の閾値以上;
当該ログ記憶手段にログが格納されてから所定の時間が経過した;
のいずれかの条件に適合する場合は、前記ログ記憶手段に格納されている全てのログ集合を前記バックアップサーバに送信する非同期送信手段と、
を有することを特徴とする同期処理システム。 A synchronous processing system between a primary server and a backup server in a large-scale distributed processing system including a plurality of client terminals, a plurality of workers, a primary server, and a backup server,
The primary server is
Log storage means for storing logs;
Upon receiving a request from the client terminal, request execution means for executing the request and updating state information;
If the request includes a first identifier indicating that the information is stored only on the server, an "immediate log" is generated and information is obtained from the worker even if the server fails Log generation means for generating a “gradual log” and storing it at the end of the log storage means when a second identifier indicating that it is possible to do so is included;
If the tail log stored in the log storage means is "immediate log", synchronous transmission means for transmitting all the logs stored in the log storage means to the backup server,
The log at the end of the log storage means is “gradual log”, and
The amount of log sets stored in the log storage means is greater than or equal to a predetermined threshold;
A predetermined time has elapsed since the log was stored in the log storage means;
If any of the conditions is met, asynchronous transmission means for transmitting all log sets stored in the log storage means to the backup server,
A synchronous processing system comprising:
ログを記憶するログ記憶手段と、
前記クライアント端末から要求を受信すると、該要求を実行し、状態情報を更新する要求実行手段と、
前記要求にサーバのみに情報が保存されていることを示す第1の識別子が含まれている場合には、「即時ログ」を生成し、該サーバの障害が発生してもワーカから情報を取得することが可能であることを示す第2の識別子が含まれている場合には、「漸次ログ」を生成して、前記ログ記憶手段の末尾に格納するログ生成手段と、
前記ログ記憶手段に格納されている末尾のログが「即時ログ」である場合には、該ログ記憶手段に格納されている全てのログを、前記バックアップサーバに送信する同期送信手段と、
前記ログ記憶手段の末尾のログが「漸次ログ」であり、かつ、
当該ログ記憶手段に格納されているログ集合の量が所定の閾値以上;
当該ログ記憶手段にログが格納されてから所定の時間が経過した;
のいずれかの条件に適合する場合は、前記ログ記憶手段に格納されている全てのログ集合を前記バックアップサーバに送信する非同期送信手段と、
を有することを特徴とするプライマリサーバ。 In a large-scale distributed processing system including a plurality of client terminals, a plurality of workers, a primary server, and a backup server, a primary server that performs synchronization processing with the backup server,
Log storage means for storing logs;
Upon receiving a request from the client terminal, request execution means for executing the request and updating state information;
If the request includes a first identifier indicating that the information is stored only on the server, an "immediate log" is generated and information is obtained from the worker even if the server fails Log generation means for generating a “gradual log” and storing it at the end of the log storage means when a second identifier indicating that it is possible to do so is included;
If the tail log stored in the log storage means is "immediate log", synchronous transmission means for transmitting all the logs stored in the log storage means to the backup server,
The log at the end of the log storage means is “gradual log”, and
The amount of log sets stored in the log storage means is greater than or equal to a predetermined threshold;
A predetermined time has elapsed since the log was stored in the log storage means;
If any of the conditions is met, asynchronous transmission means for transmitting all log sets stored in the log storage means to the backup server,
A primary server characterized by comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010078786A JP2011210109A (en) | 2010-03-30 | 2010-03-30 | Synchronous processing method and system for large-scale distributed processing system, primary server, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010078786A JP2011210109A (en) | 2010-03-30 | 2010-03-30 | Synchronous processing method and system for large-scale distributed processing system, primary server, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011210109A true JP2011210109A (en) | 2011-10-20 |
Family
ID=44941076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010078786A Pending JP2011210109A (en) | 2010-03-30 | 2010-03-30 | Synchronous processing method and system for large-scale distributed processing system, primary server, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011210109A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528387A (en) * | 2016-11-18 | 2017-03-22 | 广东小天才科技有限公司 | Operation reminding method and device of mobile terminal |
-
2010
- 2010-03-30 JP JP2010078786A patent/JP2011210109A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528387A (en) * | 2016-11-18 | 2017-03-22 | 广东小天才科技有限公司 | Operation reminding method and device of mobile terminal |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110633320B (en) | Processing method, system, equipment and storage medium for distributed data service | |
CN112470112B (en) | Distributed copy of a block storage system | |
US9032032B2 (en) | Data replication feedback for transport input/output | |
US10831741B2 (en) | Log-shipping data replication with early log record fetching | |
CA3078483C (en) | Managing a computing cluster using replicated task results | |
US20220188196A1 (en) | Continuous data protection | |
CN112955874A (en) | System and method for self-healing in decentralized model building using machine learning of blockchains | |
CN109144785B (en) | Method and apparatus for backing up data | |
CN105493474A (en) | System and method for supporting partition level journaling for synchronizing data in a distributed data grid | |
JP5292351B2 (en) | Message queue management system, lock server, message queue management method, and message queue management program | |
CN106354563B (en) | Distributed computing system for 3D reconstruction and 3D reconstruction method | |
US20170351743A1 (en) | Journaling for scaleout systems | |
CN112579550B (en) | Metadata information synchronization method and system of distributed file system | |
CN110278222B (en) | Method, system and related device for data management in distributed file storage system | |
CN109739435A (en) | File storage and update method and device | |
CN110825562A (en) | Data backup method, device, system and storage medium | |
JP5292350B2 (en) | Message queue management system, lock server, message queue management method, and message queue management program | |
US11042454B1 (en) | Restoration of a data source | |
US10169441B2 (en) | Synchronous data replication in a content management system | |
CN106951443B (en) | Method, equipment and system for synchronizing copies based on distributed system | |
CN111414277B (en) | Data recovery method and device, electronic equipment and medium | |
JP6671708B2 (en) | Backup restore system and backup restore method | |
JP6251965B2 (en) | Information system and database recovery method | |
CN109992447B (en) | Data copying method, device and storage medium | |
JP2011210109A (en) | Synchronous processing method and system for large-scale distributed processing system, primary server, and program |