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 PDF

Info

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
Application number
JP2010078786A
Other languages
Japanese (ja)
Inventor
Koji Sato
孝治 佐藤
Yoshimi Ichiyanagi
淑美 一柳
Atsushi Yamamoto
淳 山本
Ryoji Tenkai
良治 天海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2010078786A priority Critical patent/JP2011210109A/en
Publication of JP2011210109A publication Critical patent/JP2011210109A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce, in a large-scale distributed processing system, the response time to a request from a client terminal while efficiently using a network zone by improving the throughput between a primary server and a backup server.SOLUTION: The request from the client terminal is executed, state information is updated, and a "real-time log" or "gradual log" is generated based on an identifier contained in the request and stored in the trail end of a log storage means. When a read trail end log is the "real-time log", all logs stored therein are transmitted to the backup server, and when the read log is the "gradual log", the accumulation is continued as it is. When the read log is the "gradual log" and either a condition in which the amount of accumulated log groups is a predetermined threshold or more or a condition in which a predetermined time has passed is satisfied, all log groups stored in the log storage means are transmitted to the backup server.

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).

特表2002−525748号公報JP-T-2002-525748

Software-Based Replication for Fault Tolerance, IEEE Computer, 30(4), pp. 68-74, April, 1997.Software-Based Replication for Fault Tolerance, IEEE Computer, 30 (4), pp. 68-74, April, 1997. The Google File System, Proceedings of the 19th ACM Symposium on Operating Systems Principles, pp. 29-43, October, 2003.The Google File System, Proceedings of the 19th ACM Symposium on Operating Systems Principles, pp. 29-43, October, 2003.

しかしながら、上記従来の第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の識別子が含まれている場合には、漸次ログを生成して、ログ記憶手段の末尾に格納するログ格納ステップと、
ログ記憶手段に格納されている末尾のログが即時ログである場合には、その時点までに該ログ記憶手段に格納されている全てのログを、バックアップサーバに送信する同期送信ステップと、
ログ記憶手段の末尾のログが漸次ログであり、かつ、
当該ログ記憶手段に格納されているログ集合の量が所定の閾値(Th)以上;
当該ログ記憶手段にログが格納されてから所定の時間(Th)が経過した;
のいずれかの条件に適合する場合は、ログ記憶手段に格納されている全てのログ集合をバックアップサーバに送信する非同期送信ステップと、
を行う。
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 primary server 100
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 log storage unit 130 is “immediate log”, the synchronous transmission unit 141 that transmits all the logs stored in the log storage unit to the backup server;
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 asynchronous transmission unit 142 that transmits all log sets stored in the log storage unit to the backup server,
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.

本発明の原理構成図である。It is a principle block diagram of this invention. 本発明を適用するシステム構成図である。1 is a system configuration diagram to which the present invention is applied. 本発明の一実施の形態におけるプライマリサーバハードウェア構成図である。It is a primary server hardware block diagram in one embodiment of this invention. 本発明の一実施の形態におけるプライマリサーバ機能構成図である。It is a primary server function block diagram in one embodiment of this invention. 本発明の一実施の形態におけるプライマリサーバの処理のフローチャートである。It is a flowchart of the process of the primary server in one embodiment of this invention. 本発明の一実施の形態におけるプライマリサーバのログ同期送信処理のフローチャートである。It is a flowchart of the log synchronous transmission process of the primary server in one embodiment of this invention. 本発明の一実施の形態におけるプライマリサーバのログ非同期送信処理のフローチャートである。It is a flowchart of the log asynchronous transmission process of the primary server in one embodiment of this invention. 従来の第1の手法(バックアップ複製)によるメッセージのシーケンスチャートである。It is the sequence chart of the message by the conventional 1st method (backup replication). 従来の第1の手法(アクティブ複製)によるメッセージのシーケンスチャートである。It is the sequence chart of the message by the conventional 1st method (active duplication). 従来の第2の手法によるメッセージのシーケンスチャートである。It is the sequence chart of the message by the conventional 2nd method. 従来の第3の手法によるメッセージのシーケンスチャートである。It is the sequence chart of the message by the conventional 3rd method.

以下、図面と共に本発明の実施の形態を説明する。   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 primary server 100 that performs data management and control of a distributed file system, a backup server 200, and a lock server that provides basic functions for enhancing the availability and consistency of the distributed system. Master 300, a plurality of client terminals 10 having client terminal libraries linked to applications using a distributed file system of the distributed system, a plurality of workers 20 that physically hold data, and a plurality of terminals connected to the lock server master 300 This is a technique applied to a large-scale distributed processing system composed of lock server replicas 30.

プライマリサーバ100は、クライアント端末10からのファイルのメタ情報取得・更新要求を取得して、更新されたメタ情報を複製してバックアップサーバ200に送信し、メタ情報に基づいてワーカ20に対するデータ管理及び制御を行う。また、分散ファイルマスタの状態をロックサーバマスタ300に保存する。   The primary server 100 acquires a file meta-information acquisition / update request from the client terminal 10, copies the updated meta-information and transmits it to the backup server 200, and manages data for the worker 20 based on the meta-information. Take control. Further, the state of the distributed file master is stored in the lock server master 300.

クライアント端末10は、ロックサーバ300からプライマリサーバ100の位置情報を取得し、プライマリサーバ100からファイルのメタ情報を取得し、プライマリサーバ100から渡された、データを管理しているワーカ20のメタ情報に基づいてデータの読み出しを行う、または、データの書き込みを行う。   The client terminal 10 acquires the location information of the primary server 100 from the lock server 300, acquires the meta information of the file from the primary server 100, and the meta information of the worker 20 that manages the data passed from the primary server 100. Based on the above, data is read or data is written.

ワーカ20は、クライアント端末10からアクセスされることにより、データの登録、提供を行う。   The worker 20 registers and provides data by being accessed from the client terminal 10.

ロックサーバマスタ300は、分散ファイルマスタ状態と分散マスタの位置情報を管理し、プライマリサーバ100、バックアップサーバ200からのロック獲得要求を受け、サーバ間の排他制御を行うと共に、死活状態の監視を行い、例えば、プライマリサーバ100に障害が発生した場合には、当該プライマリサーバ100の死活監視ファイルを削除する。   The lock server master 300 manages the distributed file master status and the location information of the distributed master, receives lock acquisition requests from the primary server 100 and the backup server 200, performs exclusive control between the servers, and monitors the alive state. For example, when a failure occurs in the primary server 100, the alive monitoring file of the primary server 100 is deleted.

ロックサーバレプリカ30は、ロックサーバ300の複製された情報を保持する
本発明は、上記のようなシステム上でのプライマリサーバ100のログ管理について説明する。
The lock server replica 30 holds the replicated information of the lock server 300. The present invention describes log management of the primary server 100 on the system as described above.

図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 primary server 100 includes a memory 102, a storage unit such as a hard disk 103, a CPU 101, a timer 104, and a network interface 105.

図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 primary server 100 includes a request processing unit 110, a state management unit 120, a log storage unit 130, and a log transmission unit 140. Of these, the state management unit 120 and the log storage unit 130 are storage media such as a memory.

要求処理部110は、クライアント端末10からの要求を受信すると、要求を実行し、その結果の状態を状態管理部120に格納すると共に、ログを生成してログ記憶部130に格納する。要求処理部110は、受信した要求のメッセージに含まれるタイプ識別子(以下、タイプIDと記す)に基づいて、当該要求メッセージ内容が「即時」または「漸次」であるかを判定し、「即時ログ」または、「漸次ログ」を生成する。例えば、要求メッセージ含まれるタイプIDが「001」であれば「即時ログ」とし、「002」であれば「漸次ログ」として、ログ記憶部130に格納する。   When receiving a request from the client terminal 10, the request processing unit 110 executes the request, stores the resulting state in the state management unit 120, generates a log, and stores the log in the log storage unit 130. The request processing unit 110 determines whether the content of the request message is “immediate” or “gradual” based on a type identifier (hereinafter referred to as a type ID) included in the received request message. Or “gradual log”. For example, if the type ID included in the request message is “001”, it is stored in the log storage unit 130 as “immediate log”, and if it is “002”, it is stored as “gradual log”.

