CN110071964B - 文件同步方法、装置、文件共享网络、文件共***及存储介质 - Google Patents
文件同步方法、装置、文件共享网络、文件共***及存储介质 Download PDFInfo
- Publication number
- CN110071964B CN110071964B CN201910236502.7A CN201910236502A CN110071964B CN 110071964 B CN110071964 B CN 110071964B CN 201910236502 A CN201910236502 A CN 201910236502A CN 110071964 B CN110071964 B CN 110071964B
- Authority
- CN
- China
- Prior art keywords
- node
- file
- nodes
- version
- opposite end
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
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/176—Support for shared access to files; File sharing support
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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
-
- 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/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供了一种文件同步方法、装置、文件共享网络、文件共***及存储介质。方法包括:从其它节点中确定出需要问询的对端节点,生成并向对端节点发送问询信息;接收对端节点基于问询信息返回的应答信息;根据应答信息判断自身的文件与对端节点的文件是否一致;若不一致,执行文件同步操作,以使自身的文件与对端节点的文件一致。由于文件共享网络中的任一个节点都可以主动的询问其它节点,以通过其它节点的应答来判断是否有最新的文件需要同步。并在确定需要同步时,就执行同步操作。这样文件同步的压力就被文件共享网络中的各节点分担,避免主节点的负荷过大。
Description
技术领域
本申请涉及文件共享技术领域,具体而言,涉及一种文件同步方法、装置、文件共享网络、文件共***及存储介质。
背景技术
文件共享网络通常包括多个主节点和若干分节点。在实现文件同步时,最新的文件是由主节点拥有,再由主节点分别同步给余下的分节点,例如,主节点A与10个分节点B通信,则主节点A需要将最新的文件分别传输给10个分节点B。在这种情况下,全部由主节点来同步会导致主节点的数据传输量很大,从而导致主节点的负荷比较大。
发明内容
本申请的目的在于提供一种文件同步方法、装置、文件共享网络、文件共***及存储介质,以实现在文件同步过程中各节点的负荷都比较均匀。
第一方面,本申请实施例提供了一种文件同步方法,应用于文件共享网络的多个节点中的任一个节点,所述方法包括:
从其它节点中确定出需要问询的对端节点,生成并向所述对端节点发送问询信息;
接收所述对端节点基于所述问询信息返回的应答信息;
根据所述应答信息判断自身的文件与所述对端节点的文件是否一致;
若不一致,执行文件同步操作,以使自身的文件与所述对端节点的文件一致。
在本申请的实现方式中,由于文件共享网络中的任一个节点都可以主动的询问其它节点,以通过其它节点的应答来判断是否有最新的文件需要同步。并在确定需要同步时,就执行同步操作。这样文件同步的压力就被文件共享网络中的各节点分担,避免主节点的负荷过大。
结合第一方面,在第一种可能的实现方式中,生成并向所述对端节点发送问询信息,包括:
获取自身最新版本文件的版本号;
生成携带有所述版本号的所述问询信息,并将所述问询信息发送至所述对端节点,以使所述对端节点在根据所述版本号与所述对端节点的最新文件版本的版本号不同确定出需要更新文件的节点时,将所述需要更新文件的节点的标识携带在所述应答信息中;
对应的,根据所述应答信息判断自身的文件与所述对端节点的文件是否一致,包括:
判断所述应答信息中是否携带有所述标识,其中,在所述应答信息中携带有所述标识时,表征自身的文件与所述对端节点的文件不一致。
在本申请的实现方式中,由于可以基于文件版本信息是否相同来判断是否需要进行文件同步,较于通过判断是否遍历出不同文件来判断是否需要进行文件同步的方式,其简化了判断逻辑,不仅便于实现,还降低了判断过程中的运算量,从而降低了节点的运算负荷。
结合第一方面的第一种可能的实现方式中,在第二种可能的实现方式中,所述文件为所有节点的节点名单,执行文件同步操作,包括:
在所述标识为自身的标识时,获取所述对端节点的节点名单,并将自身的节点名单更新到与所述对端节点的节点名单一致;或
在所述标识是所述对端节点的标识时,将所述自身的节点名单发送给所述对端节点。
在本申请的实现方式中,在文件共享网络中的成员有更新时,由于对端节点可以判断出哪个节点的节点名单需要更新并告知相应的节点,这样相应的节点则可以通过对节点名单的同步而获知文件共享网络中最新的成员是哪些,进而实现全网络中所有的节点都可以通过同步获知文件共享网络中最新的成员是哪些。
结合第一方面的第一种可能的实现方式中,在第三种可能的实现方式中,执行文件同步操作,以使所述自身的文件与所述对端节点的文件同步到一致,包括:
在所述需要更新文件的节点为自身时,获取所述对端节点的文件目录,并根据所述文件目录从所述对端节点获取需要同步的文件和/或根据所述文件目录将自身多余的文件删除;或
在所述标识是所述对端节点的标识时,将自身的文件目录发送给所述对端节点。
在本申请的实现方式中,在文件共享网络中有文件更新时,由于对端节点可以判断出哪个节点的文件需要更新并告知相应的节点,这样相应的节点则可以通过对文件的同步而获得最新的文件,进而实现全网络中所有的节点都可以通过同步获得文件共享网络中最新的文件。
结合第一方面,在第四种可能的实现方式中,生成并向所述对端节点发送问询信息,包括:
生成携带有文件版本获取指示的所述问询信息,并将所述问询信息发送至所述对端节点,以使所述对端节点根据所述文件版本获取指示而生成携带有所述对端节点的最新文件版本的版本号的所述应答信息;
对应的,根据所述应答信息判断自身的文件与所述对端节点的文件是否一致,包括:
判断自身的最新文件版本的版本号是否所述对端节点的最新文件版本的版本号相同,其中,在所述自身的最新文件版本的版本号与所述对端节点的最新文件版本的版本号不同时,表征自身的文件与所述对端节点的文件不一致。
在本申请的实现方式中,由于每个节点不仅可以采用Pull的方式主动的发送文件版本去询问其它节点是否要进行文件同步,每个节点还可以采用Push的方式主动的去请求其它节点进行文件同步,这样可以使得每个节点进行同步的速度加快,最新的文件能够快速地同步到网络中的各个节点。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述文件为所有节点的节点名单,执行文件同步操作,包括:
根据所述自身的最新文件版本的版本号与所述对端节点的最新文件版本的版本号确定出需要更新节点名单的节点;
在所述需要更新节点名单的节点为自身时,获取所述对端节点的节点名单,并将自身的节点名单更新到与所述对端节点的节点名单一致;或者,在所述需要更新节点名单的节点为所述对端节点时,将自身的节点名单发送给所述对端节点。
在本申请的实现方式中,在文件共享网络中的成员有更新时,由于节点自身也可以判断出哪个节点的节点名单需要更新并告知相应的节点,这样相应的节点则可以通过对节点名单的同步而获知文件共享网络中最新的成员是哪些,进而实现全网络中所有的节点都可以通过同步获知文件共享网络中最新的成员是哪些。
结合第一方面的第四种可能的实现方式,在第六种可能的实现方式中,执行文件同步操作,以使所述自身的文件与所述对端节点的文件同步到一致,包括:
根据所述自身的最新文件版本的版本号与所述对端节点的最新文件版本的版本号确定出需要更新文件的节点;
在所述需要更新文件的节点为自身时,获取所述对端节点的文件目录,并根据所述文件目录从对端节点获取需要同步的文件和/或根据所述文件目录将自身多余的文件删除;或者,在所述需要更新文件的节点为所述对端节点时,将自身的文件目录发送给所述对端节点。
在本申请的实现方式中,在文件共享网络中有文件更新时,由于节点自身也可以判断出哪个节点的文件需要更新并告知相应的节点,这样相应的节点则可以通过对文件的同步而获得最新的文件,进而实现全网络中所有的节点都可以通过同步获得文件共享网络中最新的文件。
结合第一方面或第一种至第六种可能的实现方式中的任一种方式,在第七种可能的实现方式中,从其它节点中确定出需要问询的对端节点,包括:
从所述其它节点中随机的确定出需要问询的对端节点。
在本申请的实现方式中,由于需要问询的对端节点是随机确定出的,故较于采用预先确定好先询问节点再询问哪些节点的方式,其实现的逻辑更为简单,更便于实现。
结合第一方面的第七种可能的实现方式,在第八种可能的实现方式中,从所述其它节点中随机的确定出需要问询的对端节点,包括:
根据所述文件共享网络的当前状态确定出需要问询的节点的数量;
从所述其它节点中随机的确定出满足所述数量的对端节点。
在本申请的实现方式中,由于可以根据文件共享网络的当前状态确定出需要问询的节点的数量,这样就可以避免进行文件同步的节点数量超过网络的负荷,进而避免节点在文件同步过程中超负荷。
结合第一方面的第二种或第五种可能的实现方式,在第九种可能的实现方式中,所述方法还包括:
获取待加入网络的节点发送的加入请求;
在确定自身有处理所述加入请求的权限时,判断所述加入请求携带的所述待加入网络的节点的证书与所述数字证书颁发机构为所述待加入网络的节点颁发的证书是否匹配;
若是,将所述待加入网络的节点加入到所述节点名单。
在本申请的实现方式中,由于只有有权限的节点才允许通过验证的新的节点加入到文件共享网络中,一方面避免了所有节点都可以将新的节点加入到文件共享网络导致网络中的成员混乱,另一方面保证加入的节点的安全的,提高了网络的稳定性。
结合第一方面,在第十种可能的实现方式中,所述方法还包括:
获取所述其它节点发送的问询信息,其中,所述其它节点发送的问询信息中携带有所述其它节点的最新文件版本的版本号;
根据所述其它节点的最新文件版本的版本号与自身的最新文件版本的版本号确定出需要更新文件的节点;
生成携带有所述需要更新文件的节点的标识的应答信息并发送至所述其它节点,使得所述其它节点基于所述标识而执行与自身配合文件同步操作,并使得同步后自身的文件与所述对端节点的文件一致。
在本申请的实现方式中,由于节点自身不仅可以主动去询问其它节点进行文件同步,且节点自身还可以配合其它节点的询问进行文件同步,故可以加速文件在网络中的同步速度。
结合第一方面,在第十一种可能的实现方式中,所述方法还包括:
获取到所述其它节点发送的问询信息,其中,所述其它节点发送的问询信息中携带有文件版本获取指示;
根据所述文件版本获取指示,生成携带有自身的最新文件版本的版本号的应答信息并发送至所述其它节点,使得所述其它节点基于所述版本号执行而与自身配合的文件同步操作,并使得同步后自身的文件与所述对端节点的文件一致。
在本申请的实现方式中,由于节点自身不仅可以主动去请求其它节点进行文件同步,且节点自身还可以配合其它节点的请求进行文件同步,故可以加速文件在网络中的同步速度。
第二方面,本申请实施例提供了一种文件同步装置,应用于文件共享网络的多个节点中的任一个节点,所述装置包括:
信息收发模块,用于从其它节点中确定出需要问询的对端节点,生成并向所述对端节点发送问询信息;
所述信息收发模块,还用于接收所述对端节点基于所述问询信息返回的应答信息;
处理模块,用于根据所述应答信息判断自身的文件与所述对端节点的文件是否一致;
文件同步模块,用于若不一致,执行文件同步操作,以使自身的文件与所述对端节点的文件一致。
结合第二方面,在第一种可能的实现方式中,
所述信息收发模块,还用于获取自身最新版本文件的版本号;生成携带有所述版本号的所述问询信息,并将所述问询信息发送至所述对端节点,以使所述对端节点在根据所述版本号与所述对端节点的最新文件版本的版本号不同确定出需要更新文件的节点时,将所述需要更新文件的节点的标识携带在所述应答信息中;
对应的,所述处理模块,还用于判断所述应答信息中是否携带有所述标识,其中,在所述应答信息中携带有所述标识时,表征自身的文件与所述对端节点的文件不一致。
结合第二方面的第一种可能的实现方式中,在第二种可能的实现方式中,所述文件为所有节点的节点名单,
所述文件同步模块,还用于在所述标识为自身的标识时,获取所述对端节点的节点名单,并将自身的节点名单更新到与所述对端节点的节点名单一致;或在所述标识是所述对端节点的标识时,将所述自身的节点名单发送给所述对端节点;
结合第二方面的第一种可能的实现方式中,在第三种可能的实现方式中,
所述文件同步模块,还用于在所述需要更新文件的节点为自身时,获取所述对端节点的文件目录,并根据所述文件目录从所述对端节点获取需要同步的文件和/或根据所述文件目录将自身多余的文件删除;或在所述标识是所述对端节点的标识时,将自身的文件目录发送给所述对端节点。
结合第二方面,在第四种可能的实现方式中,
所述信息收发模块,还用于生成携带有文件版本获取指示的所述问询信息,并将所述问询信息发送至所述对端节点,以使所述对端节点根据所述文件版本获取指示而生成携带有所述对端节点的最新文件版本的版本号的所述应答信息;
对应的,所述处理模块,还用于判断自身的最新文件版本的版本号是否所述对端节点的最新文件版本的版本号相同,其中,在所述自身的最新文件版本的版本号与所述对端节点的最新文件版本的版本号不同时,表征自身的文件与所述对端节点的文件不一致。
结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述文件为所有节点的节点名单,
所述文件同步模块,还用于根据所述自身的最新文件版本的版本号与所述对端节点的最新文件版本的版本号确定出需要更新节点名单的节点;在所述需要更新节点名单的节点为自身时,获取所述对端节点的节点名单,并将自身的节点名单更新到与所述对端节点的节点名单一致;或者,在所述需要更新节点名单的节点为所述对端节点时,将自身的节点名单发送给所述对端节点;
结合第二方面的第四种可能的实现方式,在第六种可能的实现方式中,
所述文件同步模块,还用于根据所述自身的最新文件版本的版本号与所述对端节点的最新文件版本的版本号确定出需要更新文件的节点;在所述需要更新文件的节点为自身时,获取所述对端节点的文件目录,并根据所述文件目录从对端节点获取需要同步的文件和/或根据所述文件目录将自身多余的文件删除;或者,在所述需要更新文件的节点为所述对端节点时,将自身的文件目录发送给所述对端节点。
结合第二方面或第一种至第六种可能的实现方式中的任一种方式,在第七种可能的实现方式中,
所述信息收发模块,还用于从所述其它节点中随机的确定出需要问询的对端节点。
结合第二方面的第七种可能的实现方式,在第八种可能的实现方式中,
所述信息收发模块,还用于根据所述文件共享网络的当前状态确定出需要问询的节点的数量;从所述其它节点中随机的确定出满足所述数量的对端节点。
结合第二方面的第二种或第五种可能的实现方式,在第九种可能的实现方式中,
所述信息收发模块,还用于获取待加入网络的节点发送的加入请求;
所述处理模块,还用于在确定自身有处理所述加入请求的权限时,判断所述加入请求携带的所述待加入网络的节点的证书与所述数字证书颁发机构为所述待加入网络的节点颁发的证书是否匹配;若是,将所述待加入网络的节点加入到所述节点名单。
结合第二方面,在第十种可能的实现方式中,
所述信息收发模块,还用于获取所述其它节点发送的问询信息,其中,所述其它节点发送的问询信息中携带有所述其它节点的最新文件版本的版本号;
所述处理模块,还用于根据所述其它节点的最新文件版本的版本号与自身的最新文件版本的版本号确定出需要更新文件的节点;
所述信息收发模块,还用于生成携带有所述需要更新文件的节点的标识的应答信息并发送至所述其它节点,使得所述其它节点基于所述标识而执行与自身配合文件同步操作,并使得同步后自身的文件与所述对端节点的文件一致。
结合第二方面,在第十一种可能的实现方式中,
所述信息收发模块,还用于获取到所述其它节点发送的问询信息,其中,所述其它节点发送的问询信息中携带有文件版本获取指示;
所述处理模块,还用于根据所述文件版本获取指示,生成携带有自身的最新文件版本的版本号的应答信息并发送至所述其它节点,使得所述其它节点基于所述版本号执行而与自身配合的文件同步操作,并使得同步后自身的文件与所述对端节点的文件一致。
第三方面,本申请实施例提供了一种文件共享网络,包括:
多个节点,每个所述节点与至少一个其它节点通信连接,每个所述节点用于执行如第一方面或第一方面的第一种至第十一种可能的实现方式中任一方式所述的文件同步方法。
第四方面,本申请实施例提供了一种文件共享***,包括:
多个文件共享网络,每个所述文件共享网络包括多个节点,每个所述节点可以位于不同的至少两个所述文件共享网络,每个所述节点用于执行如第一方面或第一方面的第一种至第十一种可能的实现方式中任一方式所述的文件同步方法。
第五方面,本申请实施例提供了一种具有计算机可执行的非易失程序代码的计算机可读储存介质,所述程序代码使所述计算机执行如第一方面或第一方面的第一种至第十一种可能的实现方式中任一方式所述的文件同步方法。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的一种文件共享***的第一结构框图;
图2示出了本申请实施例提供的一种文件同步方法的第一流程图;
图3示出了本申请实施例提供的一种文件同步方法的第二流程图;
图4示出了本申请实施例提供的一种文件共享***的第二结构框图;
图5示出了本申请实施例提供的一种文件共享***的第三结构框图;
图6示出了本申请实施例提供的一种文件同步方法的第三流程图;
图7示出了本申请实施例提供的一种文件同步方法的第四流程图;
图8示出了本申请实施例提供的一种文件同步方法的第五流程图;
图9示出了本申请实施例提供的一种文件同步方法的第六流程图;
图10示出了本申请实施例提供的一种文件同步装置的结构框图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参阅图1,本申请实施例提供了一种文件共享***10,该文件共享***10可以包括:多个文件共享网络100,而每个文件共享网络100则可以包括多个节点。
本实施例中,节点可以是手机、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)、销售终端(Point of Sales,POS)等。节点也可以是服务器,服务器可以是单个服务器,也可以是服务器组。服务器组可以是集中式的,也可以是分布式的(例如,服务器可以是分布式***)。在一些实施例中,服务器相对于其它与服务器交互设备,服务器可以是本地的,或也可以是远程的。在一些实施例中,服务器可以在云平台上实现;仅作为示例,云平台可以包括私有云、公有云、混合云、社区云(community cloud)、分布式云、跨云(inter-cloud)、多云(multi-cloud)等,或者它们的任意组合。
每个文件共享网络100中的每个节点可以与该文件共享网络100中的至少一个其它节点通信连接,这样每个文件共享网络100中的每个节点就可以与该文件共享网络100中的其它节点通信。
例如图1中所示,文件共享网络100A中包含节点A1、节点A2和节点A3。节点A1、节点A2和节点A3都建立了逻辑层面上的通信连接。而在物理层面上,节点A1分别与节点A2和节点A3建立了物理上的连接关系,但节点A2和节点A3之间并没有建立物理上的连接关系。那么在该文件共享网络100A中节点之间的通信则可以是:节点A1基于逻辑层面上的通信连接和物理层面上的通信连接,可以直接将文件或指令发送给节点A2和节点A3或者可以直接接收节点A2和节点A3发送的文件或指令;节点A2基于逻辑层面上的通信连接和物理层面上的通信连接,可以通过节点A1的转发而接收节点A3发送的文件或指令。
本实施例中,每个文件共享网络100中的每个节点可以维护一份该文件共享网络100中所有节点的节点名单,且每份节点名单中不包含非对应的文件共享网络100中的节点,这样每个文件共享网络100中的每个节点基于该节点名单就可以与该文件共享网络100中的其它节点的通信,但确无法与非该文件共享网络100的节点通信。基于这种通信方式,可以避免不同的文件共享网络100之间进行文件,即避免本属于文件共享网络100A的文件却被泄露到文件共享网络100C,从而提高了整个文件共享***10的安全性。
例如图1中所示,文件共享网络100A中的节点A1、节点A2和节点A3均可以拥有该文件共享网络100A的节点名单101,该节点名单101包含节点A1、节点A2和节点A3。那么节点A1、节点A2和节点A3基于该节点名单101便可以进行通信和文件同步,并实现在同步后节点A2、节点A1和节点A3的文件保持一致。但由于节点名单101中并不包含节点A4,故对于节点A1、节点A2和节点A3来说节点A4不属于该文件共享网络100A,那么节点A1、节点A2和节点A3则无法基于节点名单101与节点A4通信,故属于文件共享网络100A的文件便无法被泄露到节点A4所在的文件共享网络100B。
本实施例中,由于文件共享网络100的划分是基于节点名单,即拥有同一节点名单的节点则属于同一文件共享网络100。基于此,在每个节点若拥有不同的至少两份节点名单,那么每个节点则可以位于不同的两个文件共享网络100。
例如图1中所示,节点A1既拥有文件共享网络100A的节点名单101,且节点A1也拥有文件共享网络100B的节点名单102,那么节点A1便即属于文件共享网络100A且也属于文件共享网络100B。
另外,需要说明的是,本实施例中所述的文件一方面可以是节点名单,另一方面则可以各节点上存储的数据文件例如文档文件、压缩文件、图形文件、声音文件、动画文件、***文件和/或可执行文件等。那么,在同步的文件是节点名单的情况下,通过每个文件共享网络100中的每个节点相互发送节点名单便可以实现节点名单的同步。而在同步的文件是数据文件的情况下,每个文件共享网络100中的每个节点则需要通过相互发送文件目录,这样对应的节点基于将获取的文件目录与自身的文件目录比对便可以获知需要获取或删除哪些文件,并最终实现文件的同步。
例如图1中所示,文件共享网络100A中的节点A1拥有的文件目录102中可以包含文件1和文件3,且节点A1中也对应存储由文件1和文件3的数据。节点A2拥有的文件目录102中可以包含文件1和文件2,且节点A2中也对应存储有文件1和文件2的数据。而节点A3拥有的文件目录102中则可以包含文件1和文件4,且节点A3中也对应存储有文件1和文件4的数据。对于节点A1来说,由于节点A1还属于文件共享网络100B,那么节点A1中还可以拥有属于文件共享网络100B的文件目录202。由于不同文件共享网络之间的数据文件是彼此隔离的,故不同文件共享网络的数据文件可以是不同的,即节点A1的文件目录202中可以包含文件5、文件6和文件7,且节点A1还对应存储的文件5、文件6和文件7的数据。
基于此,对于节点A1来说,在文件共享网络100A的文件需要同步时,节点A1可以基于节点名单101与节点A2和/或A3通信,实现将节点名单101在共享网络100A内同步。和/或,节点A1还可以基于节点名单101与节点A2和/或节点A3通信,从实现将文件目录102在共享网络100A内发送,从而实现文件目录102对应的文件在共享网络100A内同步。但对于文件共享网络100B的节点名单201和文件目录202,节点A1不会将节点名单201和文件目录202发送到文件共享网络100A内。即保证了文件共享网络100A的文件与文件共享网络100B的文件彼此之间的隔离的,从而提高了整个文件共享***10的安全性。
另外,对于每个文件共享网络100来说,每个文件共享网络100中可以有至少一个节点来作为资源拥有者节点,资源拥有者节点拥有文件共享网络100中其它节点对它认可的权威性,那么资源拥有者节点便有权限决定是否允许待加入网络的节点加入该文件共享网络100。进一步的,在允许加入待加入网络的节点加入该文件共享网络100后,资源拥有者节点便在节点名单中加入该待加入网络的节点。
另外,每个文件共享网络100中的资源拥有者节点可以根据自己探测而获知该文件共享网络100中某些节点处于可疑状态;或者,每个文件共享网络100中除资源拥有者节点之外的其它节点也可以探测到该文件共享网络100中某些节点处于可疑状态,那么资源拥有者节点还可以通过与该文件共享网络100中其它节点通信而获知该文件共享网络100中某些节点处于可疑状态。这样资源拥有者节点便可以在节点名单中对应将这些节点的状态更新为处于可疑状态,从而实现对名单的更新。
另外,每个文件共享网络100中的资源拥有者节点可以根据自己探测而获知该文件共享网络100中某些节点处于死亡状态;或者,每个文件共享网络100中除资源拥有者节点之外的其它节点也可以探测到该文件共享网络100中某些节点处于死亡状态,那么资源拥有者节点还可以通过与该文件共享网络100中其它节点通信而获知该文件共享网络100中某些节点处于死亡状态。这样资源拥有者节点便可以在节点名单中对应将这些处于死亡状态的节点的删除,从而也实现对名单的更新。
再者,对于每个文件共享网络100来说,资源拥有者节点可以通过与外部的物理设备通信而接收外部的物理设备发送的最新文件和/或根据外部的物理设备的指示将资源拥有者节点中多余的文件删除,并相应更新的文件目录。在此基础上,资源拥有者节点的文件便可以是该文件共享网络100中最具有权威性的文件。那么文件同步则可以该以该资源拥有者节点的文件为目标,通过同步使得该文件共享网络100中所有节点的文件都与该资源拥有者节点的文件保持一致。
下面将结合方法实施例来对同一文件共享网络100内各节点的文件如何实现同步进行详细地说明。
请参阅图2,本申请实施例提供了一种文件同步方法,该文件同步方法可以由文件共享网络的多个节点中的任一个节点执行,且该文件同步方法可以包括:步骤S100、步骤S200、步骤S300和步骤S400。
步骤S100:从其它节点中确定出需要问询的对端节点,生成并向所述对端节点发送问询信息。
步骤S200:接收所述对端节点基于所述问询信息返回的应答信息。
步骤S300:根据所述应答信息判断自身的文件与所述对端节点的文件是否一致。
步骤S400:若不一致,执行文件同步操作,以使自身的文件与所述对端节点的文件一致。
需要说明的是,为便于在描述上清楚区分执行该文件同步方法的节点和与该节点配合的对端节点,本实施例将以节点A1执行文件同步方法并与节点A2和节点A3配合为例来进行说明。
结合参阅图3至图5,节点A1在执行步骤S100之前,节点A1还可以执行:步骤S101、步骤S102和步骤S103。
步骤S101:获取待加入网络的节点发送的加入请求。
步骤S102:在确定自身有处理所述加入请求的权限时,判断所述加入请求携带的所述待加入网络的节点的证书与所述数字证书颁发机构为所述待加入网络的节点颁发的证书是否匹配;
步骤S103:若是,将所述待加入网络的节点加入到所述节点名单。
下面将对步骤S101、步骤S102和步骤S103进行详细地说明。
步骤S101:获取待加入网络的节点发送的加入请求。
节点A1中存储有该文件共享网络100A中的节点名单101,在节点A1作为而资源拥有者节点拥有权限的情况下,节点A1可以对允许待加入网络的节点AN认证通过后,允许该待加入网络的节点AN加入该文件共享网络100A。
作为获取该加入请求的一种示例性的方式,若节点A1作为资源拥有者节点,节点A1的IP可以被公示出来,即文件共享网络100A中每个节点都将节点A1的IP。那么待加入网络的节点AN在不清楚文件共享网络100A谁是决定自己是否可以加入的资源拥有者节点时,待加入网络的节点AN便可以通过与文件共享网络100A中的节点通信而获取到节点A1的IP,故可以获知节点A1是资源拥有者节点。这样,待加入网络的节点AN便可以生成加入请求,并向节点A1发送该加入请求。节点A1则相应的获取到该加入请求。
作为获取该加入请求的另一种示例性的方式,若节点A1作为资源拥有者节点,但节点A1的IP并未被公示出来。那么待加入网络的节点AN在不清楚文件共享网络100A谁是决定自己是否可以加入的资源拥有者节点时,待加入网络的节点AN生成生成加入请求,并向文件共享网络100A中的每个节点均发送该加入请求。相应的,节点A1则也会获取到该加入请求。
步骤S102:在确定自身有处理所述加入请求的权限时,判断所述加入请求携带的所述待加入网络的节点的证书与所述数字证书颁发机构为所述待加入网络的节点颁发的证书是否匹配。
本实施例中,节点A1在获取到该加入请求后,通过解析该加入请求,节点A1通过获取到该加入请求中携带的用于表示请求加入网络的内容,其中,携带的用于表示请求加入网络的内容可以是例如请求加入网络字段中包含该待加入网络的节点AN的IP。于是节点A1便可以获知自己需要决定是否允许该待加入网络的节点AN加入网络。
在此基础上,无论节点A1是否是资源拥有者节点,在逻辑层面上,节点A1需要先判断自身有处理加入请求的权限,节点A1需要判断自身是否为资源拥有者节点。
若通过判断确定自身没有处理加入请求的权限,节点A1则可以告知待加入网络的节点AN自己没有权限来决定是否允许待加入网络的节点AN加入网络。当然这种情况一般在前述的待加入网络的节点AN向每个节点均发送加入请求时下发生。
若通过判断确定自身有处理加入请求的权限,节点A1则进一步判断该待加入网络的节点AN是否满足加入条件。
本实施例中,为保证网络的安全性,文件共享网络100A中的节点都可以是通过第三方认证机构例如CA机构(Certificate Authority,数字证书颁发机构)认证通过的节点,每个节点中都存储有CA机构为自己颁发的认证通过的证书。由于证书的唯一性,故可以保证文件共享网络100A之外的节点无法伪装成文件共享网络100A内的节点,进而保证了网络的安全性。
与此同理,若待加入网络的节点AN需要加入该文件共享网络100A,那么待加入网络的节点AN便需要先向CA机构发起认证,并获得CA机构为待加入网络的节点AN颁发的认证通过的证书。这样,待加入网络的节点AN便可以在生成并发送的加入请求中携带待加入网络的节点的该认证通过的证书。
相应的,节点A1则可以通过待加入网络的节点的认证通过的证书来判断该待加入网络的节点AN是否满足加入条件。可选的,节点A1获取该待加入网络的节点的认证通过的证书后,节点A1便可以向CA机构请求CA机构中备份的该待加入网络的节点AN的证书。从而节点A1可以判断加入请求携带的待加入网络的节点的证书与数字证书颁发机构为待加入网络的节点颁发的证书是否匹配。
那么,若证书不匹配,节点A1则可以告知待加入网络的节点AN无法加入网络。反之,节点A1则可以通过将待加入网络的节点AN加入到节点名单101中的方式将待加入网络的节点AN加入到文件共享网络100A中。例如,图4所示,待加入网络的节点AN加入文件共享网络100A后,节点A1上的节点名单101则可以更新为包含节点A1、节点A2、节点A3和节点AN。
另外,决定待加入网络的节点AN是否可以加入网络的条件也不仅限于对待加入网络的节点AN的证书进行判断。实际中,节点A1也可以基于文件共享网络100A的状态来决定待加入网络的节点AN是否可以加入网络。例如,节点A1可以判断文件共享网络100A中的节点数量是否达到了上限,若是,则说明文件共享网络100A的状态不可以允许待加入网络的节点AN加入网络,反之则说明文件共享网络100A的状态可以允许待加入网络的节点AN加入网络。
需要理解到的是,本实施例中以在步骤S100之前节点A1先执行步骤S101、步骤S102和步骤S103为例对本实施例的方法进行说明是为便于本领域技术人员理解本方案。实际中,节点A1对步骤S101至步骤S103的执行与节点A1对步骤S110至步骤S140的执行并没有明确的先后顺序。
请再参阅图3至图5,本实施例中,在节点A1作为资源拥有者节点的情况下,节点A1还可以与外部的物理设备通信而更新自身的文件。例如,节点A1原本拥有的文件是文件1和文件3,但通过与外部的物理设备通信,节点A1则可以将多余的文件3删除,并从外部的物理设备获取新的文件N。这样节点A1拥有的文件则被更新为文件1和文件N。与此同时,节点A1则也将自身的文件目录102也对应更新为包含文件1和文件N。
于本实施例中,节点A1可以分别通过Push询问和Pull请求方式与其它节点通信,从而实现进行文件更新。下面将分别对这两种方式予以详细地说明。此外,前述以节点A1为资源拥有者节点为例对本方案进行说明,其目的是为了便于本领域技术人员理解本方案,并不作为限定。与前述不同的是,也为便于本领域技术人员理解本方案,下面将以节点A1作为普通节点为例来对方案进行说明。
请参阅图5和图6,本实施例中若节点A1采用询问的其它节点的通信方式,相应的,步骤S100可以包括:步骤S110、步骤S120和步骤S130。
步骤S110:从所述其它节点中随机的确定出需要问询的对端节点。
步骤S120:获取自身最新版本文件的版本号。
步骤S130:生成携带有所述版本号的所述问询信息,并将所述问询信息发送至所述对端节点。
下面将对步骤S110、步骤S120和步骤S130进行详细地说明。
步骤S110:从所述其它节点中随机的确定出需要问询的对端节点。
节点A1确定当前时刻满足某些特定时刻或者节点/网络的状态满足某些特定状态例如:节点A1的节点名单101刚刚进行了更新、节点A1的文件和对应的文件目录刚刚进行了更新、节点A1获知文件共享网络100A的当前状态可以实现文件同步和/或者在节点A1采用周期性进行问询的方式时,当前时刻是当前周期中的询问时间点。那么,在节点A1确定当前时刻满足某些特定时刻或者节点/网络的状态满足某些特定状态时,节点A1则确定需要去问询一些节点,以便判断是否与这些节点进行文件同步。
需要说明的是,节点A1获知文件共享网络100A的当前状态的方式可以是:节点A1通过与文件共享网络100A的通信,实时的记录了文件共享网络100A中每个节点的负荷状态。节点A1可以基于每个节点的负荷值进行求平均,从而获得负荷平均值。该负荷平均值便可以作为文件共享网络100A的当前状态。而节点A1中还预设了负荷阈值,在该负荷平均值小于该负荷阈值的情况下,便确定文件共享网络100A的当前状态可以实现文件同步。当然,采用这种方式确定文件共享网络100A的当前状态为一种例举的方式,不作为对本实施的限定。例如,也可以采用判断是否有节点负荷值超出了负荷阈值,若否,则确定文件共享网络100A的当前状态可以实现文件同步。
为避免文件同步的节点数量过多而导致文件共享网络100A超负荷,在节点A1确定需要询问哪些节点之前,节点A1可以根据致文件共享网络的当前状态确定出需要问询的节点的数量。可选地,节点A1中预先设置每个负荷区间对应的需要问询的节点的数量,所有的负荷区间的上限值都不超过负荷阈值,且负荷区间的上限值约趋近于负荷阈值则该负荷区间对应的需要问询的节点的数量则越少。例如,负荷阈值为50,负荷区间A为30-40,则负荷区间A对应的需要问询的节点的数量为2,负荷区间B为40-50,则负荷区间B对应的需要问询的节点的数量为1。基于此,节点A1可以确定该负荷平均值属于哪一个负荷区间,然后根据对应的该负荷区间便可以确定出需要问询的节点的数量。例如,在负荷平均值为47的情况下,节点A1根据文件共享网络100A的当前状态确定出需要问询的节点的数量则可以为1个。
实际中为便于实现,节点A1基于确定出的数量,那么节点A1则可以从其它节点中随机的确定出满足数量的对端节点。其中,为保证在宏观上的均匀性,采用随机的选择方式时,每个其它节点被选择到的概率可以是相同的。例如,在数量为1的情况下,节点A1可以随机的从包含节点A2和节点A3的其它节点中选择出节点A2作为本次同步的对端节点。
步骤S120:获取自身最新版本文件的版本号。
为了使对端节点A2能够简单且准确判断文件是否需要同步,本实施例可以采用版本号方式来进行判断。对于每个节点来说,每一次节点名单和/或文件目录的更新,更新后的节点名单和/或文件目录都会有一个新的版本号。如图4和图5所示,节点A1的节点名单101包含节点A1、节点A2和节点A3时的版本号可以为1.01,而节点A1的节点名单101更新到包含节点A1、节点A2、节点A3和节点AN时对应的版本号可以更新为1.02。本实施例中,为便于判断每次更新后的版本号较于更新前的版本号可以大一些,但不作为限定,例如也可以采用每次更新后的版本号较于更新前的版本号可以小一些。
作为一种可选的方式,节点名单和文件目录可以共用同一版本号,无论是节点名单的更新还是文件目录的更新,该版本号都相应的被更新。例如,节点A1的节点名单101更新到包含节点A1、节点A2、节点A3和节点AN时,对应的版本号可以更新为1.02。然后在节点A1的文件目录102由包含文件1和文件3更新到包含文件1和文件N时,该版本号则可以在1.02的基础上继续被更新为1.03。
作为另一种可选的方式,节点名单和文件目录也可以使用分别的版本号,即节点名单使用自身对应的一版本号,而文件目录则也使用自身对应的另一版本号。这样,在节点名单更新时则节点名单对应的版本号被更新,而在文件目录更新时则文件目录对应的版本号被更新。例如,节点A1的节点名单101更新到包含节点A1、节点A2、节点A3和节点AN时,节点名单对应的版本号可以更新为1.02。然后在节点A1的文件目录102由包含文件1和文件3更新到包含文件1和文件N时,文件目录102对应的版本号则可以在由2.01的基础上被更新为2.02。
进一步的,在节点名单和文件目录共用同一版本号的基础上,节点A1便可以获取自身最新版本文件(即最新的文件目录102和最新的节点名单101)对应的该共用的版本号。
进一步的,在节点名单和文件目录分别使用各自对应的版本号基础上,节点A1获取自身最新版本文件对应的版本号则可以是分别获取最新的节点名单101对应的版本号和最新的文件目录102对应的版本号。
步骤S130:生成携带有所述版本号的所述问询信息,并将所述问询信息发送至所述对端节点。
相应的,在获取到版本号之后,为便于对端节点A2可以基于该版本号来判断文件是否需要同步。那么节点A1便可以生成携带有该版本号的问询信息,并通过与对端节点A2通信连接将该问询信息发送至对端节点A2。
对端节点A2在获取到该问询信息后,对端节点A2便可以通过对该问询信息的解封装而获取其携带的节点A1的最新文件版本的版本号。
本实施例中,对端节点A2自身也携带了自身最新文件版本的版本号。那么,对端节点A2可以通过将该节点A1的最新文件版本的版本号与对端节点A2的最新文件版本的版本号比对而确定出需要更新文件的节点。
作为一种方式,在版本号共用的情况下,对端节点A2可以直接将节点A1的最新文件版本的版本号与对端节点A2的最新文件版本的版本号比对。若版本号相同,则对端节点A2可以确定本次同步没有需要更新文件的节点。若版本号不相同,则对端节点A2可以确定相对较小的版本号对应的节点为需要更新文件的节点。例如,节点A1的最新文件版本的版本号为1.03,而对端节点A2的最新文件版本的版本号为0.98,则对端节点A2确定自身为需要更新文件的节点。又例如,节点A1的最新文件版本的版本号为1.03,而对端节点A2的最新文件版本的版本号为1.04,则对端节点A2确定节点A1为需要更新文件的节点。
作为另一种方式,在版本号不共用的情况下,对端节点A2可以将节点A1的最新节点名单101的版本号与对端节点A2的最新节点名单101的版本号比对,并且可以将节点A1的最新文件目录102的版本号与对端节点A2的最新文件目录102的版本号比对。通过对比,在两个版本号中有至少一个不同时,对端节点A2也可以确定出需要更新文件的节点,即确定出需要更新文件目录的节点和/或需要更新节点名单的节点。
进一步的,对端节点A2在确定为没有需要更新文件的节点时,对端节点A2则可以生成没有携带任何节点的标识的应答信息并发送给节点A1。这样,节点A1就可以获知本次不需要进行文件同步。
进一步的,对端节点A2在确定为有需要更新文件的节点时,对端节点A2则可以生成携带有需要更新文件的节点的标识的应答信息并发送给节点A1,其中,该标识可以是需要更新文件的节点的IP。
步骤S200:接收所述对端节点基于所述问询信息返回的应答信息。
相应的,节点A1通过与对端节点A2的通信,节点A1便可以获取到对端节点A2基于问询信息返回的应答信息。
步骤S300:根据所述应答信息判断自身的文件与所述对端节点的文件是否一致。
由于在有节点需要更新文件时,应答信息中便可以对应的携带有需要更新文件的节点的标识。故节点A1可以通过判断应答信息中是否携带有需要更新文件的节点的标识来确定自身的文件与对端节点A2的文件是否一致,其中,在应答信息中携带有该标识时则表征节点A1自身的文件与对端节点A2的文件不一致。
由于是对应答信息中携带的标识进行判断,那么节点A1为便于确定标识所对应说哪一个节点,故节点A1中可以预先设置了该文件共享网络100A中每个节点的标识。基于此,节点A1基于对应答信息进行解析从而获取到应答信息携带的需要更新文件的节点的标识。然后,节点A1便可以通过将该需要更新文件的节点的标识与预设的每个节点的标识进行匹配,从而可以确定出需要更新文件的节点的标识为自身的标识还是为对端节点A2的标识。
需要说明的是,在版本号是共用的情况下,应答信息携带的更新文件的节点的标识则是唯一的。在此基础上,节点A1便可以确定出需要更新文件的节点要么是节点A1反之则是对端节点A2。而在版本号是非共用的情况下,那么需要更新的文件则有节点名单和文件目录这两种,因此,应答信息携带的更新文件的节点的标识则为至少一个。那么根据该至少一个标识,在有节点的节点名单需要更新时,节点A1便可以确定出需要更新节点名单的节点要么是节点A1反之则是对端节点A2,以及在有节点的文件目录需要更新时,节点A1还可以确定出需要更新文件目录的节点要么是节点A1反之则是对端节点A2。
步骤S400:若不一致,执行文件同步操作,以使自身的文件与所述对端节点的文件一致。
若应答信息中任何节点的标识,那么节点A1基于未获取到标识便可以确定本次无需进行文件同步,从而节点A1可以结束本次文件同步的流程。
若节点A1基于应答信息中携带有标识确定出文件需要更新的节点,那么节点A1便可以进行文件同步操作。
作为第一种示例性的方式,在执行文件同步操作的过程中,在版本号是共享的情况下,若节点A1确定携带的标识为自身的标识,节点A1则确定自己的文件需要更新。但由于该版本号是共享的,故根据该版本号节点A1并不能够确定是自己的节点名单101需要更新,还是自己的文件目录102需要更新,还是自己的节点名单101和文件目录102都需要更新。这样节点A1便可以向对端节点A2请求对端节点A2的节点名单101和文件目录102。节点A1将对端节点A2的节点名单101与自身的节点名单101对比,以及将对端节点A2的文件目录102与自身的文件目录102对比,节点A1可以确定自己那些文件需要更新。
在节点A1通过比对发现自己的节点名单101需要更新,节点A1便将自身的节点名单101更新到对端节点A2的节点名单101一致。
在节点A1通过比对发现自己的文件目录102需要更新,节点A1便可以先将自身的文件目录102更新到对端节点A2的文件目录102一致。再根据更新的文件目录102从对端节点A2获取需要同步的文件和/或将自身多余的文件删除,从而使得节点A1更新后的文件与对端节点A2保持一致。
作为第二种示例性的方式,在执行文件同步操作的过程中,在版本号是共享的情况下,若节点A1确定携带的标识为对端节点A2的标识,节点A1则确定对端节点A2的文件需要更新。但也由于该版本号是共享的,故根据该版本号节点A1并不能够确定是对端节点A2的节点名单101需要更新,还是对端节点A2的文件目录102需要更新,还是对端节点A2的节点名单101和文件目录102都需要更新。这样节点A1便可以将自身的节点名单101和文件目录102都发送给对端节点A2。
对端节点A2将节点A1的节点名单101与自身的节点名单101对比,以及将节点A1的文件目录102与自身的文件目录102对比,对端节点A2可以确定自己那些文件需要更新。
在对端节点A2通过比对发现自己的节点名单101需要更新,对端节点A2便将自身的节点名单101更新到节点A1的节点名单101一致。例如图5所示,对端节点A2可以将自身的节点名单101更新到包含节点A1、节点A2、节点A3和节点AN。
在对端节点A2通过比对发现自己的文件目录102需要更新,端节点A2便可以先将自身的文件目录102更新到节点A1的文件目录102一致。再根据更新的文件目录102从节点A1获取需要同步的文件和/或将自身多余的文件删除,从而使得对端节点A2更新后的文件与节点A1保持一致。例如图5所示,对端节点A2可以将自身的文件2删除,并从节点A1获取文件N。
作为第三种示例性的方式,在执行文件同步操作的过程中,在版本号是非共享的情况下,由于节点A1根据携带至少一个标识,可以直接确定出需要更新节点名单的节点要么是节点A1反之则是对端节点A2,以及可以确定出需要更新文件目录的节点要么是节点A1反之则是对端节点A2。这样,节点A1针对性的发送或获取相应的节点名单101,以及针对性的发送或获取相应的文件目录102便可以完成更新。
可以理解到,具体更新过程和上述大致相同,在此就不再累述。
需要说明的是,若节点A1同时向多个对端节点发该问询信息,那么节点A1则可以获取到多个应答信息,并获取到多个标识。这样,节点A1可以再分别向多个对端节点请求相应的版本号,并以最高的版本号对应的节点的文件作为本次更新目标。
请参考图5,为便于理解,下面以版本号共用为例来进行说明。
若节点A3分别询问了节点A1和节点A2,且节点A3上最新版本文件的版本号为0.98。在节点A2上最新版本文件的版本号为1.01,以及在节点A1上最新版本文件的版本号为1.02的情况下,节点A3询问后便可以通过节点A2返回应答信息确定文件需要更新的节点是自己,以及通过节点A1返回应答信息也确定文件需要更新的节点是自己。在此基础上,节点A3便可以再向节点A1和节点A2分别请求各自版本号,从而以节点A1的自版本为基准进行更新,进而将自身的文件更新到与节点A1一致,实现了避免误更新。
若节点A3也分别询问了节点A1和节点A2,且节点A3上最新版本文件的版本号为1.01。在节点A2上最新版本文件的版本号为0.98,以及在节点A1上最新版本文件的版本号为1.02的情况下,节点A3询问后便可以通过节点A2返回应答信息确定文件需要更新的节点是节点A2,以及通过节点A1返回应答信息确定文件需要更新的节点是自己。在此基础上,节点A3便可以向节点A1和节点A2分别请求各自版本号,从而以节点A1的自版本为基准进行更新。也在此基础上,节点A3可以先将自身的文件更新到与节点A1一致,然后再以自身更新后的文件为基准去指导节点A2更新,并使得节点A2也将自身的文件更新到与节点A1一致,提高了文件同步效率。
请参阅图5和图7,本实施例中若节点A1采用请求的其它节点的通信方式,相应的,步骤S100可以包括:步骤S110和步骤S140。
步骤S110:从所述其它节点中随机的确定出需要问询的对端节点。
步骤S140:生成携带有文件版本获取指示的所述问询信息,并将所述问询信息发送至所述对端节点。
下面将对步骤S110和步骤S140进行详细地说明。
步骤S110:从所述其它节点中随机的确定出需要问询的对端节点。
为便于描述的简洁,步骤S110可以参考前述的描述进行理解,在此就不再累述。
但为便于与前述区分,下面以随机选择出的对端节点为节点A3为例进行说明。
步骤S140:生成携带有文件版本获取指示的所述问询信息,并将所述问询信息发送至所述对端节点。
在请求的方式中,节点A1不用将自己的版本号通过问询信息发送给对端节点A3,节点A1可以生成携带有文件版本获取指示的问询信息。其中,该文件版本获取指示在问询信息中可以是一个表示版本号的字段,但该字段此时可以为空。可选的,基于前述的版本号共用和非共用的两种方式,在版本号共用的情况下,问询信息中表示版本号的字段可以是唯一的一个;但在版本号非共用的情况下,问询信息中表示版本号的字段可以是两个,一个可以是表示节点名单的版本号的字段,另一个则可以是表示文件目录的版本号的字段,
那么,在生成该携带有文件版本获取指示的问询信息后,节点A1便可以将该问询信息发送给对端节点A3。
对端节点A3在获取到该问询信息后,通过对该问询信息的解析,对端节点A3便可以获取到该问询信息中表示版本号的字段。但由于该表示版本号的字段为空使得对端节点A3可以获知需要将自身的版本号填写到该表示版本号的字段中。
相应的,在版本号共用的情况下,对端节点A3便将自身的最新文件版本的版本号填写到该唯一的表示版本号的字段中,从而生成携带有对端节点A3的最新文件版本的版本号的应答信息。而版本号非共用的情况下,对端节点A3便可以将自身最新的节点名单的版本号填写到表示节点名单的版本号的字段中,以及可以将自身最新的文件目录的版本号填写到表示文件目录的版本号的字段中,这样也生成携带有对端节点A3的最新文件版本的版本号的应答信息。
对端节点A3也基于与该节点A1的通信则可以将该应答信息实时返回给节点A1。
步骤S200:接收所述对端节点基于所述问询信息返回的应答信息。
节点A1通过与对端节点A3的通信,相应的,节点A1便可以获取到对端节点A3基于问询信息返回的应答信息。
步骤S300:根据所述应答信息判断自身的文件与所述对端节点的文件是否一致。
在采用请求的方式时,由于对端节点A3反馈的对端节点A3的版本号,节点A1在获取到该问询信息后,节点A1便可以通过对该问询信息的解封装而获取其携带的对端节点A3的最新文件版本的版本号。
本实施例中,由于节点A1本身就存储了自身最新文件版本的版本号。那么,节点A1可以通过判断自身的最新文件版本的版本号是否对端节点A3的最新文件版本的版本号相同,其中,在节点A1自身的最新文件版本的版本号与对端节点A3的最新文件版本的版本号不同时则表征节点A1自身的文件与对端节点A3的文件不一致。且节点A1还可以通过该节点A1的最新文件版本的版本号与对端节点A3的最新文件版本的版本号的不同而确定出需要更新文件的节点。
作为一种方式,在版本号共用的情况下,节点A1可以直接将节点A1的最新文件版本的版本号与对端节点A3的最新文件版本的版本号比对。若版本号相同,则节点A1可以确定本次同步没有需要更新文件的节点。若版本号不相同,则节点A1可以确定相对较小的版本号对应的节点为需要更新文件的节点。例如,节点A1的最新文件版本的版本号为1.03,而对端节点A3的最新文件版本的版本号为0.98,则节点A1确定自身为需要更新文件的节点。又例如,节点A1的最新文件版本的版本号为1.03,而对端节点A3的最新文件版本的版本号为1.04,则节点A1确定节点A1为需要更新文件的节点。
作为另一种方式,在版本号不共用的情况下,节点A1可以将节点A1的最新节点名单101的版本号与对端节点A3的最新节点名单101的版本号比对,并且可以将节点A1的最新文件目录102的版本号与对端节点A3的最新文件目录102的版本号比对。通过对比,在两个版本号中有至少一个不同时,节点A1也可以确定出需要更新文件的节点,即确定出需要更新文件目录的节点和/或需要更新节点名单的节点。
进一步的,节点A1在确定为没有需要更新文件的节点时,节点A1确定本次无需进行文件同步,从而节点A1可以结束本次文件同步的流程。
进一步的,节点A1在确定为有需要更新文件的节点时,可以继续执行步骤S400。
步骤S400:若不一致,执行文件同步操作,以使自身的文件与所述对端节点的文件一致。
在节点A1基于节点A1自身的最新文件版本的版本号与对端节点A3的最新文件版本的版本号的不同而确定出有节点的文件需要更新时,那么节点A1便可以进行文件同步操作。
作为第一种示例性的方式,在执行文件同步操作的过程中,在版本号是共享的情况下,若节点A1确定自身的最新文件版本的版本号小于对端节点A3的最新文件版本的版本号时,节点A1则确定自己的文件需要更新。
在此基础上,节点A1就可以获取对端节点A3的节点名单101,并将自身的节点名单101更新到与对端节点A3的节点名单101一致。或者,获取对端节点A3的文件目录102,并根据对端节点A3的文件目录102从对端节点A3获取需要同步的文件和/或将自身多余的文件删除。其中,文件同步的具体过程可以参考前述进行理解,在此就不再累述。
作为第二种示例性的方式,在执行文件同步操作的过程中,在版本号是共享的情况下,若节点A1确定自身的最新文件版本的版本号大于对端节点A3的最新文件版本的版本号时,节点A1则确定对端节点A3的文件需要更新。
在此基础上,节点A1将自身的节点名单101发送给对端节点A3;或者,节点A1将自身的文件目录102发送给对端节点A3。其中,文件同步的具体过程也可以参考前述进行理解,在此就不再累述。
作为第三种示例性的方式,在执行文件同步操作的过程中,在版本号是非共享的情况下,由于节点A1根据版本号可以直接确定出需要更新节点名单的节点要么是节点A1反之则是对端节点A3,以及可以确定出需要更新文件目录的节点要么是节点A1反之则是对端节点A3。这样,节点A1针对性的发送或获取相应的节点名单101,以及针对性的发送或获取相应的文件目录102便可以完成更新。
可以理解到,具体更新过程和上述大致相同,在此就不再累述。
可以理解到的是,实际中无论是采用询问还是请求的方式,都可以加快网络的收敛速度,使得最新的文件更快在网络中得到同步。但是若实际中既采用询问又配合采用请求的方式,可以使得网络的收敛速度更佳,最新的文件在网络中得到同步的用时最短。
请参阅图8,节点A1对文件同步方法的执行还可以包括:步骤S500、步骤S600和步骤S700。
步骤S500:获取所述其它节点发送的问询信息,其中,所述其它节点发送的问询信息中携带有所述其它节点的最新文件版本的版本号。
步骤S600:根据所述其它节点的最新文件版本的版本号与自身的最新文件版本的版本号确定出需要更新文件的节点。
步骤S700:生成携带有所述需要更新文件的节点的标识的应答信息并发送至所述其它节点,使得所述其它节点基于所述标识而执行与自身配合文件同步操作,并使得同步后自身的文件与所述对端节点的文件一致。
上述流程可以参照本实施例对节点A2的描述进行理解,在此就不再累述。
请参阅图9,节点A1对文件同步方法的执行还可以包括:步骤S800和步骤S900。
步骤S800:获取到所述其它节点发送的问询信息,其中,所述其它节点发送的问询信息中携带有文件版本获取指示。
步骤S900:根据所述文件版本获取指示,生成携带有自身的最新文件版本的版本号的应答信息并发送至所述其它节点,使得所述其它节点基于所述版本号执行而与自身配合的文件同步操作,并使得同步后自身的文件与所述对端节点的文件一致。
上述流程可以参照本实施例对节点A3的描述进行理解,在此就不再累述。
请参阅图10,本申请实施例提供了一种文件同步装置200,文件同步装置200可以应用于文件共享网络的多个节点中的任一个节点,文件同步装置200包括:
信息收发模块210,用于从其它节点中确定出需要问询的对端节点,生成并向所述对端节点发送问询信息。
所述信息收发模块210,还用于接收所述对端节点基于所述问询信息返回的应答信息。
处理模块220,用于根据所述应答信息判断自身的文件与所述对端节点的文件是否一致。
文件同步模块230,用于若不一致,执行文件同步操作,以使自身的文件与所述对端节点的文件一致。
可选的,所述信息收发模块210,还用于获取自身最新版本文件的版本号;生成携带有所述版本号的所述问询信息,并将所述问询信息发送至所述对端节点,以使所述对端节点在根据所述版本号与所述对端节点的最新文件版本的版本号不同确定出需要更新文件的节点时,将所述需要更新文件的节点的标识携带在所述应答信息中。
对应的,所述处理模块220,还用于判断所述应答信息中是否携带有所述标识,其中,在所述应答信息中携带有所述标识时,表征自身的文件与所述对端节点的文件不一致。
可选的,所述文件为所有节点的节点名单,所述文件同步模块230,还用于在所述标识为自身的标识时,获取所述对端节点的节点名单,并将自身的节点名单更新到与所述对端节点的节点名单一致;或在所述标识是所述对端节点的标识时,将所述自身的节点名单发送给所述对端节点;
可选的,所述文件同步模块230,还用于在所述需要更新文件的节点为自身时,获取所述对端节点的文件目录,并根据所述文件目录从所述对端节点获取需要同步的文件和/或根据所述文件目录将自身多余的文件删除;或在所述标识是所述对端节点的标识时,将自身的文件目录发送给所述对端节点。
可选的,所述信息收发模块210,还用于生成携带有文件版本获取指示的所述问询信息,并将所述问询信息发送至所述对端节点,以使所述对端节点根据所述文件版本获取指示而生成携带有所述对端节点的最新文件版本的版本号的所述应答信息;
对应的,所述处理模块220,还用于判断自身的最新文件版本的版本号是否所述对端节点的最新文件版本的版本号相同,其中,在所述自身的最新文件版本的版本号与所述对端节点的最新文件版本的版本号不同时,表征自身的文件与所述对端节点的文件不一致。
可选的,所述文件为所有节点的节点名单,所述文件同步模块230,还用于根据所述自身的最新文件版本的版本号与所述对端节点的最新文件版本的版本号确定出需要更新节点名单的节点;在所述需要更新节点名单的节点为自身时,获取所述对端节点的节点名单,并将自身的节点名单更新到与所述对端节点的节点名单一致;或者,在所述需要更新节点名单的节点为所述对端节点时,将自身的节点名单发送给所述对端节点;
可选的,所述文件同步模块230,还用于根据所述自身的最新文件版本的版本号与所述对端节点的最新文件版本的版本号确定出需要更新文件的节点;在所述需要更新文件的节点为自身时,获取所述对端节点的文件目录,并根据所述文件目录从对端节点获取需要同步的文件和/或根据所述文件目录将自身多余的文件删除;或者,在所述需要更新文件的节点为所述对端节点时,将自身的文件目录发送给所述对端节点。
可选的,所述信息收发模块210,还用于从所述其它节点中随机的确定出需要问询的对端节点。
可选的,所述信息收发模块210,还用于根据所述文件共享网络的当前状态确定出需要问询的节点的数量;从所述其它节点中随机的确定出满足所述数量的对端节点。
可选的,所述信息收发模块210,还用于获取待加入网络的节点发送的加入请求。
可选的,所述处理模块220,还用于在确定自身有处理所述加入请求的权限时,判断所述加入请求携带的所述待加入网络的节点的证书与所述数字证书颁发机构为所述待加入网络的节点颁发的证书是否匹配;若是,将所述待加入网络的节点加入到所述节点名单。
可选的,所述信息收发模块210,还用于获取所述其它节点发送的问询信息,其中,所述其它节点发送的问询信息中携带有所述其它节点的最新文件版本的版本号。
可选的,所述处理模块220,还用于根据所述其它节点的最新文件版本的版本号与自身的最新文件版本的版本号确定出需要更新文件的节点;
可选的,所述信息收发模块210,还用于生成携带有所述需要更新文件的节点的标识的应答信息并发送至所述其它节点,使得所述其它节点基于所述标识而执行与自身配合文件同步操作,并使得同步后自身的文件与所述对端节点的文件一致。
可选的,所述信息收发模块210,还用于获取到所述其它节点发送的问询信息,其中,所述其它节点发送的问询信息中携带有文件版本获取指示;
可选的,所述处理模块220,还用于根据所述文件版本获取指示,生成携带有自身的最新文件版本的版本号的应答信息并发送至所述其它节点,使得所述其它节点基于所述版本号执行而与自身配合的文件同步操作,并使得同步后自身的文件与所述对端节点的文件一致。
需要说明的是,由于所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请一些实施例还提供了一种计算机可执行的非易失的程序代码的计算机可读储存介质,该计算机可读存储介质上存储有程序代码,该程序代码被计算机运行时执行上述任一实施方式的文件同步方法的步骤。
详细地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的程序代码被运行时,能够执行上述施例的文件同步方法的步骤。
本申请实施例所提供的文件同步方法的程序代码产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
综上所述,本申请实施例提供了一种文件同步方法、装置、文件共享网络、文件共***及存储介质。由于文件共享网络中的任一个节点都可以主动的询问其它节点,以通过其它节点的应答来判断是否有最新的文件需要同步。并在确定需要同步时,就执行同步操作。这样文件同步的压力就被文件共享网络中的各节点分担,避免主节点的负荷过大。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (14)
1.一种文件同步方法,其特征在于,应用于文件共享网络的多个节点中的任一个节点,且每个节点均维护一份包含该文件共享网络中所有节点的节点名单,以及预设有每个负荷区间对应的需要问询的节点的数量,所述每个节点基于该节点名单与该文件共享网络中的其它节点通信,所述方法包括:
基于自身维护的节点名单从其它节点中确定出需要问询的对端节点,生成并向所述对端节点发送问询信息;
接收所述对端节点基于所述问询信息返回的应答信息;
根据所述应答信息判断自身的文件与所述对端节点的文件是否一致;
若不一致,执行文件同步操作,以使自身的文件与所述对端节点的文件一致,
其中,从其它节点中确定出需要问询的对端节点,包括:
根据所述文件共享网络的当前状态所在的负荷区间,确定出需要问询的节点的数量,其中,所述当前状态为文件共享网络中每个节点的负荷状态的负荷平均值;
从所述其它节点中随机的确定出满足所述数量的对端节点。
2.根据权利要求1所述的文件同步方法,其特征在于,生成并向所述对端节点发送问询信息,包括:
获取自身最新版本文件的版本号;
生成携带有所述版本号的所述问询信息,并将所述问询信息发送至所述对端节点,以使所述对端节点在根据所述版本号与所述对端节点的最新文件版本的版本号不同确定出需要更新文件的节点时,将所述需要更新文件的节点的标识携带在所述应答信息中;
对应的,根据所述应答信息判断自身的文件与所述对端节点的文件是否一致,包括:
判断所述应答信息中是否携带有所述标识,其中,在所述应答信息中携带有所述标识时,表征自身的文件与所述对端节点的文件不一致。
3.根据权利要求2所述的文件同步方法,其特征在于,所述文件为所有节点的节点名单,执行文件同步操作,包括:
在所述标识为自身的标识时,获取所述对端节点的节点名单,并将自身的节点名单更新到与所述对端节点的节点名单一致;或
在所述标识是所述对端节点的标识时,将所述自身的节点名单发送给所述对端节点。
4.根据权利要求2所述的文件同步方法,其特征在于,执行文件同步操作,以使所述自身的文件与所述对端节点的文件同步到一致,包括:
在所述需要更新文件的节点为自身时,获取所述对端节点的文件目录,并根据所述文件目录从所述对端节点获取需要同步的文件和/或根据所述文件目录将自身多余的文件删除;或
在所述标识是所述对端节点的标识时,将自身的文件目录发送给所述对端节点。
5.根据权利要求1所述的文件同步方法,其特征在于,生成并向所述对端节点发送问询信息,包括:
生成携带有文件版本获取指示的所述问询信息,并将所述问询信息发送至所述对端节点,以使所述对端节点根据所述文件版本获取指示而生成携带有所述对端节点的最新文件版本的版本号的所述应答信息;
对应的,根据所述应答信息判断自身的文件与所述对端节点的文件是否一致,包括:
判断自身的最新文件版本的版本号是否所述对端节点的最新文件版本的版本号相同,其中,在所述自身的最新文件版本的版本号与所述对端节点的最新文件版本的版本号不同时,表征自身的文件与所述对端节点的文件不一致。
6.根据权利要求5所述的文件同步方法,其特征在于,所述文件为所有节点的节点名单,执行文件同步操作,包括:
根据所述自身的最新文件版本的版本号与所述对端节点的最新文件版本的版本号确定出需要更新节点名单的节点;
在所述需要更新节点名单的节点为自身时,获取所述对端节点的节点名单,并将自身的节点名单更新到与所述对端节点的节点名单一致;或者,在所述需要更新节点名单的节点为所述对端节点时,将自身的节点名单发送给所述对端节点。
7.根据权利要求5所述的文件同步方法,其特征在于,执行文件同步操作,以使所述自身的文件与所述对端节点的文件同步到一致,包括:
根据所述自身的最新文件版本的版本号与所述对端节点的最新文件版本的版本号确定出需要更新文件的节点;
在所述需要更新文件的节点为自身时,获取所述对端节点的文件目录,并根据所述文件目录从对端节点获取需要同步的文件和/或根据所述文件目录将自身多余的文件删除;或者,在所述需要更新文件的节点为所述对端节点时,将自身的文件目录发送给所述对端节点。
8.根据权利要求3或6所述的文件同步方法,其特征在于,所述方法还包括:
获取待加入网络的节点发送的加入请求;
在确定自身有处理所述加入请求的权限时,判断所述加入请求携带的所述待加入网络的节点的证书与数字证书颁发机构为所述待加入网络的节点颁发的证书是否匹配;
若是,将所述待加入网络的节点加入到所述节点名单。
9.根据权利要求1所述的文件同步方法,其特征在于,所述方法还包括:
获取所述其它节点发送的问询信息,其中,所述其它节点发送的问询信息中携带有所述其它节点的最新文件版本的版本号;
根据所述其它节点的最新文件版本的版本号与自身的最新文件版本的版本号确定出需要更新文件的节点;
生成携带有所述需要更新文件的节点的标识的应答信息并发送至所述其它节点,使得所述其它节点基于所述标识而执行与自身配合文件同步操作,并使得同步后自身的文件与所述对端节点的文件一致。
10.根据权利要求1所述的文件同步方法,其特征在于,所述方法还包括:
获取到所述其它节点发送的问询信息,其中,所述其它节点发送的问询信息中携带有文件版本获取指示;
根据所述文件版本获取指示,生成携带有自身的最新文件版本的版本号的应答信息并发送至所述其它节点,使得所述其它节点基于所述版本号执行而与自身配合的文件同步操作,并使得同步后自身的文件与所述对端节点的文件一致。
11.一种文件同步装置,其特征在于,应用于文件共享网络的多个节点中的任一个节点,且每个节点均携带有维护一份包含该文件共享网络中所有节点的节点名单,以及预设有每个负荷区间对应的需要问询的节点的数量,每个节点基于该节点名单就可以与该文件共享网络中的其它节点通信,所述装置包括:
信息收发模块,基于自身维护的节点名单用于从其它节点中确定出需要问询的对端节点,生成并向所述对端节点发送问询信息;
所述信息收发模块,还用于接收所述对端节点基于所述问询信息返回的应答信息;
处理模块,用于根据所述应答信息判断自身的文件与所述对端节点的文件是否一致;
文件同步模块,用于若不一致,执行文件同步操作,以使自身的文件与所述对端节点的文件一致;
所述信息收发模块,具体用于根据所述文件共享网络的当前状态所在的负荷区间,确定出需要问询的节点的数量,其中,所述当前状态为文件共享网络中每个节点的负荷状态的负荷平均值;从所述其它节点中随机的确定出满足所述数量的对端节点。
12.一种文件共享网络,其特征在于,包括:
多个节点,每个所述节点与至少一个其它节点通信连接,每个所述节点用于执行如权利要求1-10任一权项所述的文件同步方法。
13.一种文件共享***,其特征在于,包括:
多个文件共享网络,每个所述文件共享网络包括多个节点,每个所述节点可以位于不同的至少两个所述文件共享网络,每个所述节点用于执行如权利要求1-10任一权项所述的文件同步方法。
14.一种具有计算机可执行的非易失程序代码的计算机可读储存介质,其特征在于,所述程序代码使所述计算机执行如权利要求1-10任一权项所述的文件同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910236502.7A CN110071964B (zh) | 2019-03-26 | 2019-03-26 | 文件同步方法、装置、文件共享网络、文件共***及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910236502.7A CN110071964B (zh) | 2019-03-26 | 2019-03-26 | 文件同步方法、装置、文件共享网络、文件共***及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110071964A CN110071964A (zh) | 2019-07-30 |
CN110071964B true CN110071964B (zh) | 2022-03-15 |
Family
ID=67366596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910236502.7A Active CN110071964B (zh) | 2019-03-26 | 2019-03-26 | 文件同步方法、装置、文件共享网络、文件共***及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110071964B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110933137B (zh) * | 2019-10-31 | 2022-08-02 | 北京浪潮数据技术有限公司 | 一种数据同步方法、***、设备及可读存储介质 |
CN110865987A (zh) * | 2019-11-18 | 2020-03-06 | 杭州安恒信息技术股份有限公司 | 一种文件同步方法、装置、设备及介质 |
CN112714149A (zh) * | 2020-11-27 | 2021-04-27 | 北京飞讯数码科技有限公司 | 数据同步方法、装置、计算机设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101661408A (zh) * | 2009-09-14 | 2010-03-03 | 四川川大智胜软件股份有限公司 | 一种分布式实时数据复制同步方法 |
CN101771723A (zh) * | 2010-01-05 | 2010-07-07 | 深圳中兴网信科技有限公司 | 数据同步方法 |
CN102902746A (zh) * | 2012-09-18 | 2013-01-30 | 杭州勒卡斯广告策划有限公司 | 一种海量数据处理方法、装置及*** |
WO2016080126A1 (ja) * | 2014-11-19 | 2016-05-26 | 株式会社日立製作所 | 周期型データ共有システム及び方法 |
CN106201771A (zh) * | 2015-05-06 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 数据存储***和数据读写方法 |
CN108037897A (zh) * | 2017-12-14 | 2018-05-15 | 郑州云海信息技术有限公司 | 一种元数据扩散的方法、计算机装置及可读存储介质 |
CN108183960A (zh) * | 2017-12-29 | 2018-06-19 | 中国平安人寿保险股份有限公司 | 基于cdn的文件更新方法、服务器、存储介质及装置 |
CN108494828A (zh) * | 2018-02-26 | 2018-09-04 | 网易(杭州)网络有限公司 | 一种节点数据的更新方法、介质、装置和计算设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5124494B2 (ja) * | 2009-01-20 | 2013-01-23 | 株式会社日立製作所 | 輻輳制御装置 |
CN106657170B (zh) * | 2015-10-28 | 2021-03-30 | 斑马智行网络(香港)有限公司 | 一种数据同步方法及装置 |
CN108804336A (zh) * | 2018-06-15 | 2018-11-13 | 深圳壹账通智能科技有限公司 | 交互***测试方法、装置、计算机设备和存储介质 |
CN108900626B (zh) * | 2018-07-18 | 2021-11-19 | 中国联合网络通信集团有限公司 | 一种云环境下数据存储方法、装置及*** |
-
2019
- 2019-03-26 CN CN201910236502.7A patent/CN110071964B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101661408A (zh) * | 2009-09-14 | 2010-03-03 | 四川川大智胜软件股份有限公司 | 一种分布式实时数据复制同步方法 |
CN101771723A (zh) * | 2010-01-05 | 2010-07-07 | 深圳中兴网信科技有限公司 | 数据同步方法 |
CN102902746A (zh) * | 2012-09-18 | 2013-01-30 | 杭州勒卡斯广告策划有限公司 | 一种海量数据处理方法、装置及*** |
WO2016080126A1 (ja) * | 2014-11-19 | 2016-05-26 | 株式会社日立製作所 | 周期型データ共有システム及び方法 |
CN106201771A (zh) * | 2015-05-06 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 数据存储***和数据读写方法 |
CN108037897A (zh) * | 2017-12-14 | 2018-05-15 | 郑州云海信息技术有限公司 | 一种元数据扩散的方法、计算机装置及可读存储介质 |
CN108183960A (zh) * | 2017-12-29 | 2018-06-19 | 中国平安人寿保险股份有限公司 | 基于cdn的文件更新方法、服务器、存储介质及装置 |
CN108494828A (zh) * | 2018-02-26 | 2018-09-04 | 网易(杭州)网络有限公司 | 一种节点数据的更新方法、介质、装置和计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110071964A (zh) | 2019-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110071964B (zh) | 文件同步方法、装置、文件共享网络、文件共***及存储介质 | |
CN108140031B (zh) | 对等可同步存储*** | |
CN107332876B (zh) | 区块链状态的同步方法及装置 | |
CN109492380B (zh) | 一种设备认证方法、装置及区块链节点 | |
US8862665B2 (en) | Automated file distribution | |
CN111381962B (zh) | 一种边缘服务迁移方法及装置 | |
CN112200681B (zh) | 区块链网络的业务处理方法、信息处理方法及节点设备 | |
CN111245910B (zh) | 一种区块链轻节点多副本的部署方法 | |
JP2019519975A (ja) | リソースサブスクリプション方法、リソースサブスクリプション装置、及びリソースサブスクリプションシステム | |
CN113824563A (zh) | 一种基于区块链证书的跨域身份认证方法 | |
CN104662839A (zh) | 多个域的链接标识 | |
CN110971506B (zh) | 一种去中心化实时集群通讯方法、装置、设备及*** | |
CN113691635A (zh) | 调用微服务的方法、装置、电子设备和可读存储介质 | |
JP6580212B1 (ja) | 通信装置、通信方法、および、通信プログラム | |
CN114238262A (zh) | 镜像分发方法、镜像分发装置、电子设备以及存储介质 | |
CN112073401B (zh) | 一种基于HTTPS协议web应用自动更新证书的方法、程序及介质 | |
WO2015096906A1 (en) | Method and system for assessing a message in a decentralized communication network | |
CN114125827B (zh) | 一种终端管理方法、装置及集中化管理*** | |
WO2020248657A1 (zh) | 一种在区块链中锁定账户的方法和装置 | |
CN116095081A (zh) | 基于区块链***的事件处理方法及装置、设备、介质 | |
CN104902474A (zh) | 无用户界面设备与移动终端建立关联关系的方法及装置 | |
CN102082811B (zh) | 分域网络建立方法、分域网络、节点通信方法及网络节点 | |
US11481359B2 (en) | Parallel distributed ledger construction | |
CN114844961B (zh) | 一种分布式***协议互通方法、装置、设备及存储介质 | |
CN116684430B (zh) | 一种分布式双向预言机和区块链*** |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |