WO2024001787A1 - 基于Gossip协议的文件分发方法、系统设备及存储介质 - Google Patents

基于Gossip协议的文件分发方法、系统设备及存储介质 Download PDF

Info

Publication number
WO2024001787A1
WO2024001787A1 PCT/CN2023/100234 CN2023100234W WO2024001787A1 WO 2024001787 A1 WO2024001787 A1 WO 2024001787A1 CN 2023100234 W CN2023100234 W CN 2023100234W WO 2024001787 A1 WO2024001787 A1 WO 2024001787A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
node
nodes
file
connectable
Prior art date
Application number
PCT/CN2023/100234
Other languages
English (en)
French (fr)
Inventor
夏永彬
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2024001787A1 publication Critical patent/WO2024001787A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Definitions

  • This application relates to the field of communication technology, and in particular to a file distribution method, system equipment and storage medium based on the Gossip protocol (epidemic protocol).
  • file distribution is usually based on a P2P (Peer-to-Peer, peer-to-peer technology) centralized topology architecture.
  • This architecture usually consists of an index server and multiple clients.
  • the index server distributes files to all clients.
  • the client sends file update instructions so that the client can download the files that need to be updated from other clients or the index server.
  • the paralysis of the index server can easily lead to the collapse of the entire system, causing file synchronization to fail.
  • This application provides a file distribution method, system equipment and computer-readable storage medium based on the gossip protocol.
  • embodiments of the present application provide a file distribution method based on the gossip protocol, applied to nodes in a distributed system.
  • the method includes: receiving a message from a first connected node, and executing corresponding steps based on the message.
  • Task operation the message includes a file synchronization message, and the task operation corresponding to the file synchronization message is to synchronize the changed files in an incremental manner; if the number of second connected nodes is not less than N, continue to the second connected node Execute the message sending process at least once until the message is sent to all connectable nodes; wherein the second connected node is the connectable node of the node; the N is the number of times the message sending process is executed when the message is sent once. The number of second connected nodes that sent the message.
  • an embodiment of the present application provides a system device, including at least one control processor and a memory used to communicate with the at least one control processor; the memory stores information that can be used by the at least one control processor. Execution instructions, the instructions are executed by the at least one control processor, so that the at least one control processor can execute the file distribution method based on the gossip protocol provided by the embodiment of the first aspect of the present application.
  • embodiments of the present application provide a computer-readable storage medium.
  • the computer-readable storage medium stores computer-executable instructions.
  • the computer-executable instructions are used to cause a computer to execute the provisions of the first embodiment of the present application.
  • File distribution method based on gossip protocol.
  • Figure 1 is a step flow chart of a file distribution method based on the gossip protocol provided by an embodiment of the present application
  • FIG. 2 is a detailed step flow chart of step S200 in Figure 1;
  • Figure 3 is a partial step flow of a file distribution method based on the gossip protocol provided by another embodiment of the present application. picture;
  • Figure 4 is a partial step flow chart of a file distribution method based on the gossip protocol provided by another embodiment of the present application.
  • Figure 5 is an overall flow chart of a file distribution method based on the gossip protocol provided by an embodiment of the present application
  • Figure 6 is a schematic structural diagram of a system device provided by an embodiment of the present application.
  • file distribution is usually based on a P2P centralized topology architecture, which usually consists of an index server and multiple clients.
  • the index server updates the index file
  • the client receives the file update.
  • the client downloads the latest index files from the index server to the local, compares the local files to generate a list of files that need to be updated, and then downloads the files that need to be updated from other clients or index servers.
  • the index server can easily cause paralysis.
  • embodiments of the present application provide a file distribution method, system equipment and computer-readable storage media based on the gossip protocol, which can eliminate the dependence on the server. All nodes in the system are equal, and each node is incrementally File synchronization is performed in this way. When any node completes file updates and message notifications, file synchronization of the entire system can be quickly completed.
  • Figure 1 is a step flow chart of a file distribution method based on the Gossip protocol provided by an embodiment of the present application.
  • an embodiment of the present application provides a file distribution method based on the Gossip protocol.
  • the method is applied to nodes in a distributed system, and the method may include step S100 and step S200.
  • Step S100 the node receives a message from the first connected node and performs a corresponding task operation according to the message.
  • the message includes a file synchronization message, and the task operation corresponding to the file synchronization message is to synchronize files that change in an incremental manner;
  • Step S200 if the number of second connected nodes is not less than N, continue to execute the message sending process to the second connected node at least once until the message is sent to all connectable nodes; wherein the second connected node is the connectable node of the node.
  • Connected nodes; N is the number of second connected nodes to which messages are sent when executing a message sending process.
  • any node in the system receives a message from the first connected node, and performs corresponding processing based on the message.
  • the corresponding task operation is performed and the task execution result is sent to the first connected node.
  • the message includes a file synchronization message.
  • the task operation corresponding to the file synchronization message is to synchronize the changed files in an incremental manner; the second connected node is also a connectable node of the node. , if the number of second connected nodes is not less than N, then the node will continue to execute at least one message sending process to the second connected node until the message is sent to all connectable nodes; where N is the number of messages sent when executing one message sending process.
  • the number of second connected nodes that send messages is, N is the preset fan-out value.
  • the connectable nodes of this node can distribute messages in the same way. Messages can be propagated among various nodes in the system at an exponential propagation speed, thereby quickly completing the file distribution task, and files are synchronized incrementally between nodes, which can Effectively reduce bandwidth consumption and improve synchronization efficiency.
  • the entire system can quickly complete file synchronization. It can also control the number of messages sent by each node at a time by setting the fan-out value to avoid high Network congestion occurs in concurrent scenarios to ensure the security and reliability of the system.
  • the node can be a client, and each node in the distributed system can be peer-to-peer. As long as each client is connected to the network, file updates can be completed on any node. and message notifications can spread messages to the entire system, eliminating dependence on the server. It is also understandable that nodes need to monitor local files in order to promptly notify other nodes of file updates.
  • the client can use inotify to monitor local files. inotify is a file system change notification mechanism that allows the user state to immediately know such files. Add, delete and other events.
  • the fan-out value N is the number of messages sent by the node at a time, which can be 4. However, this embodiment does not specifically limit the fan-out value.
  • the fan-out value can also be 3 or 5, as long as high concurrency can be avoided. In the scenario where network congestion occurs, it is enough to ensure the security and reliability of the system, which are all within the protection scope of the embodiments of this application.
  • the node can send a message to all connectable nodes at once.
  • the remaining connectable nodes that have not received the message will be Just send a message.
  • the fan-out value N is 4 and a node has 10 connectable nodes.
  • the node needs to send messages to all connectable nodes in three times. The first two times send messages to four connectable nodes respectively. Three times it is enough to send a message to the remaining two connectable nodes that have not received the message.
  • the object to which a node sends a message each time may be random, that is, during the message sending process, a connectable node of the node may receive the same message from the node multiple times, but the The message sending process of the node ends only when all connectable nodes have received the message from the node; in a message distribution of the entire system, a node can receive the same task multiple times from the same node or different nodes. As long as all nodes in the system can eventually receive the message, this solution is also within the protection scope of the embodiment of the present application.
  • the message before the node receives the message from the first connected node, when the state of the first connected node changes or the first connected node receives the message, the message is sent from the first connected node to N nodes send simultaneously.
  • a node triggers message distribution One is when the node acts as the initiator of this message distribution, and the other is when the node acts as an intermediate node for this message distribution.
  • the first connected node Before the node receives the message from the first connected node, if the status of the first connected node changes, the first connected node, as the initiator of this message distribution, sends the message to the N nodes connected to itself; Or when the first connected node receives a message from another node, the first connected node serves as an intermediate node for this message distribution and sends the message to the N nodes connected to itself.
  • the change in the status of the first connected node may refer to updating the file, that is, the file in the local directory of the first connected node.
  • the first connected node serves as the starting node for this message distribution and needs to distribute the changed files to the entire system; receiving the message by the first connected node may refer to receiving the file synchronization message from the previous node, that is, the first connected node receives the file synchronization message from the previous node.
  • a connected node serves as the intermediate node for this message distribution to complete file synchronization of the entire system.
  • Figure 2 is a detailed step flow chart of step S200 in Figure 1, where step 200 may include step S210, step S220 and step S230.
  • Step S210 Send a message to N second connected nodes, so that the second connected nodes perform corresponding task operations according to the message and send the task execution result to the node;
  • Step S220 receive the task execution result from the second connected node, and determine whether the message has been sent to all connectable nodes;
  • Step S230 if the message is not sent to all connectable nodes, the message sending process continues until the message is sent to all connectable nodes.
  • the node After receiving the message from the first connected node, the node performs the corresponding task operation according to the message, sends the task execution result to the first connected node, and then sends the message to N second connected nodes; N second connected nodes Receives a message from the node, performs the corresponding task operation based on the message, and sends the task execution result to the node; the node receives the task execution result from the second connected node and determines whether the message has been sent to all connectable nodes.
  • the node When the message is not sent to all connectable nodes, the node continues to execute the message sending process, that is, sends the message to N other second connected nodes until the message is sent to all connectable nodes, which can ensure that all the nodes of the node All connectable nodes receive the message, thereby ensuring the consistency of information on all nodes in the system.
  • the node when the node continues to execute the message sending process to the connectable nodes, if the number of remaining connectable nodes that have not received the message is less than N, then the remaining connectable nodes that have not received the message will be sent to the remaining connectable nodes that have not received the message.
  • N the fan-out value
  • the node needs to send messages to all connectable nodes in three times. The first two times send messages to four connectable nodes respectively. Three times it is enough to send a message to the remaining two connectable nodes that have not received the message.
  • this embodiment of the present application provides another file distribution method based on the Gossip protocol.
  • Figure 3 is a partial step flow chart of a file distribution method based on the Gossip protocol provided by another embodiment of the present application.
  • the method may further include step S110.
  • Step S110 determine the execution status of the task operation corresponding to the message; only execute the task operation if the task operation is not executed or has failed to execute; if the task operation is being executed or has been executed successfully, the task operation will not be executed.
  • a node may receive the same message multiple times, and the node may receive messages from other nodes. After that, the execution status of the task operation corresponding to the message is judged. If the task operation is not executed or the execution fails, the task operation will be executed. If the task operation is being executed or has been executed successfully, the task operation will not be executed. Directly sending the task execution status to the previous node avoids the situation where the node repeatedly performs a task operation, which is helpful to improve the operating efficiency of the entire system. Moreover, the node receives the same message multiple times. Each time the message is repeatedly received, the corresponding message is detected. The execution of task operations can prevent the task from being executed or failing to a certain extent and ensure that the task can be executed.
  • a node after a node receives a message from another node, it determines the execution status of the task operation corresponding to the message, and sends the task execution status to the previous node. The node also determines whether the message has been sent to all connectable nodes. , after the message has been sent to all connectable nodes, the message will no longer be sent to its connectable nodes to avoid Avoid sending the same message repeatedly or reduce the number of repeated messages, reduce bandwidth consumption, avoid network congestion, and improve the efficiency of file distribution.
  • the first connected node serves as an intermediate node for message distribution, after the first connected node receives the message, it will also determine the execution status of the task operation corresponding to the message; when the task operation is not executed Or the task operation will be executed only if the execution fails; the task operation will not be executed if the task operation is in execution or has been executed successfully.
  • Figure 4 is a partial step flow chart of a file distribution method based on the gossip protocol provided by another embodiment of the present application.
  • the message carries a timestamp.
  • the method may also include step T110.
  • Step T110 determine whether the timestamp of the message is equal to or later than the timestamp of the previous message; perform the task operation only when the timestamp of the message is equal to or later than the timestamp of the previous message; when the timestamp of the message is earlier In the case of the timestamp of the previous message, no task operation is performed.
  • the propagation time of a message between different nodes is inconsistent, when the system continuously initiates multiple different file synchronization tasks, for example, a file on a node changes, the first file synchronization is sent to other nodes. message to synchronize the changed files with the system, but 1s later, the file of another node changes differently, and a second file synchronization message is sent to other nodes to synchronize the changed files with the system. At this time, the second file synchronization message is used as the latest For task messages, the system usually needs to refer to the second file synchronization message.
  • a node after synchronizing the latest file based on the second file synchronization message, receives the first file synchronization message and synchronizes the latest file based on the first file synchronization message.
  • File synchronization messages synchronize expired files.
  • the message can carry the timestamp of the corresponding operation task, which is used to indicate the task initiation time corresponding to the message.
  • the node After the node receives the message from the first connected node, that is, the previous node, it determines Whether the timestamp carried by this message is equal to or later than the timestamp carried by the previous message, where the previous message refers to the previous message received by the node before receiving this message; the timestamp of this message is equal to or later than the timestamp of the previous message, it means that the initiation time of the operation task corresponding to this message is equal to or later than the previous message, and then the task operation is executed; when the timestamp of the message is earlier than the timestamp of the previous message In this case, task operations are not performed, thereby avoiding invalid file synchronization, improving system reliability, and improving file distribution efficiency.
  • the nodes in the system save the response time of each connectable node in the last message distribution, and the response time is The time difference between a node sending a message and a connectable node sending a task execution result to the node.
  • the node will give priority to sending messages to the connectable node with a short response time. Every time a node sends a message to a connectable node, the time between sending the message and receiving the task execution result is recorded, and the time difference is calculated to obtain the response time of each connectable node in this message distribution.
  • the task operation corresponding to the file synchronization message may be to use rsync (remote sync, data mirror backup tool) to synchronize changed files.
  • the rsync tool package is used to efficiently synchronize from one location to another location. For files and folders, rsync can realize backup between different nodes.
  • rsync will copy all the source files or directories to the target location.
  • rsync will only copy the changed data blocks or bytes to the target. location, making file transfer very fast.
  • rsync can also use SSH (Secure Shell, Secure Shell) protocol to encrypt the transfer, improving High file transfer security. rsync will compress data blocks when sending and decompress the data blocks after receiving. Therefore, compared with other file transfer protocols, rsync will occupy less bandwidth when transferring files across hosts, and installation and No special permissions are required to run rsync, making it easy to use.
  • SSH Secure Shell
  • the file synchronization message carries rsync account information, synchronized file information and synchronized directory information, so that the node can perform file synchronization in the rsync manner according to the file synchronization message. There is no need to set up an additional server. Each node, that is, each client, can synchronize files based on the file synchronization message. The message will copy the files that need to be updated to the target directory.
  • the message may also include a node update message.
  • the operation task corresponding to the node update message is to update node information.
  • the corresponding number of the node in the distributed system Changes can be made by spreading node update messages to the entire system in the manner of file synchronization message distribution, so that all nodes in the system can update node information and ensure the normal operation of the system. All nodes update node information in parallel, and node updates can be completed quickly. Make the node information in the entire system consistent as soon as possible to avoid errors during file synchronization.
  • the message may also include a configuration update message.
  • the operation task corresponding to the configuration update message is to update the node configuration information.
  • the configuration update message can be diffused to the entire system in the manner of file synchronization message distribution, so that all nodes in the system can update the file directory to ensure that files can be synchronized normally, and all nodes can perform configuration updates in parallel to quickly update node configuration information. , so that the configuration information of all nodes in the system can be consistent as soon as possible.
  • Figure 5 is an overall flow chart of a file distribution method based on the Gossip protocol provided by an embodiment of the present application.
  • the node when a node's file changes, the node sends a message to N connectable nodes.
  • File synchronization message the connectable node receives the file synchronization message from the node, performs file synchronization in rsync, and sends the file synchronization result to the node.
  • the node receives the file synchronization result and then sends it to N other connectable nodes. Send file synchronization messages until the file synchronization messages are sent to all connectable nodes.
  • the file synchronization message When a node receives a file synchronization message from the previous node, the file synchronization message is used to cause the node to perform a file synchronization task.
  • the file synchronization message carries the timestamp of this file synchronization task, and the timestamp represents this file synchronization task. Initiation time, if the node has performed a file synchronization task before, the node first determines whether the timestamp is earlier than the timestamp carried in the previous message, and the timestamp carried in this file synchronization message is later than the previous file synchronization message. If the timestamp carried by the file synchronization message is earlier than the timestamp carried by the previous file synchronization message, the current file synchronization message will be ignored.
  • the node saves the response time of each connectable node during the latest message distribution, where the response time is the time difference between the node sending a message to the connectable node and the connectable node sending the task execution result to the node.
  • the node Messages are sent first to reachable nodes with short response times. Each time a node sends a message to a connectable node, the time between sending the message and receiving the task execution result will be recorded, and the time difference will be calculated to obtain each available node in this message distribution. The response time of the connected nodes.
  • the distributed system can also distribute node update messages or configuration update messages according to the above method.
  • the task operation corresponding to the node update message is to update node information. For example, if the node number of the client in the system changes, you can Distribute node update messages in the system according to the above file synchronization message distribution method; the task operation corresponding to the configuration update message is to update the node configuration information. For example, the directory used by the client to save files can be changed according to the above file synchronization message distribution. Method distributes configuration update messages in the system.
  • FIG. 6 is a schematic structural diagram of a system device 600 provided by an embodiment of the present application.
  • An embodiment of the present application provides a system device 600.
  • the system device 600 includes at least one control processor 610 and is configured to communicate with at least one
  • the memory 620 is communicatively connected to the control processor 610; the memory 620 stores instructions that can be executed by at least one control processor 610, and the instructions are executed by at least one control processor 610, so that at least one control processor 610 can perform the above method embodiments.
  • Any file distribution method based on gossip protocol According to the system device 600 provided by the embodiment of the present application, the file distribution method based on the gossip protocol can be executed.
  • a message for file synchronization can be sent to N connectable nodes.
  • the connectable node receives the message from the node, synchronizes the changed file in an incremental manner according to the message, and the node also sends the message to N other connectable nodes until all the connectable nodes receive the message, and the received
  • the connectable nodes of the message diffuse the message in the system in the same way, so that when any node in the system completes file updates and message notifications, the changed files can be quickly distributed to the entire system, completing the files of the entire system. Synchronize and incrementally synchronize changed files, which can reduce bandwidth consumption and improve the efficiency of file synchronization.
  • Embodiments of the present application also provide a computer-readable storage medium.
  • the computer-readable storage medium stores computer-executable instructions.
  • the computer-executable instructions are used to cause the computer to execute the gossip protocol based on any one of the above method embodiments.
  • file distribution method According to this file distribution method, there is no need to set up a server, and restrictions caused by the server can be lifted. All nodes in the system are equal, and each node performs file synchronization in an incremental manner, and file updates and message notifications are completed at any node. In any case, file synchronization of the entire system can be quickly completed.
  • the embodiments provided by this application include: a file distribution method, system equipment and computer-readable storage medium based on the Gossip protocol.
  • a file distribution method when the file of a node changes, it can be N connectable nodes send messages for file synchronization.
  • the connectable node receives the message from the node and synchronizes the changed files incrementally according to the message.
  • the node also sends messages to N other connectable nodes until All connectable nodes receive the message, and the connectable nodes that receive the message spread the message in the system in the same way, so that when any node in the system completes file update and message notification, the changed file It can be quickly distributed to the entire system, complete file synchronization of the entire system, and synchronize changed files in an incremental manner, which can reduce bandwidth consumption and improve the efficiency of file synchronization.
  • Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disk, DVD or other optical disk storage, magnetic cassettes, magnetic tape, disk storage or other magnetic storage devices, or may be used Any other medium that stores the desired information and can be accessed by a computer. Additionally, it is known to those of ordinary skill in the art that communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请公开了一种基于Gossip协议的文件分发方法、系统设备及计算机可读存储介质,该方法应用于分布式系统中的节点,包括:接收到来自第一连通节点的消息,根据所述消息执行相应的任务操作,所述消息包括文件同步消息,所述文件同步消息对应的任务操作为以增量方式同步变化的文件(S100);若第二连通节点的数量不小于N,则向所述第二连通节点持续执行至少一次消息发送进程,直至将所述消息发送给所有可连通节点;其中,所述第二连通节点为所述节点的可连通节点,所述N为执行一次所述消息发送进程时,被发送所述消息的第二连通节点的数量(S200)。

Description

基于Gossip协议的文件分发方法、系统设备及存储介质
相关申请的交叉引用
本申请基于申请号为202210740019.4、申请日为2022年06月28日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。
技术领域
本申请涉及通信技术领域,尤其涉及一种基于Gossip协议(流行病协议)的文件分发方法、系统设备及存储介质。
背景技术
目前,通常基于P2P(Peer-to-Peer,点对点技术)中心化拓扑架构进行文件分发,该架构通常由一个索引服务器和多个客户端组成,当索引服务器上的文件变化时,索引服务器向所有客户端发送文件更新指令,以使客户端从其它客户端或者索引服务器上下载需要更新的文件,但是,索引服务器的瘫痪容易导致整个系统的崩溃,使得文件同步失败。
发明内容
本申请提供一种基于Gossip协议的文件分发方法、系统设备及计算机可读存储介质。
第一方面,本申请实施例提供一种基于Gossip协议的文件分发方法,应用于分布式系统中的节点,所述方法包括:接收到来自第一连通节点的消息,根据所述消息执行相应的任务操作,所述消息包括文件同步消息,所述文件同步消息对应的任务操作为以增量方式同步变化的文件;若第二连通节点的数量不小于N,则向所述第二连通节点持续执行至少一次消息发送进程,直至将所述消息发送给所有可连通节点;其中,所述第二连通节点为所述节点的可连通节点;所述N为执行一次所述消息发送进程时,被发送所述消息的第二连通节点的数量。
第二方面,本申请实施例提供一种系统设备,包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行本申请第一方面实施例提供的基于Gossip协议的文件分发方法。
第三方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行本申请第一方面实施例提供的基于Gossip协议的文件分发方法。
附图说明
图1是本申请实施例提供的一种基于Gossip协议的文件分发方法的步骤流程图;
图2是图1中步骤S200的细化步骤流程图;
图3是本申请另一实施例提供的一种基于Gossip协议的文件分发方法的部分步骤流程 图;
图4是本申请另一实施例提供的一种基于Gossip协议的文件分发方法的部分步骤流程图;
图5是本申请实施例提供的一种基于Gossip协议的文件分发方法的整体流程图;
图6是本申请实施例提供的一种系统设备的结构示意图。
具体实施方式
本部分将详细描述本申请的实施例,本申请之若干实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本申请的每个技术特征和整体技术方案,但其不能理解为对本申请保护范围的限制。
在本申请的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二、第三,只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本申请的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的内容合理确定上述词语在本申请中的含义。
目前,文件分发通常基于P2P中心化拓扑的架构进行,该架构通常由一个索引服务器和多个客户端组成,当索引服务器上的文件变化时,索引服务器会更新索引文件,客户端收到文件更新的指令后,客户端从索引服务器上下载最新索引文件到本地,对比本地文件生成需要更新的文件清单,然后从其它客户端或者索引服务器上下载需要更新的文件,但是,索引服务器的瘫痪容易导致整个系统的崩溃,可靠性和安全性较低;随着网络规模的扩大,对索引服务器进行维护和更新的成本将急剧增加,所需成本过高;客户端收到文件更新的指令和索引服务器更新索引实际可能存在时序错误,导致客户端上的需要更新的文件未和索引服务器上保持一致;在客户端数量过多的高并发场景下,索引服务器的网络流量压力巨大,导致网络拥塞,影响文件下发的时效性和最终一致性。
基于此,本申请实施例提供一种基于Gossip协议的文件分发方法、系统设备及计算机可读存储介质,能够解除对服务器的依赖,系统中所有节点是对等的,且各节点以增量的方式进行文件同步,在任一节点完成文件更新和消息通知的情况下,都可以快速完成整个系统的文件同步。
下面结合附图,对本申请实施例作进一步阐述。
参照图1,图1是本申请实施例提供的一种基于Gossip协议的文件分发方法的步骤流程图,如图1所示,本申请的实施例提供一种基于Gossip协议的文件分发方法,该方法应用于分布式系统中的节点,该方法可以包括步骤S100和步骤S200。
步骤S100,节点接收到来自第一连通节点的消息,根据该消息执行相应的任务操作,该消息包括文件同步消息,文件同步消息对应的任务操作为以增量方式同步变化的文件;
步骤S200,若第二连通节点的数量不小于N,则向第二连通节点持续执行至少一次消息发送进程,直至将该消息发送给所有可连通节点;其中,第二连通节点为该节点的可连通节点;N为执行一次消息发送进程时,被发送消息的第二连通节点的数量。
在一实施例中,系统中的任一节点接收到来自第一连通节点的消息,根据该消息执行相 应的任务操作,并向第一连通节点发送任务执行结果,消息包括文件同步消息,文件同步消息对应的任务操作为以增量方式同步变化的文件;第二连通节点也是该节点的可连通节点,若第二连通节点的数量不小于N,则该节点向第二连通节点持续执行至少一次消息发送进程,直至将该消息发送给所有可连通节点;其中N为执行一次消息发送进程时,被发送消息的第二连通节点的数量,即N为预设的扇出值。该节点的可连通节点能够以同样的方式进行消息分发,消息能够以指数级的传播速度在系统中的各个节点间传播,从而快速完成文件分发任务,且节点间以增量方式同步文件,能够有效降低带宽消耗,提高同步效率,在任一节点完成文件更新和消息通知的情况下,整个系统能够快速完成文件同步,还可以通过设置扇出值控制每个节点单次发送消息的数量,避免高并发场景下出现网络拥塞,保证系统的安全性和可靠性。
本领域技术人员可以理解的是,在本实施例中,节点可以是客户端,分布式系统中的各个节点可以是对等的,只要每个客户端都连入网络,在任一节点完成文件更新和消息通知就可以把消息散播到整个系统,解除了对服务器的依赖。还可以理解的是,节点需要监控本地文件,以便及时通知其它节点进行文件更新,客户端可以用inotify监控本地文件,inotify是一种文件系统的变化通知机制,可以让用户态立刻得知如文件增加、删除等事件。
在一实施例中,扇出值N是节点单次发送消息的数量,可以为4,但本实施例不对扇出值作具体限定,扇出值也可以为3或者5,只要能够避免高并发场景下出现网络拥塞,保证系统的安全性和可靠性即可,都在本申请实施例的保护范围内。
容易理解的是,在某个节点的可连通节点的数量小于扇出值的情况下,该节点单次向所有可连通节点发送消息即可。
还可以理解的是,在节点向可连通节点持续执行消息发送进程的情况下,若剩余的未收到消息的可连通节点的数量不足N个,则向剩余的未收到消息的可连通节点发送消息即可,例如扇出值N为4,一个节点的可连通节点有10个,该节点需要分三次向所有可连通节点发送消息,前两次分别向四个可连通节点发送消息,第三次只需向剩余的两个未收到消息的可连通节点发送消息即可。
在另一实施例中,节点每次发送消息的对象可以是随机的,即在消息发送进程中,该节点的一个可连通节点可能多次收到来自该节点的同一消息,但在该节点的所有可连通节点都接收到来自该节点的消息的情况下,该节点消息发送进程才结束;而在整个系统的一次消息分发中,一个节点可以多次接收来自相同节点或者不同节点的对应同一任务操作的消息,但只要系统中所有节点最终都能够接收到该消息即可,该方案同样在本申请实施例的保护范围内。
在一实施例中,在节点接收到来自第一连通节点的消息之前,在第一连通节点状态发生变化或者第一连通节点接收到该消息的情况下,该消息由第一连通节点向N个节点同时发送。节点触发消息分发的情况可以分为两种,一种是节点作为本次消息分发的发起者,另一种是节点作为本次消息分发的中间节点。在节点接收到来自第一连通节点的消息之前,在第一连通节点状态发生变化的情况下,第一连通节点作为本次消息分发的发起者,向与自身连通的N个节点发送该消息;或者在第一连通节点接收到来自其它节点的消息的情况下,第一连通节点作为本次消息分发的中间节点,向与自身连通的N个节点发送该消息。在文件分发的场景下,第一连通节点状态发生变化可以是指更新文件,即第一连通节点的本地目录中的文件 发生变化,第一连通节点作为本次消息分发的起始节点,需要将变化的文件分发至整个系统;第一连通节点接收到消息可以是指接收到来自上一节点的文件同步消息,即第一连通节点作为本次消息分发的中间节点,以完成整个系统的文件同步。
在一实施例中,如图2所示,图2是图1中步骤S200的细化步骤流程图,其中步骤200可以包括步骤S210、步骤S220和步骤S230。
步骤S210,向N个第二连通节点发送消息,以使第二连通节点根据消息执行相应的任务操作并向该节点发送任务执行结果;
步骤S220,接收来自第二连通节点的任务执行结果,并判断是否已向所有可连通节点发送消息;
步骤S230,若未向所有可连通节点发送消息,则继续执行消息发送进程,直至将消息发送给所有可连通节点。
该节点在接收到来自第一连通节点的消息,根据该消息执行相应的任务操作,并向第一连通节点发送任务执行结果,随后向N个第二连通节点发送消息;N个第二连通节点接收到来自该节点的消息,根据该消息执行相应的任务操作,并向该节点发送任务执行结果;节点接收来自第二连通节点的任务执行结果,并判断是否已向所有可连通节点发送消息,在未向所有可连通节点发送消息的情况下,该节点继续执行消息发送进程,即再向N个其它第二连通节点发送消息,直至将消息发送给所有可连通节点,能够保证该节点的所有可连通节点都接收到该消息,从而保证系统中所有节点的信息的一致性。
在一实施例中,在节点向可连通节点持续执行消息发送进程的情况下,若剩余的未收到消息的可连通节点的数量不足N个,则向剩余的未收到消息的可连通节点发送消息即可,例如扇出值N为4,一个节点的可连通节点有10个,该节点需要分三次向所有可连通节点发送消息,前两次分别向四个可连通节点发送消息,第三次只需向剩余的两个未收到消息的可连通节点发送消息即可。
如图3所示,本申请实施例提供另一种基于Gossip协议的文件分发方法,图3是本申请另一实施例提供的一种基于Gossip协议的文件分发方法的部分步骤流程图,在节点接收到来自第一连通节点的消息之后,该方法还可以包括步骤S110。
步骤S110,判断消息对应的任务操作的执行情况;在任务操作处于未执行或者执行失败的情况下,才执行任务操作;在任务操作处于执行中或者已执行成功的情况下,不执行任务操作。
在一实施例中,在一次消息分发的过程中,由于每个节点都向自身的所有可连通节点发送消息,因此一个节点可能会多次收到同一消息,在节点接收到来自其它节点的消息之后,判断该消息对应的任务操作的执行情况,在任务操作处于未执行或者执行失败的情况下,才执行任务操作;在任务操作处于执行中或者已执行成功的情况下,不执行任务操作,直接向上一节点发送任务执行情况,避免出现节点重复执行某一个任务操作的情况,有利于提高整个系统的运行效率,且节点多次接收同一消息,每次重复接收消息,都检测该消息对应的任务操作的执行情况,能够在一定程度上防止任务未执行或者执行失败,保证任务能够被执行。
在一实施例中,在节点接收到来自其它节点的消息之后,判断该消息对应的任务操作的执行情况,向上一节点发送任务执行情况,该节点还判断是否已向所有可连通节点发送该消息,在已经向所有可连通节点发送过该消息的情况下,不再向其可连通节点发送该消息,避 免重复发送同一消息或者减少重复发送消息的次数,减少带宽消耗,避免网络拥塞,提高文件分发的效率。
容易理解的是,在第一连通节点作为消息分发的中间节点的情况下,在第一连通节点接收到该消息之后,也会判断该消息对应的任务操作的执行情况;在任务操作处于未执行或者执行失败的情况下,才执行任务操作;在任务操作处于执行中或者已执行成功的情况下,不执行任务操作。
参照图4,图4是本申请另一实施例提供的一种基于Gossip协议的文件分发方法的部分步骤流程图,其中消息携带有时间戳,在节点接收到来自第一连通节点的消息之后,该方法还可以包括步骤T110。
步骤T110,判断消息的时间戳是否等于或者晚于前次消息的时间戳;在消息的时间戳等于或者晚于前次消息的时间戳的情况下,才执行任务操作;在消息的时间戳早于前次消息的时间戳的情况下,不执行任务操作。
在一实施例中,由于一个消息在不同节点间的传播时间不一致,因此在系统连续发起多个不同的文件同步任务的情况下,例如某一个节点文件发生变化,向其它节点发送第一文件同步消息以使系统同步变化的文件,但是1s后,另一节点的文件发生不同的变化,并向其它节点发送第二文件同步消息以使系统同步变化的文件,此时第二文件同步消息作为最新的任务消息,系统通常需要以第二文件同步消息为准,但是有可能一个节点在已经根据第二文件同步消息同步了最新文件的情况下,又收到第一文件同步消息,并根据第一文件同步消息同步过期文件。为了防止这种情况的发生,消息可以携带有对应的操作任务的时间戳,用于表示该消息对应的任务发起时间,在节点接收到来自第一连通节点,即上一节点的消息之后,判断本次消息携带的时间戳是否等于或者晚于前次消息携带的时间戳,其中前次消息是指该节点在收到本次消息之前收到的上一个消息;在本次消息的时间戳等于或者晚于前次消息的时间戳的情况下,说明本次消息对应的操作任务的发起时间等于或者晚于前次消息,才执行任务操作;在消息的时间戳早于前次消息的时间戳的情况下,不执行任务操作,从而避免进行无效的文件同步,提高系统的可靠性,且提高文件分发的效率。
本申请另一些实施例提供一种基于Gossip协议的文件分发方法,在一实施例中,系统中的节点保存有上次消息分发中的各个可连通节点的响应时间,响应时间为节点向可连通节点发送消息与可连通节点向节点发送任务执行结果的时间差,在进行本次消息分发的情况下,节点优先向响应时间短的可连通节点发送消息。每次节点向可连通节点发送消息,都会记录发送消息和收到任务执行结果的时间,并计算出时间差,得到本次消息分发中各个可连通节点的响应时间,在下次进行消息分发的情况下,根据保存的最近一次的消息分发中的各个可连通节点的响应时间,优先向响应时间短的可连通节点发送消息,按照响应时间由短到长的顺序,将消息依次分发给所有可连通节点。能够提高消息通知和文件分发的效率,以使整个系统尽快完成文件同步。
在本申请的一些实施例中,文件同步消息对应的任务操作可以是使用rsync(remote sync,数据镜像备份工具)同步变化的文件,rsync工具包被用来从一个位置到另一个位置高效地同步文件和文件夹,rsync可以实现不同节点间的备份,初次同步时,rsync会全量拷贝源文件或目录到目标位置,第二次及以后同步时,rsync仅拷贝变化的数据块或字节到目标位置,使得文件传输非常迅速,rsync还可以使用SSH(Secure Shell,安全外壳)协议加密传输,提 高文件传输的安全性,rsync在发送时会压缩数据块,接收后再解压缩数据块,所以和其他文件传输协议相比,rsync在跨主机传输文件时会占用较小的带宽,而且安装和运行rsync不需要特殊权限,便于使用。
文件同步消息携带有rsync账号信息、同步文件信息和同步目录信息,以便节点能够根据文件同步消息以rsync的方式进行文件同步,不需要额外设置服务器,各个节点,即各个客户端,可以根据文件同步消息将需要更新的文件拷贝至目标目录中。
在本申请的另一些实施例中,消息还可以包括节点更新消息,节点更新消息对应的操作任务为更新节点信息,当某个节点的信息发生变化,例如该节点在分布式系统中对应的编号改变,可以按照文件同步消息分发的方式向整个系统扩散节点更新消息,以使系统中的所有节点更新节点信息,保证系统的正常运行,所有节点并行地进行节点信息更新,能够快速完成节点更新,使得整个系统中的节点信息尽快达到一致,避免文件同步过程中出错。
在本申请的另一些实施例中,消息还可以包括配置更新消息,配置更新消息对应的操作任务为更新节点配置信息,当节点的配置发生变化,例如分布式系统中节点用于保存文件的目录发生改变,可以按照文件同步消息分发的方式向整个系统扩散配置更新消息,以使系统中的所有节点更新文件目录,保证文件能够正常同步,所有节点并行地进行配置更新,能够快速更新节点配置信息,使得系统中所有节点的配置信息尽快达到一致。
参照图5,图5是本申请实施例提供的一种基于Gossip协议的文件分发方法的整体流程图,在分布式系统中,当一个节点的文件发生变化,该节点向N个可连通节点发送文件同步消息,可连通节点接收到来自该节点的文件同步消息,以rsync的方式进行文件同步,并将文件同步结果发送给该节点,该节点接收文件同步结果,再向N个其它可连通节点发送文件同步消息,直至将文件同步消息发送给所有可连通节点。
当一个节点接收到来自上一节点的文件同步消息,文件同步消息用于使该节点执行文件同步任务,文件同步消息携带有本次文件同步任务的时间戳,该时间戳表示本次文件同步任务的发起时间,若该节点之前执行过文件同步任务,则该节点先判断该时间戳是否早于前次消息携带的时间戳,在本次文件同步消息携带的时间戳晚于前次文件同步消息携带的时间戳的情况下,可以直接执行本次文件同步任务;在本次文件同步消息携带的时间戳早于前次文件同步消息携带的时间戳的情况下,忽略本次文件同步消息,不执行本次文件同步任务;在本次文件同步消息携带的时间戳等于前次文件同步消息携带的时间戳的情况下,节点需要判断本次文件同步任务的执行情况,在未进行文件同步或者文件同步失败的情况下,节点以rsync的方式进行文件同步,并将文件同步结果发送给上一节点;在本次文件同步任务正在进行或者本次文件同步任务已完成的情况下,节点不再执行本次文件同步任务,直接将文件同步结果发送给上一节点;该节点向N个可连通节点发送文件同步消息,可连通节点接收到来自该节点的文件同步消息,以rsync的方式进行文件同步,并将文件同步结果发送给该节点,该节点接收文件同步结果,再向N个其它可连通节点发送文件同步消息,直至将文件同步消息发送给所有可连通节点。
节点保存最近一次消息分发时各个可连通节点的响应时间,其中响应时间为节点向可连通节点发送消息与可连通节点向节点发送任务执行结果的时间差,在进行本次消息分发的情况下,节点优先向响应时间短的可连通节点发送消息。每次节点向可连通节点发送消息,都会记录发送消息和收到任务执行结果的时间,并计算出时间差,得到本次消息分发中各个可 连通节点的响应时间,在下一次进行消息分发的情况下,根据保存的最近一次的消息分发中各个可连通节点的响应时间,优先向响应时间短的可连通节点发送消息,按照响应时间由短到长的顺序,将消息依次分发给所有可连通节点。
在本申请的一些实施例中,分布式系统也可以按照上述方法分发节点更新消息或者配置更新消息,节点更新消息对应的任务操作为更新节点信息,例如客户端在系统中的节点编号改变,可以按照上述文件同步消息的分发方法在系统中进行节点更新消息的分发;配置更新消息对应的任务操作为更新节点配置信息,例如客户端用于保存文件的目录改变,可以按照上述文件同步消息的分发方法在系统中进行配置更新消息的分发。
参照图6,图6是本申请实施例提供的一种系统设备600的结构示意图,本申请实施例提供一种系统设备600,该系统设备600包括至少一个控制处理器610和用于与至少一个控制处理器610通信连接的存储器620;存储器620存储有可被至少一个控制处理器610执行的指令,指令被至少一个控制处理器610执行,以使至少一个控制处理器610能够执行以上方法实施例中任一项的基于Gossip协议的文件分发方法。根据本申请实施例提供的系统设备600,能够执行基于Gossip协议的文件分发方法,在分布式系统中,当一个节点的文件发生变化,能够向N个可连通节点发送用于文件同步的消息,可连通节点接收来自该节点的消息,根据该消息以增量的方式同步变化的文件,该节点还向N个其它可连通节点发送消息,直至所有可连通节点都接收到该消息,而接收到该消息的可连通节点以同样的方式在系统中扩散该消息,使得在系统中任一节点完成文件更新和消息通知的情况下,变化的文件可以快速地分发至整个系统,完成整个系统的文件同步,且以增量的方式同步变化的文件,能够降低带宽消耗,提高文件同步的效率。
本申请实施例还提供的一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使计算机执行以上方法实施例中任一项的基于Gossip协议的文件分发方法。根据该文件分发方法,不需要设置服务器,能够解除由服务器产生的限制,系统中所有节点是对等的,且各节点以增量的方式进行文件同步,在任一节点完成文件更新和消息通知的情况下,都可以快速完成整个系统的文件同步。
本申请提供的实施例包括:基于Gossip协议的文件分发方法、系统设备和计算机可读存储介质,根据本申请实施例提供的方案,在分布式系统中,当一个节点的文件发生变化,能够向N个可连通节点发送用于文件同步的消息,可连通节点接收来自该节点的消息,根据该消息以增量的方式同步变化的文件,该节点还向N个其它可连通节点发送消息,直至所有可连通节点都接收到该消息,而接收到该消息的可连通节点以同样的方式在系统中扩散该消息,使得在系统中任一节点完成文件更新和消息通知的情况下,变化的文件可以快速地分发至整个系统,完成整个系统的文件同步,且以增量的方式同步变化的文件,能够降低带宽消耗,提高文件同步的效率。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质或非暂时性介质和通信介质或暂时性介质。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息诸如计算机可读指令、数据结构、程序 模块或其他数据的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘DVD或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