なお、上記の「即時ログ」は、サーバのみに情報が保存されているログで、サーバの障害により情報が失われると復旧させることができないログを指す。   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 worker 20 even if information is lost due to a server failure.

状態管理部120は、要求処理部110から渡された要求が実行された後の状態を格納する状態管理テーブルを有する。プライマリサーバ100とバックアップサーバ200との状態情報にずれがあるときに、プライマリサーバ100に障害が発生した場合に、バックアップサーバ200は、ワーカ20から必要な情報を取得する。   The state management unit 120 has a state management table that stores the state after the request passed from the request processing unit 110 is executed. When there is a discrepancy in the status information between the primary server 100 and the backup server 200 and the primary server 100 fails, the backup server 200 acquires necessary information from the worker 20.

ログ記憶部130は、要求処理部110から渡されたログを記憶する。ログ記憶部130は、FIFOキューであり、格納されるログは、要求命令、対象パラメータ、状態情報である。   The log storage unit 130 stores the log passed from the request processing unit 110. The log storage unit 130 is a FIFO queue, and the stored log is a request command, target parameters, and status information.

ログ送信部140は、ログ記憶部130に格納されているログの種類(即時ログ/漸次ログ)に基づいてログ集合をバックアップサーバ200に送信する。   The log transmission unit 140 transmits a log set to the backup server 200 based on the type of log (immediate log / gradual log) stored in the log storage unit 130.

以下に、当該プライマリサーバ100の一連の処理を説明する。   Hereinafter, a series of processes of the primary server 100 will be described.

図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 primary server 100 receives and executes the request from the client terminal 10, and updates the state of the state management table of the state management unit 120.

ステップ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 log storage unit 130. At this time, the type ID included in the request is referred to, it is determined whether the type ID is “immediate” or “gradual”, and an immediate log or a gradual log is generated. In the above example, the “immediate log” is generated when the type ID = 001, and the “gradual log” is generated when the type ID = 002.

ステップ230) ログ送信部140は、ステップ210で生成した当該ログが「即時ログ」か「漸次ログ」かを判定し、「即時ログ」の場合はステップ240に移行し、「漸次ログ」の場合はステップ250に移行する。   Step 230) The log transmission unit 140 determines whether the log generated in Step 210 is “immediate log” or “gradual log”. If it is “immediate log”, the process proceeds to step 240. Goes to step 250.

ステップ240) ログ送信部140は、図6に示すプライマリサーバログ同期送信処理を行い、ステップ290に移行する。   Step 240) The log transmission unit 140 performs the primary server log synchronous transmission process shown in FIG. 6 and proceeds to Step 290.

ステップ250) ログ送信部140は、ログ記憶部130に格納されているログ集合の量が所定の閾値以上であるかを判断し、閾値以上の場合はステップ260に移行し、閾値未満の場合には、ステップ270に移行する。   Step 250) The log transmission unit 140 determines whether the amount of the log set stored in the log storage unit 130 is equal to or greater than a predetermined threshold value. Shifts to Step 270.

ステップ260) ログ送信部140は、図7に示すプライマリサーバログ非同期送信処理を行う。当該ステップの処理は、プライマリサーバ100のメイン処理(当該フローチャート)とは非同期に実行することができる。このため、ログ記憶部130では、ログを格納するための方法として、例えば、ダブルバッファやリングバッファ等の既知方法を用いることができる。   Step 260) The log transmission unit 140 performs a primary server log asynchronous transmission process shown in FIG. The process of this step can be executed asynchronously with the main process (the flowchart) of the primary server 100. For this reason, the log storage unit 130 can use a known method such as a double buffer or a ring buffer as a method for storing the log.

