CN110071964B - File synchronization method, device, file sharing network, file sharing system and storage medium - Google Patents

File synchronization method, device, file sharing network, file sharing system and storage medium Download PDF

Info

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
Application number
CN201910236502.7A
Other languages
Chinese (zh)
Other versions
CN110071964A (en
Inventor
李玮
廖强
李南平
徐乔伦
唐天溥
朱琳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Jiahua Chain Cloud Technology Co ltd
Rockontrol Technology Group Co ltd
Original Assignee
Chengdu Jiahua Chain Cloud Technology Co ltd
Rockontrol Technology Group Co ltd
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 Chengdu Jiahua Chain Cloud Technology Co ltd, Rockontrol Technology Group Co ltd filed Critical Chengdu Jiahua Chain Cloud Technology Co ltd
Priority to CN201910236502.7A priority Critical patent/CN110071964B/en
Publication of CN110071964A publication Critical patent/CN110071964A/en
Application granted granted Critical
Publication of CN110071964B publication Critical patent/CN110071964B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • 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
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/1097Protocols 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

The embodiment of the application provides a file synchronization method, a file synchronization device, a file sharing network, a file sharing system and a storage medium. The method comprises the following steps: determining an opposite end node needing to be queried from other nodes, generating and sending query information to the opposite end node; receiving response information returned by the opposite end node based on the inquiry information; judging whether the files of the self are consistent with the files of the opposite end nodes or not according to the response information; and if the files are inconsistent, executing file synchronization operation to enable the files of the files to be consistent with the files of the opposite end node. Any node in the file sharing network can actively inquire other nodes to judge whether the latest file needs to be synchronized or not through the response of other nodes. And when it is determined that synchronization is required, a synchronization operation is performed. Therefore, the pressure of file synchronization is shared by each node in the file sharing network, and the overload of the main node is avoided.

Description

File synchronization method, device, file sharing network, file sharing system and storage medium
Technical Field
The present application relates to the field of file sharing technologies, and in particular, to a file synchronization method, a file synchronization apparatus, a file sharing network, a file sharing system, and a storage medium.
Background
A file sharing network typically includes a number of primary nodes and several secondary nodes. When the file synchronization is implemented, the latest file is owned by the master node, and then the master node synchronizes to the remaining child nodes, for example, if the master node a communicates with 10 child nodes B, the master node a needs to transmit the latest file to the 10 child nodes B, respectively. In this case, the master nodes are all synchronized, which results in a large data transmission amount of the master nodes, and thus a large load on the master nodes.
Disclosure of Invention
The application aims to provide a file synchronization method, a file synchronization device, a file sharing network, a file sharing system and a storage medium, so that loads of all nodes are uniform in the file synchronization process.
In a first aspect, an embodiment of the present application provides a file synchronization method, which is applied to any one of a plurality of nodes of a file sharing network, and the method includes:
determining an opposite end node needing to be queried from other nodes, generating and sending query information to the opposite end node;
receiving response information returned by the opposite end node based on the inquiry information;
judging whether the files of the self are consistent with the files of the opposite end node or not according to the response information;
and if not, executing file synchronization operation to ensure that the file of the file is consistent with the file of the opposite end node.
In the implementation manner of the present application, any node in the file sharing network may actively query other nodes to determine whether the latest file needs to be synchronized according to the responses of other nodes. And when it is determined that synchronization is required, a synchronization operation is performed. Therefore, the pressure of file synchronization is shared by each node in the file sharing network, and the overload of the main node is avoided.
With reference to the first aspect, in a first possible implementation manner, generating and sending query information to the peer node includes:
acquiring the version number of the file with the latest version;
generating the query information carrying the version number, and sending the query information to the opposite node, so that when the opposite node determines a node needing to update a file according to the version number different from the version number of the latest file version of the opposite node, the opposite node carries an identifier of the node needing to update the file in the response information;
correspondingly, judging whether the file of the self is consistent with the file of the opposite end node according to the response information, and the judging comprises the following steps:
and judging whether the response information carries the identification, wherein when the response information carries the identification, the file representing the self is inconsistent with the file of the opposite end node.
In the implementation mode of the application, whether the file synchronization needs to be carried out or not can be judged based on whether the file version information is the same or not, compared with a mode of judging whether the file synchronization needs to be carried out or not by judging whether different files are traversed or not, the method simplifies the judgment logic, is convenient to implement, and reduces the operation amount in the judgment process, thereby reducing the operation load of the node.
With reference to the first possible implementation manner of the first aspect, in a second possible implementation manner, the file is a node list of all nodes, and the executing a file synchronization operation includes:
when the identifier is the identifier of the self, acquiring a node list of the opposite node, and updating the node list of the self to be consistent with the node list of the opposite node; or
And when the identifier is the identifier of the opposite end node, sending the node name list of the node to the opposite end node.
In the implementation manner of the application, when a member in the file sharing network is updated, the opposite node can judge which node's node list needs to be updated and inform the corresponding node, so that the corresponding node can know which latest member is in the file sharing network through synchronization of the node list, and further, all nodes in the whole network can know which latest member is in the file sharing network through synchronization.
With reference to the first possible implementation manner of the first aspect, in a third possible implementation manner, the executing a file synchronization operation to synchronize the file of the peer node and the file of the self file to be consistent includes:
when the node needing to update the file is the node per se, acquiring a file directory of the opposite end node, and acquiring the file needing to be synchronized from the opposite end node according to the file directory and/or deleting redundant files per se according to the file directory; or
And when the identifier is the identifier of the opposite end node, sending the file directory of the opposite end node to the opposite end node.
In the implementation manner of the application, when a file is updated in the file sharing network, since the opposite node can determine which node's file needs to be updated and inform the corresponding node, the corresponding node can obtain the latest file by synchronizing the file, and thus all nodes in the whole network can obtain the latest file in the file sharing network by synchronizing.
With reference to the first aspect, in a fourth possible implementation manner, the generating and sending query information to the peer node includes:
generating the query information carrying a file version acquisition indication, and sending the query information to the opposite node, so that the opposite node generates the response information carrying a version number of a latest file version of the opposite node according to the file version acquisition indication;
correspondingly, judging whether the file of the self is consistent with the file of the opposite end node according to the response information, and the judging comprises the following steps:
and judging whether the version number of the self latest file version is the same as that of the latest file version of the opposite end node or not, wherein when the version number of the self latest file version is different from that of the latest file version of the opposite end node, the file representing the self is inconsistent with the file of the opposite end node.
In the implementation manner of the application, each node can actively send the file version in a Pull manner to inquire whether other nodes need to perform file synchronization or not, and each node can also actively request other nodes to perform file synchronization in a Push manner, so that the synchronization speed of each node can be increased, and the latest file can be quickly synchronized to each node in the network.
With reference to the fourth possible implementation manner of the first aspect, in a fifth possible implementation manner, the file is a node list of all nodes, and the executing a file synchronization operation includes:
determining a node needing to update a node list according to the version number of the latest file version of the node and the version number of the latest file version of the opposite node;
when the node needing to update the node list is self, acquiring the node list of the opposite node, and updating the self node list to be consistent with the node list of the opposite node; or when the node needing to update the node list is the opposite end node, sending the node name list of the node to the opposite end node.
In the implementation manner of the application, when a member in the file sharing network is updated, the node itself can also determine which node's node list needs to be updated and inform the corresponding node, so that the corresponding node can know which latest member is in the file sharing network through synchronization of the node list, and further, all nodes in the whole network can know which latest member is in the file sharing network through synchronization.
With reference to the fourth possible implementation manner of the first aspect, in a sixth possible implementation manner, the executing a file synchronization operation to synchronize the file of the peer node and the file of the peer node to be consistent includes:
determining a node needing to update the file according to the version number of the latest file version of the node and the version number of the latest file version of the opposite node;
when the node needing to update the file is the node per se, acquiring a file directory of the opposite end node, and acquiring the file needing to be synchronized from the opposite end node according to the file directory and/or deleting redundant files per se according to the file directory; or when the node needing to update the file is the opposite end node, sending the file directory of the node to the opposite end node.
In the implementation manner of the present application, when a file is updated in the file sharing network, since the node itself can also determine which node's file needs to be updated and notify the corresponding node, the corresponding node can obtain the latest file by synchronizing the files, and thus all nodes in the whole network can obtain the latest file in the file sharing network by synchronizing.
With reference to the first aspect or any one of the first to sixth possible implementation manners, in a seventh possible implementation manner, determining a peer node to be queried from other nodes includes:
and randomly determining the opposite node needing to be inquired from the other nodes.
In the implementation mode of the application, because the opposite end node to be queried is randomly determined, compared with a mode of determining which nodes are queried first and then queried in advance, the implementation logic is simpler and more convenient to implement.
With reference to the seventh possible implementation manner of the first aspect, in an eighth possible implementation manner, the randomly determining a peer node to be queried from the other nodes includes:
determining the number of nodes to be inquired according to the current state of the file sharing network;
randomly determining the correspondent nodes satisfying the number from the other nodes.
In the implementation mode of the application, the number of the nodes needing to be inquired can be determined according to the current state of the file sharing network, so that the number of the nodes for carrying out file synchronization can be prevented from exceeding the load of the network, and further the overload of the nodes in the file synchronization process is avoided.
With reference to the second or fifth possible implementation manner of the first aspect, in a ninth possible implementation manner, the method further includes:
acquiring a joining request sent by a node to be joined in a network;
when determining that the node has the authority of processing the joining request, judging whether a certificate of the node to be joined in the network carried by the joining request is matched with a certificate issued by the digital certificate issuing authority for the node to be joined in the network;
and if so, adding the node to be added into the network into the node list.
In the implementation manner of the application, only the authorized nodes allow the new nodes to be added into the file sharing network through verification, so that on one hand, the situation that all nodes can add the new nodes into the file sharing network to cause disorder of members in the network is avoided, on the other hand, the safety of the added nodes is ensured, and the stability of the network is improved.
With reference to the first aspect, in a tenth possible implementation manner, the method further includes:
acquiring inquiry information sent by other nodes, wherein the inquiry information sent by other nodes carries the version number of the latest file version of other nodes;
determining a node needing to update the file according to the version number of the latest file version of the other node and the version number of the latest file version of the node;
and generating response information carrying the identifier of the node needing to update the file and sending the response information to the other nodes, so that the other nodes execute the file synchronization operation matched with the other nodes based on the identifier, and the file of the other nodes after synchronization is consistent with the file of the opposite node.
In the implementation mode of the application, the node can actively inquire other nodes to synchronize files, and the node can cooperate with the inquiry of other nodes to synchronize files, so that the synchronization speed of the files in the network can be accelerated.
With reference to the first aspect, in an eleventh possible implementation manner, the method further includes:
acquiring query information sent by other nodes, wherein the query information sent by other nodes carries a file version acquisition indication;
and generating response information carrying the version number of the latest file version of the node according to the file version acquisition instruction, and sending the response information to the other nodes, so that the other nodes execute file synchronization operation matched with the node based on the version number, and the synchronized file is consistent with the file of the opposite node.
In the implementation manner of the application, the node can actively request other nodes to perform file synchronization, and the node can cooperate with the requests of other nodes to perform file synchronization, so that the synchronization speed of files in a network can be accelerated.
In a second aspect, an embodiment of the present application provides a file synchronization apparatus, which is applied to any one of a plurality of nodes of a file sharing network, and the apparatus includes:
the information receiving and sending module is used for determining an opposite end node needing to be inquired from other nodes, generating and sending inquiry information to the opposite end node;
the information receiving and sending module is further configured to receive response information returned by the opposite-end node based on the query information;
the processing module is used for judging whether the files of the processing module are consistent with the files of the opposite end node or not according to the response information;
and the file synchronization module is used for executing file synchronization operation if the files are inconsistent so as to enable the files of the file synchronization module to be consistent with the files of the opposite end node.
With reference to the second aspect, in a first possible implementation manner,
the information transceiver module is also used for acquiring the version number of the latest version file of the information transceiver module; generating the query information carrying the version number, and sending the query information to the opposite node, so that when the opposite node determines a node needing to update a file according to the version number different from the version number of the latest file version of the opposite node, the opposite node carries an identifier of the node needing to update the file in the response information;
correspondingly, the processing module is further configured to determine whether the response information carries the identifier, where a file representing the response information is inconsistent with a file of the opposite node when the response information carries the identifier.
With reference to the second aspect, in a second possible implementation manner, the file is a node list of all nodes,
the file synchronization module is further configured to, when the identifier is the identifier of the file synchronization module, acquire a node list of the peer node, and update the node list of the file synchronization module to be consistent with the node list of the peer node; or when the identifier is the identifier of the opposite end node, sending the node name list of the node to the opposite end node;
with reference to the first possible implementation manner of the second aspect, in a third possible implementation manner,
the file synchronization module is further configured to, when the node that needs to update a file is a self-node, acquire a file directory of the opposite-end node, and acquire the file that needs to be synchronized from the opposite-end node according to the file directory and/or delete redundant files of the self-node according to the file directory; or when the identifier is the identifier of the opposite end node, sending the file directory of the opposite end node to the opposite end node.
In combination with the second aspect, in a fourth possible implementation manner,
the information transceiver module is further configured to generate the query information carrying a file version acquisition indication, and send the query information to the opposite node, so that the opposite node generates the response information carrying a version number of a latest file version of the opposite node according to the file version acquisition indication;
correspondingly, the processing module is further configured to determine whether the version number of the latest file version of the processing module is the same as that of the latest file version of the opposite node, where when the version number of the latest file version of the processing module is different from that of the latest file version of the opposite node, the file representing the processing module is inconsistent with the file of the opposite node.
With reference to the fourth possible implementation manner of the second aspect, in a fifth possible implementation manner, the file is a node list of all nodes,
the file synchronization module is further configured to determine a node requiring a node list updating according to the version number of the latest file version of the node and the version number of the latest file version of the opposite node; when the node needing to update the node list is self, acquiring the node list of the opposite node, and updating the self node list to be consistent with the node list of the opposite node; or when the node needing to update the node list is the opposite node, sending the node name list of the node to the opposite node;
with reference to the fourth possible implementation manner of the second aspect, in a sixth possible implementation manner,
the file synchronization module is also used for determining a node needing to update the file according to the version number of the latest file version of the file synchronization module and the version number of the latest file version of the opposite node; when the node needing to update the file is the node per se, acquiring a file directory of the opposite end node, and acquiring the file needing to be synchronized from the opposite end node according to the file directory and/or deleting redundant files per se according to the file directory; or when the node needing to update the file is the opposite end node, sending the file directory of the node to the opposite end node.
With reference to the second aspect or any one of the first to sixth possible implementation manners, in a seventh possible implementation manner,
the information receiving and sending module is also used for randomly determining the opposite end node needing to be inquired from the other nodes.
With reference to the seventh possible implementation manner of the second aspect, in an eighth possible implementation manner,
the information receiving and sending module is further used for determining the number of nodes needing to be inquired according to the current state of the file sharing network; randomly determining the correspondent nodes satisfying the number from the other nodes.
With reference to the second or fifth possible implementation manner of the second aspect, in a ninth possible implementation manner,
the information receiving and sending module is also used for acquiring a joining request sent by a node to be joined in the network;
the processing module is further configured to, when determining that the processing module has the authority to process the join request, determine whether a certificate of the node to be joined to the network, which is carried by the join request, matches with a certificate issued by the digital certificate issuing authority for the node to be joined to the network; and if so, adding the node to be added into the network into the node list.
With reference to the second aspect, in a tenth possible implementation manner,
the information transceiver module is further configured to acquire query information sent by the other node, where the query information sent by the other node carries a version number of the latest file version of the other node;
the processing module is also used for determining the node needing to update the file according to the version number of the latest file version of the other node and the version number of the latest file version of the processing module;
the information transceiver module is further configured to generate response information carrying the identifier of the node that needs to update the file, and send the response information to the other nodes, so that the other nodes perform file synchronization with themselves based on the identifier, and make the file of themselves after synchronization consistent with the file of the opposite node.
With reference to the second aspect, in an eleventh possible implementation manner,
the information receiving and sending module is further configured to obtain query information sent by the other node, where the query information sent by the other node carries a file version obtaining indication;
the processing module is further configured to generate response information carrying a version number of the latest file version of the processing module according to the file version acquisition instruction, and send the response information to the other nodes, so that the other nodes perform file synchronization operation matched with the processing module on the basis of the version number, and the synchronized files are consistent with the files of the opposite-end node.
In a third aspect, an embodiment of the present application provides a file sharing network, including:
a plurality of nodes, each of which is communicatively connected to at least one other node, and each of which is configured to execute the file synchronization method according to the first aspect or any one of the first to eleventh possible implementation manners of the first aspect.
In a fourth aspect, an embodiment of the present application provides a file sharing system, including:
a plurality of file sharing networks, each of which comprises a plurality of nodes, each of which may be located in at least two different file sharing networks, and each of which is configured to execute the file synchronization method according to the first aspect or any one of the first to eleventh possible implementation manners of the first aspect.
In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium having a computer-executable non-volatile program code, where the program code causes the computer to execute the file synchronization method according to the first aspect or any one of the first to eleventh possible implementation manners of the first aspect.
In order to make the aforementioned objects, features and advantages of the present application more comprehensible, preferred embodiments accompanied with figures are described in detail below.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are required to be used in the embodiments will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present application and therefore should not be considered as limiting the scope, and for those skilled in the art, other related drawings can be obtained from the drawings without inventive effort.
FIG. 1 is a first block diagram of a file sharing system according to an embodiment of the present application;
FIG. 2 is a first flowchart illustrating a file synchronization method according to an embodiment of the present application;
FIG. 3 is a second flowchart of a file synchronization method provided by an embodiment of the present application;
FIG. 4 is a second block diagram illustrating a file sharing system according to an embodiment of the present application;
FIG. 5 is a third block diagram illustrating a file sharing system according to an embodiment of the present application;
FIG. 6 is a third flowchart illustrating a file synchronization method according to an embodiment of the present application;
FIG. 7 is a fourth flowchart illustrating a file synchronization method according to an embodiment of the present application;
FIG. 8 is a fifth flowchart illustrating a file synchronization method according to an embodiment of the present application;
FIG. 9 is a sixth flowchart illustrating a file synchronization method according to an embodiment of the present application;
fig. 10 shows a block diagram of a file synchronization apparatus according to an embodiment of the present application.
Detailed Description
The technical solution in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures. Meanwhile, in the description of the present application, the terms "first", "second", and the like are used only for distinguishing the description, and are not to be construed as indicating or implying relative importance.
Referring to fig. 1, an embodiment of the present application provides a file sharing system 10, where the file sharing system 10 may include: multiple file sharing networks 100, and each file sharing network 100 may include multiple nodes.
In this embodiment, the node may be a mobile phone, a tablet computer, a Personal Digital Assistant (PDA), a Point of Sales (POS), or the like. The node may also be a server, and the server may be a single server or a server group. The set of servers can be centralized or distributed (e.g., the servers can be a distributed system). In some embodiments, the server may be local or remote to other devices interacting with the server. In some embodiments, the server may be implemented on a cloud platform; by way of example only, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud (community cloud), a distributed cloud, an inter-cloud, a multi-cloud, and the like, or any combination thereof.
Each node in each file sharing network 100 may be communicatively coupled to at least one other node in the file sharing network 100 such that each node in each file sharing network 100 may communicate with the other nodes in the file sharing network 100.
For example, as shown in FIG. 1, the file sharing network 100A includes node A1, node A2, and node A3. Node a1, node a2, and node A3 all establish communication connections on a logical level. On the physical level, the node a1 establishes physical connection with the node a2 and the node A3, but no physical connection is established between the node a2 and the node A3. Then the communication between the nodes in the file sharing network 100A may be: the node A1 can directly send files or instructions to the node A2 and the node A3 or can directly receive the files or instructions sent by the node A2 and the node A3 based on the communication connection on the logical level and the communication connection on the physical level; the node a2 can receive the file or the command sent by the node A3 through forwarding by the node a1 based on the communication connection on the logical plane and the communication connection on the physical plane.
In this embodiment, each node in each file sharing network 100 may maintain a node list of all nodes in the file sharing network 100, and each node list does not include a node in the file sharing network 100 that is not corresponding, so that each node in each file sharing network 100 may communicate with other nodes in the file sharing network 100 based on the node list, but cannot communicate with nodes in the file sharing network 100. Based on this communication method, it is possible to avoid performing files between different file sharing networks 100, that is, to avoid that the file belonging to the file sharing network 100A is leaked to the file sharing network 100C, thereby improving the security of the entire file sharing system 10.
For example, as shown in FIG. 1, node A1, node A2, and node A3 in the file sharing network 100A may each possess a list of nodes 101 of the file sharing network 100A, the list of nodes 101 including node A1, node A2, and node A3. Then node a1, node a2, and node A3 may perform communication and file synchronization based on the node list 101 and achieve that the files of node a2, node a1, and node A3 remain consistent after synchronization. However, since the node list 101 does not include the node a4, the node a4 does not belong to the file sharing network 100A for the node a1, the node a2 and the node A3, and the node a1, the node a2 and the node A3 cannot communicate with the node a4 based on the node list 101, so that the files belonging to the file sharing network 100A cannot be leaked to the file sharing network 100B where the node a4 is located.
In this embodiment, the file sharing network 100 is divided based on the node list, that is, nodes having the same node list belong to the same file sharing network 100. Based on this, if each node has at least two different node lists, each node may be located in two different file sharing networks 100.
For example, as shown in FIG. 1, node A1 owns both the list of nodes 101 of the file sharing network 100A and node A1 owns the list of nodes 102 of the file sharing network 100B, then node A1 belongs to both the file sharing network 100A and the file sharing network 100B.
In addition, it should be noted that the file described in this embodiment may be, on one hand, a node list, and on the other hand, a data file stored on each node, for example, a document file, a compressed file, a graphic file, a sound file, an animation file, a system file, and/or an executable file. Then, in the case where the file to be synchronized is a node list, the synchronization of the node list can be achieved by each node in each file sharing network 100 sending the node list to each other. When the synchronized files are data files, each node in each file sharing network 100 needs to send a file directory to each other, so that the corresponding node can know which files need to be acquired or deleted based on comparing the acquired file directory with the file directory of the corresponding node, and finally, the synchronization of the files is realized.
For example, as shown in FIG. 1, the file directory 102 owned by node A1 in the file sharing network 100A may contain file 1 and file 3, and the data of file 1 and file 3 are correspondingly stored in node A1. The file directory 102 owned by the node a2 may include file 1 and file 2, and the node a2 also stores data of file 1 and file 2. The file directory 102 owned by the node A3 may include the file 1 and the file 4, and the data of the file 1 and the file 4 are stored in the node A3. For node A1, since node A1 also belongs to the file sharing network 100B, the file directory 202 belonging to the file sharing network 100B may also be owned in node A1. Since the data files between different file sharing networks are isolated from each other, the data files of different file sharing networks may be different, i.e., the file directory 202 of node A1 may contain file 5, file 6, and file 7, and node A1 also corresponds to the stored data of file 5, file 6, and file 7.
Based on this, for node A1, when a file of the file sharing network 100A needs to be synchronized, node A1 may communicate with node A2 and/or A3 based on the list of nodes 101, enabling synchronization of the list of nodes 101 within the sharing network 100A. And/or node A1 may also communicate with node A2 and/or node A3 based on the node list 101 to enable the file directories 102 to be sent within the shared network 100A to enable the files corresponding to the file directories 102 to be synchronized within the shared network 100A. But for the node list 201 and the file directory 202 of the file sharing network 100B, the node a1 does not send the node list 201 and the file directory 202 into the file sharing network 100A. That is, the isolation of the files of the file sharing network 100A and the files of the file sharing network 100B from each other is ensured, thereby improving the security of the entire file sharing system 10.
In addition, for each file sharing network 100, there may be at least one node in each file sharing network 100 as a resource owner node, and the resource owner node has authority that other nodes in the file sharing network 100 approve to it, so that the resource owner node has the right to decide whether to allow the node to join the network to join the file sharing network 100. Further, after allowing the node joining the network to join the file sharing network 100, the resource owner node joins the node joining the network to join in the node name list.
In addition, the resource owner node in each file sharing network 100 can know that some nodes in the file sharing network 100 are in a suspicious state according to the detection of the resource owner node; alternatively, other nodes in each file sharing network 100 besides the resource owner node may detect that some nodes in the file sharing network 100 are in a suspicious state, and the resource owner node may also learn that some nodes in the file sharing network 100 are in a suspicious state by communicating with other nodes in the file sharing network 100. Therefore, the resource owner node can correspondingly update the states of the nodes in the node list to be in a suspicious state, and the list is updated accordingly.
In addition, the resource owner node in each file sharing network 100 can know that some nodes in the file sharing network 100 are in a dead state according to detection of the resource owner node; alternatively, other nodes in each file sharing network 100 besides the resource owner node may detect that some nodes in the file sharing network 100 are in a dead state, and the resource owner node may also learn that some nodes in the file sharing network 100 are in a dead state by communicating with other nodes in the file sharing network 100. Therefore, the resource owner node can correspondingly delete the nodes in the death state in the node list, thereby realizing the update of the list.
Further, for each file sharing network 100, the resource owner node may receive the latest file sent by the external physical device by communicating with the external physical device and/or delete redundant files in the resource owner node according to the instruction of the external physical device, and update the file directory accordingly. On this basis, the file of the resource owner node may be the most authoritative file in the file sharing network 100. The file synchronization may target the file of the resource owner node such that the files of all nodes in the file sharing network 100 are consistent with the file of the resource owner node.
How to synchronize files of nodes in the same file sharing network 100 will be described in detail with reference to method embodiments.
Referring to fig. 2, an embodiment of the present application provides a file synchronization method, where the file synchronization method may be performed by any node of a plurality of nodes of a file sharing network, and the file synchronization method may include: step S100, step S200, step S300, and step S400.
Step S100: and determining the opposite end node needing to be queried from other nodes, generating and sending query information to the opposite end node.
Step S200: and receiving response information returned by the opposite end node based on the inquiry information.
Step S300: and judging whether the files of the self are consistent with the files of the opposite end node or not according to the response information.
Step S400: and if not, executing file synchronization operation to ensure that the file of the file is consistent with the file of the opposite end node.
It should be noted that, in order to clearly distinguish the node performing the file synchronization method from the peer node cooperating with the node in the description, the embodiment will be described by taking the node a1 performing the file synchronization method and cooperating with the node a2 and the node A3 as an example.
Referring to fig. 3 to 5 in combination, before the node a1 performs the step S100, the node a1 may further perform: step S101, step S102, and step S103.
Step S101: and acquiring a joining request sent by a node to be joined into the network.
Step S102: when determining that the node has the authority of processing the joining request, judging whether a certificate of the node to be joined in the network carried by the joining request is matched with a certificate issued by the digital certificate issuing authority for the node to be joined in the network;
step S103: and if so, adding the node to be added into the network into the node list.
Step S101, step S102, and step S103 will be described in detail below.
Step S101: and acquiring a joining request sent by a node to be joined into the network.
The node a1 stores the node list 101 in the file sharing network 100A, and in the case that the node a1 is used as the resource owner node and the node has the authority, the node a1 may allow the node AN to join the network to join the file sharing network 100A after passing the authentication of the node AN allowed to join the network.
As an exemplary way to obtain the join request, if node A1 is acting as the resource owner node, the IP of node A1 may be exposed, i.e., each node in the file sharing network 100A will be assigned the IP of node A1. Then, when it is unclear which node in the file sharing network 100A is the resource owner node that determines whether the node can join, the node AN to join the network can obtain the IP of the node a1 by communicating with the nodes in the file sharing network 100A, so that it can be known that the node a1 is the resource owner node. In this way, the node AN to join the network may generate and send a join request to the node a 1. Node a1 obtains the join request accordingly.
As another exemplary way to obtain the join request, if node A1 is acting as the resource owner node, the IP of node A1 is not disclosed. Then, when it is unclear which node the file sharing network 100A is the resource owner node that decides whether or not it can join, the node AN to join the network generates a join request, and sends the join request to each node in the file sharing network 100A. Accordingly, node a1 also obtains the join request.
Step S102: and when determining that the node has the authority of processing the joining request, judging whether the certificate of the node to be joined in the network carried by the joining request is matched with the certificate issued by the digital certificate issuing authority for the node to be joined in the network.
In this embodiment, after the node a1 obtains the join request, by analyzing the join request, the node a1 obtains the content that is carried in the join request and used for indicating that the network is requested to join, where the content that is carried and used for indicating that the network is requested to join may be, for example, AN IP of the node AN that is included in the network field that is requested to join the network. Node a1 then knows that it needs to decide whether to allow the node AN to join the network.
On this basis, no matter whether the node a1 is the resource owner node, in the logical level, the node a1 needs to determine that it has the right to process the join request, and the node a1 needs to determine whether it is the resource owner node.
If it is determined that the node a1 has no authority to process the join request, the node AN may inform the node AN to join the network that the node AN has no authority to determine whether to allow the node AN to join the network. This situation of course generally occurs when the aforementioned node AN to be joined to the network sends a join request to each node.
If the node a1 determines that the node a has the right to process the join request, it further determines whether the node AN of the network to be joined satisfies the join condition.
In this embodiment, to ensure the security of the network, the nodes in the file sharing network 100A may all be nodes that are authenticated by a third-party Certificate Authority, such as a CA (digital Certificate Authority), and each node stores therein a Certificate that is authenticated and issued by the CA Authority. Because of the uniqueness of the certificate, it can be ensured that nodes outside the file sharing network 100A cannot masquerade as nodes inside the file sharing network 100A, thereby ensuring the security of the network.
Similarly, if the node AN to join the network needs to join the file sharing network 100A, the node AN to join the network needs to initiate authentication to the CA, and obtain a certificate that the CA issues for the node AN to join the network and passes the authentication. In this way, the node AN to join the network may carry the certificate that the authentication of the node to join the network passes in the join request generated and sent.
Accordingly, the node a1 can determine whether the node AN to join the network satisfies the joining condition through the certificate passing the authentication of the node to join the network. Optionally, after the node a1 obtains the certificate that the node to be joined to the network passes the authentication, the node a1 may request the CA authority for the certificate of the node AN to be joined to the network that is backed up in the CA authority. Node a1 may thus determine whether the certificate of the node to join the network carried by the join request matches the certificate issued by the digital certificate authority for the node to join the network.
Then node a1 may inform the node AN to join the network that it cannot join the network if the certificates do not match. On the contrary, the node a1 may add the node AN to be added to the network to the file sharing network 100A by adding the node AN to be added to the node list 101. For example, as shown in fig. 4, after the node AN to join the network joins the file sharing network 100A, the node list 101 on the node a1 may be updated to include the node a1, the node a2, the node A3 and the node AN.
In addition, the condition for deciding whether the node AN to join the network can join the network is not limited to the judgment of the certificate of the node AN to join the network. In practice, the node a1 may also decide whether the node AN to be joined to the network can join the network based on the state of the file sharing network 100A. For example, the node a1 may determine whether the number of nodes in the file sharing network 100A reaches AN upper limit, and if so, indicate that the state of the file sharing network 100A may not allow the node AN to join the network, and otherwise indicate that the state of the file sharing network 100A may allow the node AN to join the network.
It should be understood that the method of the present embodiment is described in the present embodiment by taking the node a1 executing the step S101, the step S102, and the step S103 before the step S100 as an example, so as to facilitate the understanding of the present embodiment by those skilled in the art. In practice, the execution of steps S101 to S103 by the node a1 and the execution of steps S110 to S140 by the node a1 are not in a definite sequence.
Referring to fig. 3 to 5 again, in this embodiment, in the case that the node a1 is used as the resource owner node, the node a1 may also communicate with an external physical device to update its own file. For example, the original files owned by the node a1 are file 1 and file 3, but by communicating with an external physical device, the node a1 can delete the redundant file 3 and acquire a new file N from the external physical device. Thus the files owned by node a1 are updated to file 1 and file N. Meanwhile, the node a1 also updates its own file directory 102 to include the file 1 and the file N.
In this embodiment, the node a1 may communicate with other nodes in a Push query and a Pull request manner, respectively, so as to implement file update. These two modes will be described in detail separately below. Note that, the present solution is described by taking the node a1 as the resource owner node as an example, which is for the purpose of facilitating understanding of the present solution by those skilled in the art, and is not limited thereto. In contrast to the above, in order to facilitate understanding of the present solution by those skilled in the art, the following description will be made by taking the node a1 as an example.
Referring to fig. 5 and fig. 6, if the node a1 uses the communication method of the other node in the query in the present embodiment, step S100 may include: step S110, step S120, and step S130.
Step S110: and randomly determining the opposite node needing to be inquired from the other nodes.
Step S120: the version number of the file of the latest version thereof is obtained.
Step S130: and generating the inquiry information carrying the version number, and sending the inquiry information to the opposite end node.
Step S110, step S120, and step S130 will be described in detail below.
Step S110: and randomly determining the opposite node needing to be inquired from the other nodes.
Node a1 determines that the current time meets some specific time or that the state of the node/network meets some specific state such as: the node list 101 of the node a1 has just been updated, the file and the corresponding file directory of the node a1 have just been updated, the node a1 knows that the current state of the file sharing network 100A can implement file synchronization and/or when the node a1 adopts a periodic query method, the current time is a query time point in the current period. Then, when node a1 determines that the current time satisfies certain specified times or that the status of the node/network satisfies certain specified conditions, node a1 determines that it is necessary to query some nodes to determine whether to synchronize files with those nodes.
It should be noted that the way that the node a1 knows the current state of the file sharing network 100A may be: the node a1 records the load status of each node in the file sharing network 100A in real time through communication with the file sharing network 100A. Node a1 may average based on the load value of each node to obtain a load average. The load average may be used as the current status of the file sharing network 100A. And a load threshold is preset in the node a1, and in the case that the load average is smaller than the load threshold, it is determined that the current state of the file sharing network 100A can implement file synchronization. Of course, determining the current state of the file sharing network 100A in this manner is an exemplary manner and is not intended to limit the present embodiment. For example, it may also be determined whether a node load value exceeds a load threshold, and if not, it is determined that the current state of the file sharing network 100A may implement file synchronization.
To avoid overloading the file sharing network 100A with an excessive number of nodes for file synchronization, node A1 may determine the number of nodes that need to be queried based on the current state of the file sharing network before node A1 determines which nodes need to be queried. Optionally, the number of nodes needing to be queried corresponding to each load interval is preset in the node a1, the upper limit values of all load intervals do not exceed the load threshold, and the upper limit value of a load interval approaches the load threshold, the smaller the number of nodes needing to be queried corresponding to the load interval is. For example, if the load threshold is 50, and the load interval a is 30 to 40, the number of nodes requiring query corresponding to the load interval a is 2, and if the load interval B is 40 to 50, the number of nodes requiring query corresponding to the load interval B is 1. Based on this, the node a1 can determine which load interval the average load value belongs to, and then can determine the number of nodes to be queried according to the corresponding load interval. For example, in the case of a load average of 47, node a1 may determine that the number of nodes to query is 1 based on the current state of file sharing network 100A.
In practice, for ease of implementation, node A1 is based on the determined number, and then node A1 may randomly determine a satisfactory number of peer nodes from the other nodes. In order to ensure the uniformity in the macro, when a random selection mode is adopted, the probability of each other node being selected may be the same. For example, in the case of the number of 1, the node a1 may randomly select the node a2 as the correspondent node of the synchronization from the other nodes including the node a2 and the node A3.
Step S120: the version number of the file of the latest version thereof is obtained.
In order to enable the corresponding node a2 to simply and accurately determine whether the files need to be synchronized, the present embodiment may use version number to determine. For each node, each time the node list and/or file directory is updated, the updated node list and/or file directory will have a new version number. As shown in fig. 4 and 5, the version number of the node list 101 of the node a1 including the node a1, the node a2 and the node A3 may be 1.01, and the corresponding version number of the node list 101 of the node a1 updated to include the node a1, the node a2, the node A3 and the node AN may be updated to 1.02. In this embodiment, in order to facilitate determination that the version number after each update may be larger than the version number before the update, but the determination is not limited thereto, for example, the version number after each update may be smaller than the version number before the update.
As an alternative, the node list and the file directory may share the same version number, and the version number is updated correspondingly whether the node list is updated or the file directory is updated. For example, when the node list 101 of the node a1 is updated to include the node a1, the node a2, the node A3, and the node AN, the corresponding version number may be updated to 1.02. Then, when the file directory 102 of the node a1 is updated from containing file 1 and file 3 to containing file 1 and file N, the version number can be continuously updated to 1.03 on the basis of 1.02.
As another alternative, the node list and the file directory may use respective version numbers, that is, the node list uses one version number corresponding to itself, and the file directory also uses another version number corresponding to itself. Thus, when the node list is updated, the version number corresponding to the node list is updated, and when the file directory is updated, the version number corresponding to the file directory is updated. For example, when the node list 101 of the node a1 is updated to include the node a1, the node a2, the node A3 and the node AN, the version number corresponding to the node list may be updated to 1.02. Then, when the file directory 102 of the node a1 is updated from containing file 1 and file 3 to containing file 1 and file N, the corresponding version number of the file directory 102 can be updated to 2.02 from 2.01.
Further, on the basis that the node list and the file directory share the same version number, the node a1 may obtain the shared version number corresponding to the latest version file (i.e., the latest file directory 102 and the latest node list 101).
Further, on the basis that the node list and the file directory respectively use the version numbers corresponding to the respective version numbers, the version number corresponding to the file of the latest version acquired by the node a1 may be the version number corresponding to the latest node list 101 and the version number corresponding to the latest file directory 102.
Step S130: and generating the inquiry information carrying the version number, and sending the inquiry information to the opposite end node.
Accordingly, after obtaining the version number, the peer node A2 may determine whether the file needs to be synchronized based on the version number for convenience. Node a1 may generate query information carrying the version number and send the query information to correspondent node a2 over the communication connection with correspondent node a 2.
After the peer node a2 obtains the query information, the peer node a2 may obtain the version number of the latest file version of the node a1 that it carries by decapsulating the query information.
In this embodiment, the peer node a2 itself also carries the version number of its latest file version. Then the correspondent node A2 may determine the node that needs to update the file by comparing the version number of the latest file version of this node A1 with the version number of the latest file version of the correspondent node A2.
As one approach, in the case of a common version number, the correspondent node A2 could directly compare the version number of the latest file version of node A1 with the version number of the latest file version of the correspondent node A2. If the version numbers are the same, the correspondent node A2 may determine that there is no node that needs to update the file in the synchronization. If the version numbers are not the same, the correspondent node a2 may determine that the node corresponding to the relatively smaller version number is the node that needs to update the file. For example, if the version number of the latest file version of node A1 is 1.03 and the version number of the latest file version of the correspondent node A2 is 0.98, then the correspondent node A2 determines itself to be the node that needs to update the file. As another example, if the version number of the latest file version of node A1 is 1.03 and the version number of the latest file version of peer node A2 is 1.04, then peer node A2 determines that node A1 is the node that needs to update the file.
Alternatively, where the version numbers are not common, the correspondent node A2 may compare the version number of the newest node list 101 of node A1 to the version number of the newest node list 101 of correspondent node A2 and may compare the version number of the newest file directory 102 of node A1 to the version number of the newest file directory 102 of correspondent node A2. By contrast, when at least one of the two version numbers is different, the correspondent node a2 may also determine the node that needs to update the file, i.e., determine the node that needs to update the file directory and/or the node that needs to update the node list.
Further, when the corresponding node a2 determines that there is no node that needs to update the file, the corresponding node a2 may generate and send a response message that does not carry any node identifier to the node a 1. Thus, the node a1 can know that file synchronization is not required this time.
Further, when the peer node a2 determines that there is a node that needs to update the file, the peer node a2 may generate response information carrying an identifier of the node that needs to update the file, and send the response information to the node a1, where the identifier may be an IP of the node that needs to update the file.
Step S200: and receiving response information returned by the opposite end node based on the inquiry information.
Accordingly, the node a1 can obtain the reply information returned by the correspondent node a2 based on the query information through communication with the correspondent node a2 by the node a 1.
Step S300: and judging whether the files of the self are consistent with the files of the opposite end node or not according to the response information.
When a node needs to update a file, the response information can correspondingly carry the identifier of the node which needs to update the file. Therefore, the node a1 may determine whether the file of the node a is consistent with the file of the peer node a2 by determining whether the response information carries the identifier of the node that needs to update the file, where the node a1 represents that the file of the node a1 is inconsistent with the file of the peer node a2 when the response information carries the identifier.
Since the identifier carried in the response message is determined, the node a1 may set the identifier of each node in the file sharing network 100A in advance in the node a1 in order to determine which node the identifier corresponds to. Based on this, the node a1 obtains the identifier of the node that needs to update the file and is carried by the response information by analyzing the response information. Then, the node a1 may determine whether the node that needs to update the file is the identifier of itself or the identifier of the corresponding node a2 by matching the identifier of the node that needs to update the file with the preset identifier of each node.
It should be noted that, when the version number is common, the identifier of the node of the update file carried in the response information is unique. On this basis, node A1 may determine that it needs to update the file, either node A1 or the opposite node A2. And under the condition that the version number is not shared, the files needing to be updated have two types, namely a node list and a file directory, so that the identification of the node of the updated file carried by the response information is at least one. Then, according to the at least one identifier, when the node list of the node needs to be updated, the node a1 may determine that the node that needs to update the node list is either the node a1 or the opposite node a2, and when the file directory of the node needs to be updated, the node a1 may also determine that the node that needs to update the file directory is either the node a1 or the opposite node a 2.
Step S400: and if not, executing file synchronization operation to ensure that the file of the file is consistent with the file of the opposite end node.
If the identifier of any node in the response information is not obtained, the node a1 may determine that file synchronization is not required this time based on the identifier not obtained, and thus the node a1 may end the file synchronization process this time.
If the node A1 determines that the file needs to be updated based on the identification carried in the reply information, the node A1 may perform a file synchronization operation.
As a first exemplary manner, in the process of performing the file synchronization operation, in the case that the version number is shared, if the node a1 determines that the carried identifier is the identifier of itself, the node a1 determines that the file of itself needs to be updated. However, since the version number is shared, the node a1 cannot determine whether its node list 101 needs to be updated, its file directory 102 needs to be updated, or both its node list 101 and file directory 102 need to be updated according to the version number. Node A1 can then request the node list 101 and file directory 102 for the correspondent node A2 from the correspondent node A2. Node A1 comparing the node list 101 for the correspondent node A2 with its own node list 101 and the file directory 102 for the correspondent node A2 with its own file directory 102, node A1 can determine which files need to be updated.
When the node a1 finds that the node list 101 needs to be updated by comparison, the node a1 updates the node list 101 of the node a1 to the node list 101 of the correspondent node a 2.
By comparing the file directories 102 found to be updated at the node a1, the node a1 can update the file directory 102 to be consistent with the file directory 102 of the peer node a 2. And then acquires the files needing to be synchronized from the corresponding node A2 according to the updated file directory 102 and/or deletes the redundant files, so that the updated files of the node A1 are consistent with the corresponding node A2.
As a second exemplary way, in the process of performing the file synchronization operation, in the case that the version number is shared, if the node A1 determines that the carried identifier is the identifier of the corresponding node A2, the node A1 determines that the file of the corresponding node A2 needs to be updated. However, also because the version number is shared, node A1 cannot determine from the version number whether the node list 101 of correspondent node A2 needs to be updated, the file directory 102 of correspondent node A2 needs to be updated, or both the node list 101 and the file directory 102 of correspondent node A2 need to be updated. Node A1 may then send its node list 101 and file directory 102 to correspondent node A2.
The correspondent node a2 compares the node list 101 of the node a1 with its own node list 101 and the file directory 102 of the node a1 with its own file directory 102, and the correspondent node a2 may determine which files need to be updated.
When the corresponding node A2 finds that the node list 101 needs to be updated by comparison, the corresponding node A2 updates the node list 101 to be consistent with the node list 101 of the node A1. For example, as shown in FIG. 5, the correspondent node A2 may update its node list 101 to include node A1, node A2, node A3, and node AN.
By comparing the peer node A2 to find that its file directory 102 needs updating, the peer node A2 can first update its file directory 102 to the file directory 102 of the node A1 for consistency. And then acquires the files needing to be synchronized from the node A1 according to the updated file directory 102 and/or deletes redundant files of the node A, so that the updated files of the opposite node A2 are consistent with the node A1. For example, as shown in FIG. 5, the correspondent node A2 may delete its own file 2 and obtain file N from node A1.
As a third exemplary manner, in the process of performing the file synchronization operation, when the version number is not shared, since the node a1 carries at least one identifier, it may be directly determined that the node that needs to update the list of nodes is either the node a1 or the opposite node a2, and it may be determined that the node that needs to update the file directory is either the node a1 or the opposite node a 2. Thus, the node a1 can perform the update by sending or acquiring the corresponding node list 101 and sending or acquiring the corresponding file directory 102.
It will be appreciated that the particular update process is substantially the same as described above and will not be described again here.
It should be noted that, if the node a1 sends the query message to multiple peer nodes at the same time, the node a1 may obtain multiple pieces of response information and obtain multiple identifiers. Thus, the node a1 may request corresponding version numbers from multiple corresponding end nodes, and use the file of the node corresponding to the highest version number as the update target.
Referring to fig. 5, for the sake of understanding, the following description will be made by taking version number sharing as an example.
If node A3 inquires about node A1 and node A2, respectively, and the version number of the latest version file on node A3 is 0.98. Under the condition that the version number of the latest version file on the node A2 is 1.01, and the version number of the latest version file on the node A1 is 1.02, after the inquiry of the node A3, the node A2 returns response information to determine that the node of the file needing to be updated is the node itself, and the node A1 returns response information to also determine that the node of the file needing to be updated is the node itself. On the basis, the node A3 can request respective version numbers from the node A1 and the node A2 respectively, so that updating is carried out by taking the self-version of the node A1 as a reference, the file of the node A3578 is updated to be consistent with that of the node A1, and the purpose of avoiding error updating is achieved.
If node A3 also queried node A1 and node A2, respectively, the version number of the latest version file on node A3 is 1.01. Under the condition that the version number of the latest version file on the node A2 is 0.98 and the version number of the latest version file on the node A1 is 1.02, after the inquiry of the node A3, the node A2 can return response information to determine that the node of the file needing to be updated is the node A2 and the node A1 returns response information to determine that the node of the file needing to be updated is the node itself. On this basis, node A3 may request respective version numbers from node A1 and node A2, respectively, to update based on the self version of node A1. On the basis, the node A3 may update its own file to be consistent with the node a1, and then guide the node a2 to update based on the updated file, so that the node a2 also updates its own file to be consistent with the node a1, thereby improving the file synchronization efficiency.
Referring to fig. 5 and fig. 7, if the node a1 adopts the communication mode of the other node as requested in the present embodiment, step S100 may include: step S110 and step S140.
Step S110: and randomly determining the opposite node needing to be inquired from the other nodes.
Step S140: and generating the query information carrying the file version acquisition indication, and sending the query information to the opposite end node.
Step S110 and step S140 will be described in detail below.
Step S110: and randomly determining the opposite node needing to be inquired from the other nodes.
For simplicity of description, step S110 can be understood with reference to the foregoing description, and will not be described again here.
However, for the sake of easy distinction from the above description, the randomly selected correspondent node is exemplified as the node a 3.
Step S140: and generating the query information carrying the file version acquisition indication, and sending the query information to the opposite end node.
In the request mode, the node a1 does not need to send its version number to the peer node A3 through query information, and the node a1 may generate query information carrying a file version acquisition indication. The file version acquisition indication may be a field indicating a version number in the query message, but the field may be empty at this time. Optionally, based on the foregoing two ways of sharing and not sharing the version number, in the case of sharing the version number, the field indicating the version number in the query message may be the only one; but in case the version number is not common, the field indicating the version number in the query message may be two, one may be a field indicating the version number of the node list, the other may be a field indicating the version number of the file directory,
then, after generating the query information carrying the file version acquisition indication, node a1 may send the query information to correspondent node A3.
After the corresponding node A3 obtains the query information, the corresponding node A3 may obtain the field indicating the version number in the query information by parsing the query information. But since the field representing the version number is empty the correspondent node a3 knows that it needs to fill in its version number in the field representing the version number.
Accordingly, in the case of the common version number, the correspondent node A3 populates the version number of its latest file version into the field representing the unique version number, thereby generating the response information carrying the version number of the latest file version of the correspondent node A3. Under the condition that the version numbers are not shared, the opposite end node A3 can fill the version number of the latest node list into the field for representing the version number of the node list, and can fill the version number of the latest file directory into the field for representing the version number of the file directory, so that response information carrying the version number of the latest file version of the opposite end node A3 is also generated.
The correspondent node A3 may then return the reply information to node a1 in real time, also based on communication with the node a 1.
Step S200: and receiving response information returned by the opposite end node based on the inquiry information.
By the node a1 communicating with the correspondent node A3, the node a1 may obtain the response information returned by the correspondent node A3 based on the inquiry information.
Step S300: and judging whether the files of the self are consistent with the files of the opposite end node or not according to the response information.
When the request mode is adopted, because of the version number of the correspondent node A3 fed back by the correspondent node A3, after the node a1 acquires the query information, the node a1 can acquire the version number of the latest file version of the correspondent node A3 carried by the node a1 by decapsulating the query information.
In this embodiment, node a1 itself stores the version number of its latest file version. Then, node a1 may determine whether the version number of its latest file version is the same as the version number of the latest file version of peer node A3, wherein if the version number of the latest file version of node a1 is different from the version number of the latest file version of peer node A3, then the file of node a1 is not consistent with the file of peer node A3. And node A1 may also determine the node that needs to update the file by the version number of the latest file version of this node A1 being different from the version number of the latest file version of the correspondent node A3.
As one approach, where the version numbers are common, the node A1 may directly compare the version number of the latest file version of the node A1 with the version number of the latest file version of the correspondent node A3. If the version numbers are the same, the node a1 may determine that there is no node that needs to update the file in the synchronization. If the version numbers are not the same, the node a1 may determine that the node corresponding to the relatively smaller version number is the node that needs to update the file. For example, if the version number of the latest file version of node A1 is 1.03 and the version number of the latest file version of the peer node A3 is 0.98, then node A1 determines itself to be the node that needs to update the file. As another example, if the version number of the latest file version of node A1 is 1.03 and the version number of the latest file version of the peer node A3 is 1.04, then node A1 determines that node A1 is the node that needs to update the file.
Alternatively, where the version numbers are not common, node A1 may compare the version number of the newest node list 101 of node A1 to the version number of the newest node list 101 of correspondent node A3 and may compare the version number of the newest file directory 102 of node A1 to the version number of the newest file directory 102 of correspondent node A3. By contrast, when at least one of the two version numbers is different, the node a1 may also determine the node that needs to update the file, that is, the node that needs to update the file directory and/or the node that needs to update the node list.
Further, when the node a1 determines that there is no node that needs to update the file, the node a1 determines that file synchronization is not needed this time, so that the node a1 may end the file synchronization process this time.
Further, the node a1 may continue to execute step S400 when it is determined that there is a node that needs to update the file.
Step S400: and if not, executing file synchronization operation to ensure that the file of the file is consistent with the file of the opposite end node.
When node A1 determines that there are files for a node that need to be updated based on the difference between the version number of the latest file version of node A1 itself and the version number of the latest file version of the peer node A3, then node A1 may perform a file synchronization operation.
As a first exemplary way, in the process of performing a file synchronization operation, in the case that the version number is shared, if node A1 determines that the version number of its latest file version is less than the version number of the latest file version of correspondent node A3, node A1 determines that its file needs to be updated.
On this basis, node a1 may obtain list of nodes 101 for correspondent node A3, and update its list of nodes 101 to be consistent with list of nodes 101 for correspondent node A3. Alternatively, the file directory 102 of the correspondent node A3 is obtained, and the files that need to be synchronized are obtained from the correspondent node A3 and/or the redundant files are deleted from itself according to the file directory 102 of the correspondent node A3. The specific process of file synchronization can be understood with reference to the foregoing description, and will not be described in detail herein.
As a second exemplary way, in the course of performing a file synchronization operation, in the case that the version number is shared, if node A1 determines that the version number of its latest file version is greater than the version number of the latest file version of correspondent node A3, then node A1 determines that the file of correspondent node A3 needs to be updated.
On the basis, the node A1 sends the node list 101 of the node A to the opposite node A3; alternatively, node A1 sends its file directory 102 to correspondent node A3. The specific process of file synchronization can also be understood with reference to the foregoing description, and will not be described in detail herein.
As a third exemplary manner, in the process of performing the file synchronization operation, in the case that the version number is not shared, since the node a1 can directly determine, according to the version number, that the node that needs to update the list of nodes is the node a1 and is the opposite node A3 on the contrary, and can determine that the node that needs to update the file directory is the node a1 and is the opposite node A3 on the contrary. Thus, the node a1 can perform the update by sending or acquiring the corresponding node list 101 and sending or acquiring the corresponding file directory 102.
It will be appreciated that the particular update process is substantially the same as described above and will not be described again here.
It will be appreciated that in practice, whether by means of inquiry or request, the convergence speed of the network can be increased, so that the latest files can be synchronized in the network more quickly. However, in practice, both the query and the request are used together, so that the convergence rate of the network is better, and the time for the latest file to be synchronized in the network is shortest.
Referring to fig. 8, the execution of the file synchronization method by the node a1 may further include: step S500, step S600, and step S700.
Step S500: and acquiring inquiry information sent by other nodes, wherein the inquiry information sent by other nodes carries the version number of the latest file version of other nodes.
Step S600: and determining the node needing to update the file according to the version number of the latest file version of the other node and the version number of the latest file version of the node.
Step S700: and generating response information carrying the identifier of the node needing to update the file and sending the response information to the other nodes, so that the other nodes execute the file synchronization operation matched with the other nodes based on the identifier, and the file of the other nodes after synchronization is consistent with the file of the opposite node.
The above flow can be understood with reference to the description of the node a2 in this embodiment, and will not be described in detail here.
Referring to fig. 9, the execution of the file synchronization method by the node a1 may further include: step S800 and step S900.
Step S800: and acquiring query information sent by other nodes, wherein the query information sent by other nodes carries a file version acquisition indication.
Step S900: and generating response information carrying the version number of the latest file version of the node according to the file version acquisition instruction, and sending the response information to the other nodes, so that the other nodes execute file synchronization operation matched with the node based on the version number, and the synchronized file is consistent with the file of the opposite node.
The above flow can be understood with reference to the description of the node a3 in this embodiment, and will not be described in detail here.
Referring to fig. 10, an embodiment of the present application provides a file synchronization apparatus 200, where the file synchronization apparatus 200 can be applied to any one of a plurality of nodes of a file sharing network, and the file synchronization apparatus 200 includes:
the information transceiver module 210 is configured to determine a peer node that needs to be queried from other nodes, generate and send query information to the peer node.
The information transceiver module 210 is further configured to receive response information returned by the peer node based on the query information.
And the processing module 220 is configured to determine whether the file of the processing module is consistent with the file of the peer node according to the response information.
And the file synchronization module 230 is configured to, if the file is inconsistent with the file of the peer node, perform a file synchronization operation to make the file of the peer node consistent with the file of the peer node.
Optionally, the information transceiver module 210 is further configured to obtain a version number of a latest version file of the information transceiver module; and generating the query information carrying the version number, and sending the query information to the opposite end node, so that when the opposite end node determines a node needing to update the file according to the difference between the version number and the version number of the latest file version of the opposite end node, the opposite end node carries the identifier of the node needing to update the file in the response information.
Correspondingly, the processing module 220 is further configured to determine whether the response information carries the identifier, where a file representing the response information is inconsistent with a file of the opposite node when the response information carries the identifier.
Optionally, the file is a node list of all nodes, and the file synchronization module 230 is further configured to, when the identifier is an identifier of the file itself, obtain the node list of the peer node, and update the node list of the file itself to be consistent with the node list of the peer node; or when the identifier is the identifier of the opposite end node, sending the node name list of the node to the opposite end node;
optionally, the file synchronization module 230 is further configured to, when the node that needs to update the file is itself, obtain a file directory of the peer node, and obtain the file that needs to be synchronized from the peer node according to the file directory and/or delete redundant files according to the file directory; or when the identifier is the identifier of the opposite end node, sending the file directory of the opposite end node to the opposite end node.
Optionally, the information transceiver module 210 is further configured to generate the query information carrying a file version acquisition indication, and send the query information to the opposite node, so that the opposite node generates the response information carrying a version number of a latest file version of the opposite node according to the file version acquisition indication;
correspondingly, the processing module 220 is further configured to determine whether the version number of the latest file version of the processing module is the same as that of the latest file version of the opposite node, where when the version number of the latest file version of the processing module is different from that of the latest file version of the opposite node, the file representing the processing module is inconsistent with the file of the opposite node.
Optionally, the file is a node list of all nodes, and the file synchronization module 230 is further configured to determine a node that needs to update the node list according to the version number of the latest file version of the node and the version number of the latest file version of the opposite node; when the node needing to update the node list is self, acquiring the node list of the opposite node, and updating the self node list to be consistent with the node list of the opposite node; or when the node needing to update the node list is the opposite node, sending the node name list of the node to the opposite node;
optionally, the file synchronization module 230 is further configured to determine a node that needs to update a file according to the version number of the latest file version of the node and the version number of the latest file version of the opposite node; when the node needing to update the file is the node per se, acquiring a file directory of the opposite end node, and acquiring the file needing to be synchronized from the opposite end node according to the file directory and/or deleting redundant files per se according to the file directory; or when the node needing to update the file is the opposite end node, sending the file directory of the node to the opposite end node.
Optionally, the information transceiver module 210 is further configured to randomly determine, from the other nodes, an opposite node that needs to be queried.
Optionally, the information transceiver module 210 is further configured to determine, according to the current state of the file sharing network, the number of nodes that need to be queried; randomly determining the correspondent nodes satisfying the number from the other nodes.
Optionally, the information transceiver module 210 is further configured to acquire a join request sent by a node to be joined to the network.
Optionally, the processing module 220 is further configured to, when determining that the processing module has the authority to process the join request, determine whether a certificate of the node to be joined to the network, which is carried in the join request, matches with a certificate issued by the digital certificate authority for the node to be joined to the network; and if so, adding the node to be added into the network into the node list.
Optionally, the information transceiver module 210 is further configured to acquire query information sent by the other node, where the query information sent by the other node carries a version number of the latest file version of the other node.
Optionally, the processing module 220 is further configured to determine a node that needs to update the file according to the version number of the latest file version of the other node and the version number of the latest file version of the node;
optionally, the information transceiver module 210 is further configured to generate response information carrying an identifier of the node that needs to update the file, and send the response information to the other node, so that the other node performs a file synchronization operation with itself based on the identifier, and makes the file of itself after synchronization consistent with the file of the peer node.
Optionally, the information transceiver module 210 is further configured to acquire query information sent by the other node, where the query information sent by the other node carries a file version acquisition indication;
optionally, the processing module 220 is further configured to generate response information carrying a version number of the latest file version of the processing module according to the file version obtaining indication, and send the response information to the other nodes, so that the other nodes perform file synchronization operation cooperating with the processing module based on the version number, and make the synchronized files consistent with the files of the opposite node.
It should be noted that, as those skilled in the art can clearly understand, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
Some embodiments of the present application also provide a computer readable storage medium of a non-volatile program code executable by a computer, the computer readable storage medium having a program code stored thereon, the program code being executed by the computer to perform the steps of the file synchronization method of any of the above embodiments.
In detail, the storage medium can be a general-purpose storage medium, such as a removable disk, a hard disk, and the like, and when the program code on the storage medium is executed, the steps of the file synchronization method of the above embodiment can be executed.
The program code product of the file synchronization method provided in the embodiment of the present application includes a computer-readable storage medium storing the program code, and instructions included in the program code may be used to execute the method in the foregoing method embodiment, and specific implementation may refer to the method embodiment, which is not described herein again.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the system and the apparatus described above may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In summary, the embodiments of the present application provide a file synchronization method, a file synchronization device, a file sharing network, a file sharing system, and a storage medium. Any node in the file sharing network can actively inquire other nodes to judge whether the latest file needs to be synchronized or not through the response of other nodes. And when it is determined that synchronization is required, a synchronization operation is performed. Therefore, the pressure of file synchronization is shared by each node in the file sharing network, and the overload of the main node is avoided.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (14)

1. A file synchronization method is applied to any one of a plurality of nodes of a file sharing network, each node maintains a node list containing all nodes in the file sharing network and the number of nodes needing to be inquired corresponding to each load interval in advance, and each node is communicated with other nodes in the file sharing network based on the node list, and the method comprises the following steps:
determining an opposite end node needing to be queried from other nodes based on a node list maintained by the node, generating and sending query information to the opposite end node;
receiving response information returned by the opposite end node based on the inquiry information;
judging whether the files of the self are consistent with the files of the opposite end node or not according to the response information;
if not, executing file synchronization operation to make the file of the self consistent with the file of the opposite end node,
the method for determining the opposite end node needing to be queried from other nodes comprises the following steps:
determining the number of nodes needing to be inquired according to a load interval in which the current state of the file sharing network is, wherein the current state is a load average value of the load state of each node in the file sharing network;
randomly determining the correspondent nodes satisfying the number from the other nodes.
2. The file synchronization method of claim 1, wherein generating and sending query information to the peer node comprises:
acquiring the version number of the file with the latest version;
generating the query information carrying the version number, and sending the query information to the opposite node, so that when the opposite node determines a node needing to update a file according to the version number different from the version number of the latest file version of the opposite node, the opposite node carries an identifier of the node needing to update the file in the response information;
correspondingly, judging whether the file of the self is consistent with the file of the opposite end node according to the response information, and the judging comprises the following steps:
and judging whether the response information carries the identification, wherein when the response information carries the identification, the file representing the self is inconsistent with the file of the opposite end node.
3. The file synchronization method of claim 2, wherein the file is a node list of all nodes, and the file synchronization operation is performed and includes:
when the identifier is the identifier of the self, acquiring a node list of the opposite node, and updating the node list of the self to be consistent with the node list of the opposite node; or
And when the identifier is the identifier of the opposite end node, sending the node name list of the node to the opposite end node.
4. The file synchronization method according to claim 2, wherein performing a file synchronization operation to synchronize the own file with the file of the correspondent node to be consistent comprises:
when the node needing to update the file is the node per se, acquiring a file directory of the opposite end node, and acquiring the file needing to be synchronized from the opposite end node according to the file directory and/or deleting redundant files per se according to the file directory; or
And when the identifier is the identifier of the opposite end node, sending the file directory of the opposite end node to the opposite end node.
5. The file synchronization method of claim 1, wherein generating and sending query information to the peer node comprises:
generating the query information carrying a file version acquisition indication, and sending the query information to the opposite node, so that the opposite node generates the response information carrying a version number of a latest file version of the opposite node according to the file version acquisition indication;
correspondingly, judging whether the file of the self is consistent with the file of the opposite end node according to the response information, and the judging comprises the following steps:
and judging whether the version number of the self latest file version is the same as that of the latest file version of the opposite end node or not, wherein when the version number of the self latest file version is different from that of the latest file version of the opposite end node, the file representing the self is inconsistent with the file of the opposite end node.
6. The file synchronization method of claim 5, wherein the file is a node list of all nodes, and the file synchronization operation is performed and includes:
determining a node needing to update a node list according to the version number of the latest file version of the node and the version number of the latest file version of the opposite node;
when the node needing to update the node list is self, acquiring the node list of the opposite node, and updating the self node list to be consistent with the node list of the opposite node; or when the node needing to update the node list is the opposite end node, sending the node name list of the node to the opposite end node.
7. The file synchronization method according to claim 5, wherein performing a file synchronization operation to synchronize the own file with the file of the correspondent node to be consistent comprises:
determining a node needing to update the file according to the version number of the latest file version of the node and the version number of the latest file version of the opposite node;
when the node needing to update the file is the node per se, acquiring a file directory of the opposite end node, and acquiring the file needing to be synchronized from the opposite end node according to the file directory and/or deleting redundant files per se according to the file directory; or when the node needing to update the file is the opposite end node, sending the file directory of the node to the opposite end node.
8. The file synchronization method according to claim 3 or 6, characterized in that the method further comprises:
acquiring a joining request sent by a node to be joined in a network;
when determining that the node has the authority of processing the joining request, judging whether a certificate of the node to be joined in the network carried by the joining request is matched with a certificate issued by a digital certificate issuing authority for the node to be joined in the network;
and if so, adding the node to be added into the network into the node list.
9. The file synchronization method according to claim 1, further comprising:
acquiring inquiry information sent by other nodes, wherein the inquiry information sent by other nodes carries the version number of the latest file version of other nodes;
determining a node needing to update the file according to the version number of the latest file version of the other node and the version number of the latest file version of the node;
and generating response information carrying the identifier of the node needing to update the file and sending the response information to the other nodes, so that the other nodes execute the file synchronization operation matched with the other nodes based on the identifier, and the file of the other nodes after synchronization is consistent with the file of the opposite node.
10. The file synchronization method according to claim 1, further comprising:
acquiring query information sent by other nodes, wherein the query information sent by other nodes carries a file version acquisition indication;
and generating response information carrying the version number of the latest file version of the node according to the file version acquisition instruction, and sending the response information to the other nodes, so that the other nodes execute file synchronization operation matched with the node based on the version number, and the synchronized file is consistent with the file of the opposite node.
11. A file synchronization device is applied to any one of a plurality of nodes of a file sharing network, each node carries and maintains a node list containing all nodes in the file sharing network and the number of nodes needing to be inquired corresponding to each load interval is preset, and each node can communicate with other nodes in the file sharing network based on the node list, and the device comprises:
the information receiving and transmitting module is used for determining an opposite end node needing to be inquired from other nodes based on a node list maintained by the information receiving and transmitting module, and inquiry information is generated and transmitted to the opposite end node;
the information receiving and sending module is further configured to receive response information returned by the opposite-end node based on the query information;
the processing module is used for judging whether the files of the processing module are consistent with the files of the opposite end node or not according to the response information;
the file synchronization module is used for executing file synchronization operation if the files are inconsistent so as to enable the files of the file synchronization module to be consistent with the files of the opposite end node;
the information transceiver module is specifically configured to determine the number of nodes to be queried according to a load interval in which a current state of the file sharing network is located, where the current state is a load average value of a load state of each node in the file sharing network; randomly determining the correspondent nodes satisfying the number from the other nodes.
12. A file sharing network, comprising:
a plurality of nodes, each of said nodes being communicatively connected to at least one other node, each of said nodes being configured to perform a file synchronization method according to any one of claims 1 to 10.
13. A file sharing system, comprising:
a plurality of file sharing networks, each of said file sharing networks comprising a plurality of nodes, each of said nodes being locatable in a different at least two of said file sharing networks, each of said nodes being adapted to perform a file synchronization method according to any of claims 1 to 10.
14. A computer-readable storage medium having computer-executable non-volatile program code, the program code causing the computer to perform the file synchronization method according to any one of claims 1 to 10.
CN201910236502.7A 2019-03-26 2019-03-26 File synchronization method, device, file sharing network, file sharing system and storage medium Active CN110071964B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910236502.7A CN110071964B (en) 2019-03-26 2019-03-26 File synchronization method, device, file sharing network, file sharing system and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910236502.7A CN110071964B (en) 2019-03-26 2019-03-26 File synchronization method, device, file sharing network, file sharing system and storage medium

Publications (2)

Publication Number Publication Date
CN110071964A CN110071964A (en) 2019-07-30
CN110071964B true CN110071964B (en) 2022-03-15

Family

ID=67366596

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910236502.7A Active CN110071964B (en) 2019-03-26 2019-03-26 File synchronization method, device, file sharing network, file sharing system and storage medium

Country Status (1)

Country Link
CN (1) CN110071964B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110933137B (en) * 2019-10-31 2022-08-02 北京浪潮数据技术有限公司 Data synchronization method, system, equipment and readable storage medium
CN110865987A (en) * 2019-11-18 2020-03-06 杭州安恒信息技术股份有限公司 File synchronization method, device, equipment and medium
CN112714149A (en) * 2020-11-27 2021-04-27 北京飞讯数码科技有限公司 Data synchronization method and device, computer equipment and storage medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101661408A (en) * 2009-09-14 2010-03-03 四川川大智胜软件股份有限公司 Distributed real-time data replication synchronizing method
CN101771723A (en) * 2010-01-05 2010-07-07 深圳中兴网信科技有限公司 Data synchronization method
CN102902746A (en) * 2012-09-18 2013-01-30 杭州勒卡斯广告策划有限公司 Method, device and system for processing mass data
WO2016080126A1 (en) * 2014-11-19 2016-05-26 株式会社日立製作所 Periodic-type data sharing system and method
CN106201771A (en) * 2015-05-06 2016-12-07 阿里巴巴集团控股有限公司 Data-storage system and data read-write method
CN108037897A (en) * 2017-12-14 2018-05-15 郑州云海信息技术有限公司 A kind of method, computer installation and the readable storage medium storing program for executing of metadata diffusion
CN108183960A (en) * 2017-12-29 2018-06-19 中国平安人寿保险股份有限公司 File updating method, server, storage medium and device based on CDN
CN108494828A (en) * 2018-02-26 2018-09-04 网易(杭州)网络有限公司 A kind of update method of node data, medium, device and computing device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5124494B2 (en) * 2009-01-20 2013-01-23 株式会社日立製作所 Congestion control device
CN106657170B (en) * 2015-10-28 2021-03-30 斑马智行网络(香港)有限公司 Data synchronization method and device
CN108804336A (en) * 2018-06-15 2018-11-13 深圳壹账通智能科技有限公司 Interactive system test method, device, computer equipment and storage medium
CN108900626B (en) * 2018-07-18 2021-11-19 中国联合网络通信集团有限公司 Data storage method, device and system in cloud environment

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101661408A (en) * 2009-09-14 2010-03-03 四川川大智胜软件股份有限公司 Distributed real-time data replication synchronizing method
CN101771723A (en) * 2010-01-05 2010-07-07 深圳中兴网信科技有限公司 Data synchronization method
CN102902746A (en) * 2012-09-18 2013-01-30 杭州勒卡斯广告策划有限公司 Method, device and system for processing mass data
WO2016080126A1 (en) * 2014-11-19 2016-05-26 株式会社日立製作所 Periodic-type data sharing system and method
CN106201771A (en) * 2015-05-06 2016-12-07 阿里巴巴集团控股有限公司 Data-storage system and data read-write method
CN108037897A (en) * 2017-12-14 2018-05-15 郑州云海信息技术有限公司 A kind of method, computer installation and the readable storage medium storing program for executing of metadata diffusion
CN108183960A (en) * 2017-12-29 2018-06-19 中国平安人寿保险股份有限公司 File updating method, server, storage medium and device based on CDN
CN108494828A (en) * 2018-02-26 2018-09-04 网易(杭州)网络有限公司 A kind of update method of node data, medium, device and computing device

Also Published As

Publication number Publication date
CN110071964A (en) 2019-07-30

Similar Documents

Publication Publication Date Title
CN110071964B (en) File synchronization method, device, file sharing network, file sharing system and storage medium
CN108140031B (en) Peer-to-peer synchronizable storage system
CN107332876B (en) Method and device for synchronizing block chain state
CN109492380B (en) Equipment authentication method and device and block link point
US8862665B2 (en) Automated file distribution
CN111381962B (en) Edge service migration method and device
CN112200681B (en) Service processing method, information processing method and node equipment of block chain network
CN111245910B (en) Block chain light node multi-copy deployment method
JP2019519975A (en) Resource subscription method, resource subscription apparatus, and resource subscription system
CN113824563A (en) Cross-domain identity authentication method based on block chain certificate
CN102404387A (en) Method, device and equipment for information synchronization with other nodes
CN104662839A (en) Linked identifiers for multiple domains
CN110971506B (en) Decentralized real-time cluster communication method, device, equipment and system
CN113691635A (en) Method and device for calling micro service, electronic equipment and readable storage medium
JP6580212B1 (en) COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM
CN114238262A (en) Image distribution method, image distribution device, electronic device, and storage medium
CN112073401B (en) Method, program and medium for automatically updating certificate based on HTTPS (Hypertext transfer protocol secure) protocol web application
WO2015096906A1 (en) Method and system for assessing a message in a decentralized communication network
CN114125827B (en) Terminal management method, device and centralized management system
WO2020248657A1 (en) Method and apparatus for locking account in blockchain
CN116095081A (en) Event processing method and device based on block chain system, equipment and medium
CN104902474A (en) Method and device for establishing incidence relation between equipment without user interface and mobile terminal
CN102082811B (en) Multi-domain network establishment method, multi-domain network, node communication method and network node
US11481359B2 (en) Parallel distributed ledger construction
CN114844961B (en) Distributed system protocol intercommunication method, device, equipment and storage medium

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