Claims (11)

  1. 一种基于Gossip协议的文件分发方法,应用于分布式系统中的节点,所述方法包括:
    接收到来自第一连通节点的消息,根据所述消息执行相应的任务操作,所述消息包括文件同步消息,所述文件同步消息对应的任务操作为以增量方式同步变化的文件;
    若第二连通节点的数量不小于N,则向所述第二连通节点持续执行至少一次消息发送进程,直至将所述消息发送给所有可连通节点;其中,所述第二连通节点为所述节点的可连通节点;所述N为执行一次所述消息发送进程时,被发送所述消息的第二连通节点的数量。
  2. 根据权利要求1所述的基于Gossip协议的文件分发方法,其中,在所述节点接收到来自第一连通节点的消息之前,在所述第一连通节点状态发生变化或者所述第一连通节点接收到所述消息的情况下,所述消息由所述第一连通节点向N个所述节点同时发送。
  3. 根据权利要求1所述的基于Gossip协议的文件分发方法,其中,所述向所述第二连通节点持续执行至少一次消息发送进程,直至将所述消息发送给所有可连通节点,包括:
    向N个所述第二连通节点发送所述消息,以使所述第二连通节点根据所述消息执行相应的任务操作并向所述节点发送任务执行结果;
    接收来自所述第二连通节点的任务执行结果,并判断是否已向所有可连通节点发送所述消息;
    若未向所有可连通节点发送所述消息,则继续执行所述消息发送进程,直至将所述消息发送给所有可连通节点。
  4. 根据权利要求1所述的基于Gossip协议的文件分发方法,其中,在所述节点接收到来自第一连通节点的消息之后,所述方法还包括:
    判断所述消息对应的任务操作的执行情况;
    在所述任务操作处于未执行或者执行失败的情况下,才执行所述任务操作;
    在所述任务操作处于执行中或者已执行成功的情况下,不执行所述任务操作。
  5. 根据权利要求1所述的基于Gossip协议的文件分发方法,其中,所述消息携带有时间戳,在所述节点接收到来自第一连通节点的消息之后,所述方法还包括:
    判断所述消息的时间戳是否等于或者晚于前次消息的时间戳;
    在所述消息的时间戳等于或者晚于前次消息的时间戳的情况下,才执行所述任务操作;
    在所述消息的时间戳早于前次消息的时间戳的情况下,不执行所述任务操作。
  6. 根据权利要求1所述的基于Gossip协议的文件分发方法,其中,所述节点保存有上次消息分发中的各个所述可连通节点的响应时间,所述响应时间为所述节点向所述可连通节点发送所述消息与所述可连通节点向所述节点发送所述任务执行结果的时间差;所述方法还包括:
    在进行本次消息分发的情况下,所述节点优先向所述响应时间短的可连通节点发送所述消息。
  7. 根据权利要求1所述的基于Gossip协议的文件分发方法,其中,所述文件同步消息对应的任务操作为使用rsync同步变化的文件,所述文件同步消息携带有rsync账号信息、同步文件信息和同步目录信息。
  8. 根据权利要求1所述的基于Gossip协议的文件分发方法,其中,所述消息还包括节 点更新消息,所述节点更新消息对应的任务操作为更新节点信息。
  9. 根据权利要求1所述的基于Gossip协议的文件分发方法,其中,所述消息还包括配置更新消息,所述配置更新消息对应的任务操作为更新节点配置信息。
  10. 一种系统设备,包括至少一个控制处理器和用于与至少一个所述控制处理器通信连接的存储器;所述存储器存储有可被至少一个所述控制处理器执行的指令,指令被至少一个所述控制处理器执行,以使至少一个所述控制处理器能够执行如权利要求1至9任一项所述的基于Gossip协议的文件分发方法。
  11. 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至9任一项所述的基于Gossip协议的文件分发方法。
