CN110865987A - 一种文件同步方法、装置、设备及介质 - Google Patents
一种文件同步方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN110865987A CN110865987A CN201911127766.5A CN201911127766A CN110865987A CN 110865987 A CN110865987 A CN 110865987A CN 201911127766 A CN201911127766 A CN 201911127766A CN 110865987 A CN110865987 A CN 110865987A
- Authority
- CN
- China
- Prior art keywords
- file
- synchronization
- target
- node
- information
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种文件同步方法、装置、设备及介质,包括:循环触发文件同步指令;在所述文件同步指令的控制下随机选取集群中除自身外预设数量的节点为目标节点;获取每个所述目标节点的第一文件信息;利用自身的第二文件信息以及所述第一文件信息确定出每个所述目标节点对应的目标同步文件;其中,所述目标同步文件为存在于本地并且不存在于对应的所述目标节点以及不为对应的所述目标节点正在接收的文件;将所述目标同步文件分别同步至对应的所述目标节点。这样,集群中任意节点均进行文件同步,能够提高带宽利用率,并且避免单节点故障风险。
Description
技术领域
本申请涉及集群技术领域,特别涉及一种文件同步方法、装置、设备及介质。
背景技术
在分布式系统的应用场景中,针对一些文件的特性,例如集群中各节点共享读不共享写,存在较高性能需求,以及数据安全冗余,分区容错等需求,不能简单的使用共享存储等方案,而是需要在多个节点上同步文件等副本。随着分布式集群规模逐渐扩大,网络传输速率、网络可靠性以及同步程序本身的稳定性在向集群中各个节点同步文件的过程中影响越来越显著,并且,同步程序本身也会成为整个集群同步效率的瓶颈。
在现有技术中,一般的解决方案是使用一个主控程序,该程序存储有各个节点包含的文件的信息,当有新文件需要同步时,将文件从原始存放的位置逐个下发或者批量同步至各个节点。但随着节点数量增加,主控程序的同步过程也越来越长,特别对于大文件传输场景,出现故障的概率也会增加,存在单节点故障风险,并且同步过程会受到带宽限制。
发明内容
有鉴于此,本申请的目的在于提供一种文件同步方法、装置、设备及介质,能够提高带宽利用率,并且避免单节点故障风险。其具体方案如下:
第一方面,本申请公开了一种文件同步方法,应用于分布式集群中的任意节点,包括:
循环触发文件同步指令;
在所述文件同步指令的控制下随机选取集群中除自身外预设数量的节点为目标节点;获取每个所述目标节点的第一文件信息;利用自身的第二文件信息以及所述第一文件信息确定出每个所述目标节点对应的目标同步文件;其中,所述目标同步文件为存在于本地并且不存在于对应的所述目标节点以及不为对应的所述目标节点正在接收的文件;将所述目标同步文件分别同步至对应的所述目标节点。
可选的,所述循环触发文件同步指令,包括:
定时触发所述文件同步指令;
或,利用预设事件循环触发所述文件同步指令。
可选的,所述利用自身的第二文件信息以及所述第一文件信息确定出目标同步文件,包括:
通过对比自身的第二文件信息中文件的标识信息以及所述第一文件信息中文件的标识信息确定出所述目标同步文件。
可选的,所述通过对比自身的第二文件信息中文件的标识信息以及所述第一文件信息中文件的标识信息确定出所述目标同步文件,包括:
通过对比自身的第二文件信息中文件的哈希摘要以及所述第一文件信息中文件的哈希摘要确定出所述目标同步文件;
或,通过对比自身的第二文件信息中文件的文件大小和修改时间戳以及所述第一文件信息中文件的文件大小和修改时间戳确定出所述目标同步文件。
可选的,还包括:
获取集群中全部节点的节点信息;其中,所述节点信息包括节点的连接地址、连接方式以及连接凭证;
利用所述节点信息与所述目标节点建立通信链路。
可选的,还包括:
获取待同步至所述集群中的外部文件。
可选的,还包括:
获取文件同步状态查询指令,并根据所述文件同步状态查询指令上报自身包括的文件以及文件的同步状态。
第二方面,本申请公开了一种文件同步装置,应用于分布式集群中的各节点,包括:
指令触发模块,用于循环触发文件同步指令;
文件同步模块,用于在所述文件同步指令的控制下随机选取集群中除自身外预设数量的节点为目标节点;获取每个所述目标节点的第一文件信息;利用自身的第二文件信息以及所述第一文件信息确定出每个所述目标节点对应的目标同步文件;其中,所述目标同步文件为存在于本地并且不存在于对应的所述目标节点以及不为对应的所述目标节点正在接收的文件;将所述目标同步文件分别同步至对应的所述目标节点。
第三方面,本申请公开了一种文件同步设备,应用于分布式集群中的任意节点,包括处理器和存储器;其中,
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现前述的文件同步方法。
第四方面,本申请公开了一种计算机可读存储介质,应用于分布式集群中的任意节点,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述的文件同步方法。
可见,本申请循环触发文件同步指令,在所述文件同步指令的控制下随机选取集群中除自身外预设数量的节点为目标节点;获取每个所述目标节点的第一文件信息;利用自身的第二文件信息以及所述第一文件信息确定出每个所述目标节点对应的目标同步文件;其中,所述目标同步文件为存在于本地并且不存在于对应的所述目标节点以及不为对应的所述目标节点正在接收的文件;将所述目标同步文件分别同步至对应的所述目标节点。这样,集群中任意节点均进行文件同步,能够提高带宽利用率,并且避免单节点故障风险。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种文件同步方法流程图;
图2为本申请公开的一种具体的文件同步方法流程图;
图3为本申请公开的一种具体的文件同步方法流程图;
图4为本申请公开的一种文件同步装置结构示意图;
图5为本申请公开的一种文件同步设备结构图;
图6为本申请公开的一种服务器结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1所示,本申请实施例公开了一种文件同步方法,应用于分布式集群中的任意节点,包括:
步骤S11:循环触发文件同步指令。
在一种具体的实施方式中,本实施例可以定时触发所述文件同步指令。
在另一种具体的实施方式中,本实施例可以利用预设事件循环触发所述文件同步指令。
步骤S12:在所述文件同步指令的控制下随机选取集群中除自身外预设数量的节点为目标节点;获取每个所述目标节点的第一文件信息;利用自身的第二文件信息以及所述第一文件信息确定出每个所述目标节点对应的目标同步文件;其中,所述目标同步文件为存在于本地并且不存在于对应的所述目标节点以及不为对应的所述目标节点正在接收的文件;将所述目标同步文件分别同步至对应的所述目标节点。
在具体的实施方式中,集群中任意节点均实现文件信息维护功能,来维护当前节点包含的,纳入同步管理的文件清单。具体可以以文件列表的形式,文件列表包括自身纳入同步管理的全部文件、每个文件对应的状态以及每个文件的标识信息。可以按照同步过程所包含的阶段,将文件的状态分为初始化、传输中、已存在三种状态。并且提供能够接受来自其他节点的查询,返回当前节点存储的文件列表以及相关的状态的功能。并利用哈希摘要算法,或者文件大小结合修改时间戳等方式为自身包含的文件生成对应的文件标识信息,用以维护文件的唯一性。并且,预先获取集群中全部节点的节点信息;其中,所述节点信息包括节点的连接地址、连接方式以及连接凭证,将获取到的节点信息保存在本地,生成节点列表,另外,本实施例可以维护本地的节点列表,在集群中节点变更时,若变更节点为新加入集群的节点,则获取该节点的节点信息,并加入本地的节点列表,若变更节点为退出节点,则将该节点的节点信息从本地的节点列表中删除。
当需要进行文件同步时,在文件同步指令的控制下先随机选取集群中除自身外预设数量的节点为目标节点,利用所述节点信息与所述目标节点建立通信链路,然后获取每个所述目标节点的第一文件信息,通过对比自身的第二文件信息中文件的标识信息以及所述第一文件信息中文件的标识信息确定出所述目标同步文件。在一些实施例中,可以通过对比自身的第二文件信息中文件的哈希摘要以及所述第一文件信息中文件的哈希摘要确定出所述目标同步文件;在一些实施例中通过对比自身的第二文件信息中文件的文件大小和修改时间戳以及所述第一文件信息中文件的文件大小和修改时间戳确定出所述目标同步文件,可以对比文件的文件大小和修改时间戳,文件大小与修改时间戳均一致的确定为相同文件。然后将所述目标同步文件分别同步至对应的所述目标节点。具体的,参见图2所示,本申请实施例公开了一种具体的文件同步方法,先在本地维护的节点列表中随机选取预设数量的节点为目标节点,先从选出的目标节点中选取一个目标节点,获取该目标节点的文件列表,与自身的文件列表对比,可以对比自身文件列表中文件状态为已存在的文件以及该目标节点的文件列表中文件状态为已存在和传输中的文件标识信息,由此确定出自身文件列表中文件状态为已存在的文件中该目标节点的文件列表中文件状态为已存在和传输中的文件均不包括的文件为目标同步文件,然后将确定出的目标同步文件逐一同步至该目标节点,然后对其他目标节点也执行相同的同步步骤,直到将选取出的所有目标节点的目标同步文件全部同步完成。
目标节点在接收到目标同步文件后,对于本地已经存在的文件,或者正在接受来自不同节点的相同文件则不开始传输。当传输开始时,将该文件的的文件信息添加到本地文件列表中,并将该文件的状态标记为传输中。如果文件传输成功,则将该文件的文件状态标记为已存在,如果文件传输失败,则则将该文件的文件状态标记为初始化。也即,本申请中集群中的任意节点能够接受来自其他地址的传输,并将传输过来的文件按一定的约定和规则保存至本地。具体的,对于本地已经存在的文件,或者正在接受来自不同节点的相同文件则不开始传输。传输开始时,将新的文件信息添加到文件列表中,并将文件状态标记为传输中。对于传输成功的文件,标记为已存在。对于传输失败的文件,标记为初始化。
需要指出的是,集群中的每个节点在文件同步指令的控制下循环执行前述文件同步过程,同步过程由节点间相互传输完成,也即将同步任务分散至整个集群中的各节点来完成,并且,节点选择要同步的目标节点的过程是随机的,每个节点能同时发起同步过程,根据概率学计算,同步需要的次数与节点总数呈对数关系,比如,以理想每个节点每次新同步一个节点为例,第一轮被同步的节点为1个,第二轮2个,第三轮4个,第四轮8个,依次类推,被同步的节点数量呈指数增长,因此,同步文件能在对数时间内传播到全部节点,效率优于主控程序逐个下发,同时对于对抗网络波动,快速横向扩展有一定优势。
另外,利用本申请的同步方法,在建立集群网络时,只需集群中各节点间能通过网络连通。在这个网络中,集群中的任意两个节点并不要求互通,但是集群的整体网络拓扑是连通的,不存在孤立的节点或者区域。
可见,本申请实施例循环触发文件同步指令,在所述文件同步指令的控制下随机选取集群中除自身外预设数量的节点为目标节点;获取每个所述目标节点的第一文件信息;利用自身的第二文件信息以及所述第一文件信息确定出每个所述目标节点对应的目标同步文件;其中,所述目标同步文件为存在于本地并且不存在于对应的所述目标节点以及不为对应的所述目标节点正在接收的文件;将所述目标同步文件分别同步至对应的所述目标节点。这样,集群中任意节点均进行文件同步,能够提高带宽利用率,并且避免单节点故障风险。
参见图3所示,本申请公开了一种具体的文件同步方法,包括:
步骤S21:获取待同步至所述集群中的外部文件。
在具体的实施过程中,可以利用一段主控程序,将待同步至所述集群中的外部文件从原始位置传输至任意单个或多个节点中。并且,对于本地已经存在的文件,或者正在接受来自不同节点的相同文件则不开始传输。传输开始时,将新的文件信息添加到文件列表中,并将文件状态标记为传输中。对于传输成功的文件,标记为已存在。对于传输失败的文件,标记为初始化。
步骤S22:循环触发文件同步指令。
步骤S23:在所述文件同步指令的控制下随机选取集群中除自身外预设数量的节点为目标节点;获取每个所述目标节点的第一文件信息;利用自身的第二文件信息以及所述第一文件信息确定出每个所述目标节点对应的目标同步文件;其中,所述目标同步文件为存在于本地并且不存在于对应的所述目标节点以及不为对应的所述目标节点正在接收的文件;将所述目标同步文件分别同步至对应的所述目标节点。
步骤S24:获取文件同步状态查询指令,并根据所述文件同步状态查询指令上报自身包括的文件以及文件的同步状态。
在具体的实施方式中,可以利用主控程序通过定时轮训或者事件触发的方式,查询集群中各节点的文件列表,统计集群中文件的分布和同步状况,以供上层业务或者其他应用使用。也即,当前节点获取到文件同步状态查询指令,则上报本地文件列表中的文件以及文件对应的状态。
参见图4所示,本申请公开了一种文件同步装置,应用于分布式集群中的各节点,包括:
指令触发模块11,用于循环触发文件同步指令;
文件同步模块12,用于在所述文件同步指令的控制下随机选取集群中除自身外预设数量的节点为目标节点;获取每个所述目标节点的第一文件信息;利用自身的第二文件信息以及所述第一文件信息确定出每个所述目标节点对应的目标同步文件;其中,所述目标同步文件为存在于本地并且不存在于对应的所述目标节点以及不为对应的所述目标节点正在接收的文件;将所述目标同步文件分别同步至对应的所述目标节点。
可见,本申请实施例循环触发文件同步指令,在所述文件同步指令的控制下随机选取集群中除自身外预设数量的节点为目标节点;获取每个所述目标节点的第一文件信息;利用自身的第二文件信息以及所述第一文件信息确定出每个所述目标节点对应的目标同步文件;其中,所述目标同步文件为存在于本地并且不存在于对应的所述目标节点以及不为对应的所述目标节点正在接收的文件;将所述目标同步文件分别同步至对应的所述目标节点。这样,集群中任意节点均进行文件同步,能够提高带宽利用率,并且避免单节点故障风险。
在一种具体的实施方式中,所述指令触发模块11,具体用于定时触发所述文件同步指令;
在另一种具体的实施方式中,所述指令触发模块11,具体用于利用预设事件循环触发所述文件同步指令。
所述文件同步模块12,具体可以包括:
目标同步文件确定子模块,用于通过对比自身的第二文件信息中文件的标识信息以及所述第一文件信息中文件的标识信息确定出所述目标同步文件。
在一种具体的实施方式中,所述目标同步文件确定子模块,具体用于通过对比自身的第二文件信息中文件的哈希摘要以及所述第一文件信息中文件的哈希摘要确定出所述目标同步文件;
在一种具体的实施方式中,所述目标同步文件确定子模块,具体用于通过对比自身的第二文件信息中文件的文件大小和修改时间戳以及所述第一文件信息中文件的文件大小和修改时间戳确定出所述目标同步文件。
所述文件同步装置还包括节点信息获取模块,用于获取集群中全部节点的节点信息;其中,所述节点信息包括节点的连接地址、连接方式以及连接凭证;利用所述节点信息与所述目标节点建立通信链路。
所述文件同步装置还包括外部文件获取模块,用于获取待同步至所述集群中的外部文件。
所述文件同步装置还包括同步状态上报模块,用于获取文件同步状态查询指令,并根据所述文件同步状态查询指令上报自身包括的文件以及文件的同步状态。
参见图5所示,本申请公开了一种文件同步设备,包括处理器21和存储器22;其中,所述存储器22,用于保存计算机程序;所述处理器21,用于执行所述计算机程序,以实现以下步骤:
循环触发文件同步指令;在所述文件同步指令的控制下随机选取集群中除自身外预设数量的节点为目标节点;获取每个所述目标节点的第一文件信息;利用自身的第二文件信息以及所述第一文件信息确定出每个所述目标节点对应的目标同步文件;其中,所述目标同步文件为存在于本地并且不存在于对应的所述目标节点以及不为对应的所述目标节点正在接收的文件;将所述目标同步文件分别同步至对应的所述目标节点。
可见,本申请实施例循环触发文件同步指令,在所述文件同步指令的控制下随机选取集群中除自身外预设数量的节点为目标节点;获取每个所述目标节点的第一文件信息;利用自身的第二文件信息以及所述第一文件信息确定出每个所述目标节点对应的目标同步文件;其中,所述目标同步文件为存在于本地并且不存在于对应的所述目标节点以及不为对应的所述目标节点正在接收的文件;将所述目标同步文件分别同步至对应的所述目标节点。这样,集群中任意节点均进行文件同步,能够提高带宽利用率,并且避免单节点故障风险。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:定时触发所述文件同步指令;或,利用预设事件循环触发所述文件同步指令。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:通过对比自身的第二文件信息中文件的标识信息以及所述第一文件信息中文件的标识信息确定出所述目标同步文件。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:通过对比自身的第二文件信息中文件的哈希摘要以及所述第一文件信息中文件的哈希摘要确定出所述目标同步文件;或,通过对比自身的第二文件信息中文件的文件大小和修改时间戳以及所述第一文件信息中文件的文件大小和修改时间戳确定出所述目标同步文件。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:获取集群中全部节点的节点信息;其中,所述节点信息包括节点的连接地址、连接方式以及连接凭证;利用所述节点信息与所述目标节点建立通信链路。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:获取待同步至所述集群中的外部文件。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:获取文件同步状态查询指令,并根据所述文件同步状态查询指令上报自身包括的文件以及文件的同步状态。
并且,所述存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,存储方式可以是短暂存储或者永久存储。
参见图6所示,本申请实施例公开了一种服务器20,包括前述实施例中公开的包括处理器21和存储器22的文件同步设备。关于上述处理器21具体可以执行的步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
进一步的,本实施例中的服务器20,还可以具体包括电源23、通信接口24、输入输出接口25和通信总线26;其中,所述电源23用于为所述终端20上的各硬件设备提供工作电压;所述通信接口24能够为所述终端20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;所述输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现以下步骤:
循环触发文件同步指令;在所述文件同步指令的控制下随机选取集群中除自身外预设数量的节点为目标节点;获取每个所述目标节点的第一文件信息;利用自身的第二文件信息以及所述第一文件信息确定出每个所述目标节点对应的目标同步文件;其中,所述目标同步文件为存在于本地并且不存在于对应的所述目标节点以及不为对应的所述目标节点正在接收的文件;将所述目标同步文件分别同步至对应的所述目标节点。
可见,本申请实施例循环触发文件同步指令,在所述文件同步指令的控制下随机选取集群中除自身外预设数量的节点为目标节点;获取每个所述目标节点的第一文件信息;利用自身的第二文件信息以及所述第一文件信息确定出每个所述目标节点对应的目标同步文件;其中,所述目标同步文件为存在于本地并且不存在于对应的所述目标节点以及不为对应的所述目标节点正在接收的文件;将所述目标同步文件分别同步至对应的所述目标节点。这样,集群中任意节点均进行文件同步,能够提高带宽利用率,并且避免单节点故障风险。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:定时触发所述文件同步指令;或,利用预设事件循环触发所述文件同步指令。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:通过对比自身的第二文件信息中文件的标识信息以及所述第一文件信息中文件的标识信息确定出所述目标同步文件。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:通过对比自身的第二文件信息中文件的哈希摘要以及所述第一文件信息中文件的哈希摘要确定出所述目标同步文件;或,通过对比自身的第二文件信息中文件的文件大小和修改时间戳以及所述第一文件信息中文件的文件大小和修改时间戳确定出所述目标同步文件。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:获取集群中全部节点的节点信息;其中,所述节点信息包括节点的连接地址、连接方式以及连接凭证;利用所述节点信息与所述目标节点建立通信链路。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:获取待同步至所述集群中的外部文件。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:获取文件同步状态查询指令,并根据所述文件同步状态查询指令上报自身包括的文件以及文件的同步状态。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种文件同步方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种文件同步方法,其特征在于,应用于分布式集群中的任意节点,包括:
循环触发文件同步指令;
在所述文件同步指令的控制下随机选取集群中除自身外预设数量的节点为目标节点;获取每个所述目标节点的第一文件信息;利用自身的第二文件信息以及所述第一文件信息确定出每个所述目标节点对应的目标同步文件;其中,所述目标同步文件为存在于本地并且不存在于对应的所述目标节点以及不为对应的所述目标节点正在接收的文件;将所述目标同步文件分别同步至对应的所述目标节点。
2.根据权利要求1所述的文件同步方法,其特征在于,所述循环触发文件同步指令,包括:
定时触发所述文件同步指令;
或,利用预设事件循环触发所述文件同步指令。
3.根据权利要求1所述的文件同步方法,其特征在于,所述利用自身的第二文件信息以及所述第一文件信息确定出目标同步文件,包括:
通过对比自身的第二文件信息中文件的标识信息以及所述第一文件信息中文件的标识信息确定出所述目标同步文件。
4.根据权利要求3所述的文件同步方法,其特征在于,所述通过对比自身的第二文件信息中文件的标识信息以及所述第一文件信息中文件的标识信息确定出所述目标同步文件,包括:
通过对比自身的第二文件信息中文件的哈希摘要以及所述第一文件信息中文件的哈希摘要确定出所述目标同步文件;
或,通过对比自身的第二文件信息中文件的文件大小和修改时间戳以及所述第一文件信息中文件的文件大小和修改时间戳确定出所述目标同步文件。
5.根据权利要求1所述的文件同步方法,其特征在于,还包括:
获取集群中全部节点的节点信息;其中,所述节点信息包括节点的连接地址、连接方式以及连接凭证;
利用所述节点信息与所述目标节点建立通信链路。
6.根据权利要求1所述的文件同步方法,其特征在于,还包括:
获取待同步至所述集群中的外部文件。
7.根据权利要求1至6任一项所述的文件同步方法,其特征在于,还包括:
获取文件同步状态查询指令,并根据所述文件同步状态查询指令上报自身包括的文件以及文件的同步状态。
8.一种文件同步装置,其特征在于,应用于分布式集群中的各节点,包括:
指令触发模块,用于循环触发文件同步指令;
文件同步模块,用于在所述文件同步指令的控制下随机选取集群中除自身外预设数量的节点为目标节点;获取每个所述目标节点的第一文件信息;利用自身的第二文件信息以及所述第一文件信息确定出每个所述目标节点对应的目标同步文件;其中,所述目标同步文件为存在于本地并且不存在于对应的所述目标节点以及不为对应的所述目标节点正在接收的文件;将所述目标同步文件分别同步至对应的所述目标节点。
9.一种文件同步设备,其特征在于,应用于分布式集群中的任意节点,包括处理器和存储器;其中,
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的文件同步方法。
10.一种计算机可读存储介质,其特征在于,应用于分布式集群中的任意节点,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的文件同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911127766.5A CN110865987A (zh) | 2019-11-18 | 2019-11-18 | 一种文件同步方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911127766.5A CN110865987A (zh) | 2019-11-18 | 2019-11-18 | 一种文件同步方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110865987A true CN110865987A (zh) | 2020-03-06 |
Family
ID=69655389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911127766.5A Pending CN110865987A (zh) | 2019-11-18 | 2019-11-18 | 一种文件同步方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110865987A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120084383A1 (en) * | 2010-04-23 | 2012-04-05 | Ilt Innovations Ab | Distributed Data Storage |
CN105227657A (zh) * | 2015-09-29 | 2016-01-06 | 北京京东尚科信息技术有限公司 | 一种数据同步的方法和装置 |
CN109151045A (zh) * | 2018-09-07 | 2019-01-04 | 北京邮电大学 | 一种分布式云系统及监控方法 |
CN109739810A (zh) * | 2018-12-07 | 2019-05-10 | 中山市江波龙电子有限公司 | 文件同步方法、服务器、客户端及具有存储功能的装置 |
CN110071964A (zh) * | 2019-03-26 | 2019-07-30 | 罗克佳华科技集团股份有限公司 | 文件同步方法、装置、文件共享网络、文件共系统及存储介质 |
-
2019
- 2019-11-18 CN CN201911127766.5A patent/CN110865987A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120084383A1 (en) * | 2010-04-23 | 2012-04-05 | Ilt Innovations Ab | Distributed Data Storage |
CN105227657A (zh) * | 2015-09-29 | 2016-01-06 | 北京京东尚科信息技术有限公司 | 一种数据同步的方法和装置 |
CN109151045A (zh) * | 2018-09-07 | 2019-01-04 | 北京邮电大学 | 一种分布式云系统及监控方法 |
CN109739810A (zh) * | 2018-12-07 | 2019-05-10 | 中山市江波龙电子有限公司 | 文件同步方法、服务器、客户端及具有存储功能的装置 |
CN110071964A (zh) * | 2019-03-26 | 2019-07-30 | 罗克佳华科技集团股份有限公司 | 文件同步方法、装置、文件共享网络、文件共系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11632441B2 (en) | Methods, systems, and devices for electronic note identifier allocation and electronic note generation | |
US10387255B2 (en) | Data reconstruction method in distributed storage system, apparatus, and system | |
US10348827B2 (en) | Distributed storage system, cluster node and range management method thereof | |
CN107800565B (zh) | 巡检方法、装置、系统、计算机设备和存储介质 | |
CN111259072B (zh) | 数据同步方法、装置、电子设备和计算机可读存储介质 | |
US9917884B2 (en) | File transmission method, apparatus, and distributed cluster file system | |
CN111049928B (zh) | 数据同步方法、系统、电子设备及计算机可读存储介质 | |
CN114285795B (zh) | 一种虚拟设备的状态控制方法、装置、设备及存储介质 | |
JP6405255B2 (ja) | 通信システム、キュー管理サーバ、及び、通信方法 | |
CN111552701B (zh) | 确定分布式集群中数据一致性的方法及分布式数据系统 | |
US11640261B2 (en) | Log processing method to avoid log collision, and related device and system | |
US10091288B2 (en) | Ordered execution of tasks | |
US11093334B2 (en) | Method, device and computer program product for data processing | |
CN102118422B (zh) | Reload对等网络的对等节点及其配置的更新方法和系统 | |
CN113157450A (zh) | 在区块链系统中执行区块的方法及装置 | |
CN107547605B (zh) | 一种基于节点队列的消息读写方法及节点设备 | |
US10165086B2 (en) | Information processing system, server apparatus, information processing method, and computer program product | |
US10904327B2 (en) | Method, electronic device and computer program product for searching for node | |
CN112328693A (zh) | 区块同步方法、设备和存储介质 | |
CN110798492B (zh) | 数据存储方法及装置、数据处理系统 | |
CN116346834A (zh) | 一种会话同步方法、装置、计算设备及计算机存储介质 | |
CN109992447B (zh) | 数据复制方法、装置及存储介质 | |
CN110865987A (zh) | 一种文件同步方法、装置、设备及介质 | |
US10860580B2 (en) | Information processing device, method, and medium | |
JP6233846B2 (ja) | 可変長ノンスの生成 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200306 |