ステップ270) ログ送信部140は、タイマから時刻情報を取得して、当該時刻情報を用いて算出される経過時間が所定の閾値以上であればステップ280に移行し、閾値未満であれば、ステップ290に移行する。ここで、経過時間としては、一定周期毎、または、ログ記憶部130に格納されているログ集合が空(=φ)の状態のときにログを蓄積してからの経過時間などを用いることができる。また、この例に限定されることなく、所定の経過時間が満了した任意の時点でステップ280に移行しても良い。ステップ280の判定がYesのとき、また、Noのときのステップ260の実行後は、ステップ280に移行した直後に戻る。   Step 270) The log transmission unit 140 acquires time information from the timer, and proceeds to step 280 if the elapsed time calculated using the time information is equal to or greater than a predetermined threshold value. 290. Here, as the elapsed time, it is possible to use an elapsed time or the like since the log is accumulated when the log set stored in the log storage unit 130 is empty (= φ) at regular intervals. it can. Further, the present invention is not limited to this example, and the process may proceed to step 280 at an arbitrary time when a predetermined elapsed time has expired. When the determination in step 280 is Yes, or after execution of step 260 when the determination is No, the process returns to immediately after the transition to step 280.

ステップ280) ログ記憶部130に格納されているログ集合の量が空(=φ)である場合はステップ290に移行し、空でない場合(≠φ)はステップ260に移行して、プライマリサーバログ非同期送信処理を行う。   Step 280) If the amount of the log set stored in the log storage unit 130 is empty (= φ), the process proceeds to Step 290, and if it is not empty (≠ φ), the process proceeds to Step 260, and the primary server log Perform asynchronous transmission processing.

ステップ290) 要求処理部110は、クライアント端末10に対して、処理結果を通知する。   Step 290) The request processing unit 110 notifies the processing result to the client terminal 10.

次に、上記のステップ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 log transmission unit 140 transmits the log set stored in the log storage unit 130 to the backup server 200.

ステップ320) ログ送信部140は、バックアップサーバ200からの返答を受信する。   Step 320) The log transmission unit 140 receives a response from the backup server 200.

ステップ330) ログ送信部140は、ログ記憶部130に格納されているログ集合を削除する。   Step 330) The log transmission unit 140 deletes the log set stored in the log storage unit 130.

次に、上記のステップ260のプライマリサーバ非同期送信処理について説明する。   Next, the primary server asynchronous transmission process in step 260 will be described.

図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 log transmission unit 140 transmits the log set stored in the log storage unit 130 to the backup server 200.

ステップ420) ログ送信部140は、バックアップサーバ200から返答を受信する。   Step 420) The log transmission unit 140 receives a response from the backup server 200.

ステップ430) ログ送信部140は、ログ記憶部130に格納されているログ集合を削除する。   Step 430) The log transmission unit 140 deletes the log set stored in the log storage unit 130.

上記のように、ログ生成時にログを即時ログと漸次ログに分類し、
・ログが即時ログ;
・ログ記憶部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 log storage unit 130;
When the elapsed time is any one of the predetermined threshold value or more, the primary server 100 transmits the log set stored in the log storage unit 130 up to that time to the backup server 200, thereby the primary server By improving the throughput between the server 100 and the backup server 200, the network bandwidth can be used efficiently.

また、ログが漸次ログである場合、ログ記憶部130に当該ログを格納し、プライマリサーバ100からクライアント端末10に直ちに返答を返すことにより、クライアント端末10からの要求に対する応答時間を短縮することができる。   Further, when the log is a gradual log, the response time for the request from the client terminal 10 can be shortened by storing the log in the log storage unit 130 and immediately returning a response from the primary server 100 to the client terminal 10. it can.

なお、上記の図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 Client terminal 20 Worker 30 Lock server replica 100 Primary server 101 CPU
102 memory 103 hard disk 104 timer 105 network interface 110 request processing unit 111 request execution unit 112 log generation unit 120 status management unit 130 log storage unit, log storage unit 140 log transmission unit 141 synchronous transmission unit 142 asynchronous transmission unit 200 backup server

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:
請求項3に記載のプライマリサーバを構成する各手段としてコンピュータを機能させるための同期処理プログラム。   A synchronization processing program for causing a computer to function as each means constituting the primary server according to claim 3.
JP2010078786A 2010-03-30 2010-03-30 Synchronous processing method and system for large-scale distributed processing system, primary server, and program Pending JP2011210109A (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528387A (en) * 2016-11-18 2017-03-22 广东小天才科技有限公司 Operation reminding method and device of mobile terminal

Cited By (1)

* Cited by examiner, † Cited by third party
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