PCT/CN2023/100234 2022-06-28 2023-06-14 基于Gossip协议的文件分发方法、系统设备及存储介质 WO2024001787A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210740019.4 2022-06-28
CN202210740019.4A CN117354295A (zh) 2022-06-28 2022-06-28 基于Gossip协议的文件分发方法、系统设备及存储介质

Publications (1)

Publication Number Publication Date
WO2024001787A1 true WO2024001787A1 (zh) 2024-01-04

Family

ID=89358065

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/100234 WO2024001787A1 (zh) 2022-06-28 2023-06-14 基于Gossip协议的文件分发方法、系统设备及存储介质

Country Status (2)

Country Link
CN (1) CN117354295A (zh)
WO (1) WO2024001787A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8654650B1 (en) * 2010-04-30 2014-02-18 Amazon Technologies, Inc. System and method for determining node staleness in a distributed system
CN108696595A (zh) * 2018-05-28 2018-10-23 郑州云海信息技术有限公司 分布式集群数据同步方法、主节点、从节点、系统及介质
CN114124388A (zh) * 2022-01-27 2022-03-01 济南量子技术研究院 一种基于量子密钥的Gossip协议同步方法
CN114363357A (zh) * 2021-12-28 2022-04-15 山东浪潮科学研究院有限公司 一种基于Gossip的分布式数据库网络连接管理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8654650B1 (en) * 2010-04-30 2014-02-18 Amazon Technologies, Inc. System and method for determining node staleness in a distributed system
CN108696595A (zh) * 2018-05-28 2018-10-23 郑州云海信息技术有限公司 分布式集群数据同步方法、主节点、从节点、系统及介质
CN114363357A (zh) * 2021-12-28 2022-04-15 山东浪潮科学研究院有限公司 一种基于Gossip的分布式数据库网络连接管理方法
CN114124388A (zh) * 2022-01-27 2022-03-01 济南量子技术研究院 一种基于量子密钥的Gossip协议同步方法

Also Published As

Publication number Publication date
CN117354295A (zh) 2024-01-05

Similar Documents

Publication Publication Date Title
US10255343B2 (en) Initialization protocol for a peer-to-peer replication environment
KR100937163B1 (ko) 데이터베이스 데이터의 동기화
WO2019144761A1 (zh) 一种数据同步方法和分布式系统、设备
CN108200219B (zh) 数据同步方法、装置、服务器及存储介质
CN111368002A (zh) 一种数据处理方法、系统、计算机设备和存储介质
WO2015183527A1 (en) Synchronization system for multiple client devices
WO2015006371A2 (en) Replication of data between mirrored data sites
CN102012944B (zh) 一种提供复制特性的分布式nosql数据库的实现方法
CN110032478B (zh) 一种主备中心数据实时同步方法、装置、系统及存储介质
KR20190049266A (ko) 네트워크에서 메타데이터의 동기화를 제어하는 장치 및 그 방법
WO2013046352A1 (ja) 計算機システム、データ管理方法及びデータ管理プログラム
EP2542976B1 (en) Method and apparatus of backing-up subversion repository
WO2011063725A1 (zh) 一种主备同步方法及系统
US11106635B2 (en) Computer system, file storage controller, and data sharing method
WO2022134638A1 (zh) 一种逻辑时钟同步方法、装置及一种中心授时集群
CN112749123A (zh) 用于管理文件系统的方法、设备和计算机程序产品
WO2024001787A1 (zh) 基于Gossip协议的文件分发方法、系统设备及存储介质
JP4550867B2 (ja) Tcpセッション切替装置および方法、プログラムおよび記録媒体
CN107846476B (zh) 一种信息同步方法、设备及存储介质
WO2011160549A1 (zh) 电子节目指南系统及文件下载方法
CN111316606A (zh) 控制器-交换机网络中的优化调和
CN111182014B (zh) 一种数据同步方法和装置
WO2020083271A1 (zh) 一种聚合链路收敛方法、装置及存储介质
CN111125001A (zh) 快照复制方法、电子设备和计算机程序产品
KR101748912B1 (ko) 분산 저장 환경에서 데이터 저장 시스템 및 데이터 저장 시스템이 포함하는 클러스터의 업그레이드, 확장 및 축소를 위한 클러스터 관리 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23829969

Country of ref document: EP

Kind code of ref document: A1