CN110493300B - Distributed data system and distributed data synchronization method - Google Patents

Distributed data system and distributed data synchronization method Download PDF

Info

Publication number
CN110493300B
CN110493300B CN201811128035.8A CN201811128035A CN110493300B CN 110493300 B CN110493300 B CN 110493300B CN 201811128035 A CN201811128035 A CN 201811128035A CN 110493300 B CN110493300 B CN 110493300B
Authority
CN
China
Prior art keywords
data
distributed
nodes
node
stored
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
CN201811128035.8A
Other languages
Chinese (zh)
Other versions
CN110493300A (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.)
Beijing Baishancloud Technology Co ltd
Original Assignee
Beijing Baishancloud Technology 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 Beijing Baishancloud Technology Co ltd filed Critical Beijing Baishancloud Technology Co ltd
Priority to CN201811128035.8A priority Critical patent/CN110493300B/en
Priority to PCT/CN2019/106550 priority patent/WO2020063424A1/en
Publication of CN110493300A publication Critical patent/CN110493300A/en
Application granted granted Critical
Publication of CN110493300B publication Critical patent/CN110493300B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

The invention discloses a distributed data system and a distributed data synchronization method. The disclosed distributed data system includes: the distributed nodes are used for actively or directly synchronizing data to the adjacent nodes of the distributed nodes according to the request, and indirectly synchronizing the data which is not stored in the non-adjacent nodes to the non-adjacent nodes according to the data access request aiming at the non-adjacent nodes of the distributed nodes. The technical scheme disclosed can quickly and reliably share data among a plurality of nodes.

Description

Distributed data system and distributed data synchronization method
Technical Field
The invention relates to the technical field of computer networks and information security, in particular to a distributed data system and a distributed data synchronization method.
Background
The advent of computer networks has brought convenience to people's work and life, and people can share information through computer networks. Computer networks come in a wide variety of forms, including centralized CS/BS model networks, distributed peer-to-peer networks, and the like. In any kind of network, because of the numerous nodes that form the network, how to share data quickly and reliably among the numerous nodes has been an important issue of research.
In addition, some important data related to information security, namely keys, need to be shared in a computer network, and the important data needs to be managed by a special Key Management System (KMS) to prevent leakage. For distributed key management systems, the same problem is faced with fast and reliable sharing of key data among numerous nodes.
Therefore, in order to solve the above problems, a new technical solution needs to be proposed.
Disclosure of Invention
A distributed data system according to the present invention comprises:
the distributed nodes are used for actively or directly synchronizing data to the adjacent nodes of the distributed nodes according to the request, and indirectly synchronizing the data which is not stored in the non-adjacent nodes to the non-adjacent nodes according to the data access request aiming at the non-adjacent nodes of the distributed nodes.
The distributed data system according to the present invention further comprises:
the client node is used for sending a data access request to the distributed nodes;
the distributed node is further configured to:
when a user accesses the stored data in the distributed node through the client node, the stored data is directly returned to the client node;
when a user accesses the data which is not stored in the distributed nodes through the client nodes, inquiring the data which is not stored in the adjacent nodes of the distributed nodes, if the data which is not stored is inquired, indirectly synchronizing and returning the data which is indirectly inquired to the client nodes, if the data which is not stored is not inquired, repeating the inquiring step until the data which is not stored is inquired and the data which is indirectly inquired is returned to the client nodes, or until all the distributed nodes in the system are inquired,
wherein the data comprises a symmetric key and/or a private key and/or a public key uploaded to and/or generated at the distributed node by the user through the client node.
According to the distributed data system of the invention, the distributed nodes are also used for:
at least one neighbor node is determined based on the results of the link communication quality probes.
According to the distributed data system of the invention, at least one distributed node with small communication delay with the distributed nodes is determined as a neighboring node of the distributed nodes, and other distributed nodes except the neighboring node in the system are determined as non-neighboring nodes of the distributed nodes.
According to the distributed data system of the invention, the distributed nodes are also used for:
according to the data access request for deleting the stored data in the distributed nodes, the corresponding data stored in the distributed nodes, the adjacent nodes of the distributed nodes and the non-adjacent nodes are deleted at the same time, and/or the data obtained through indirect synchronization are automatically deleted after a preset storage time length is not accessed.
The distributed data synchronization method comprises the following steps:
synchronizing data directly to a neighboring node of the distributed node, either actively or upon request, via the distributed node;
and indirectly synchronizing the data which is not stored in the non-adjacent nodes to the non-adjacent nodes according to the data access requests aiming at the non-adjacent nodes of the distributed nodes.
The distributed data synchronization method according to the present invention further comprises:
sending a data access request to the distributed node via the client node;
performing, via the distributed node:
when a user accesses the stored data in the distributed node through the client node, the stored data is directly returned to the client node;
when a user accesses the data which is not stored in the distributed nodes through the client nodes, inquiring the data which is not stored in the adjacent nodes of the distributed nodes, if the data which is not stored is inquired, indirectly synchronizing and returning the data which is indirectly inquired to the client nodes, if the data which is not stored is not inquired, repeating the inquiring step until the data which is not stored is inquired and the data which is indirectly inquired is returned to the client nodes, or until all the distributed nodes in the system are inquired,
wherein the data comprises a symmetric key and/or a private key and/or a public key uploaded to and/or generated at the distributed node by the user through the client node.
The distributed data synchronization method according to the present invention further comprises:
performing, via the distributed node:
at least one neighbor node is determined based on the results of the link communication quality probes.
The distributed data synchronization method according to the present invention further comprises:
performing, via the distributed node:
and determining at least one distributed node with smaller communication delay with the distributed nodes as a neighboring node of the distributed nodes, and determining other distributed nodes except the neighboring node in the system as non-neighboring nodes of the distributed nodes.
The distributed data synchronization method according to the present invention further comprises:
performing, via the distributed node:
according to the data access request for deleting the stored data in the distributed nodes, the corresponding data stored in the distributed nodes, the adjacent nodes of the distributed nodes and the non-adjacent nodes are deleted at the same time, and/or the data obtained through indirect synchronization are automatically deleted after a preset storage time length is not accessed.
According to the technical scheme of the invention, data can be quickly and reliably shared among a plurality of nodes.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention. In the drawings, like reference numerals are used to indicate like elements. The drawings in the following description are directed to some, but not all embodiments of the invention. For a person skilled in the art, other figures can be derived from these figures without inventive effort.
Fig. 1 schematically shows a schematic view of a distributed data system according to the present invention.
Fig. 2(a) - (b) schematically show a schematic flow chart of a distributed data synchronization method according to the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention. It should be noted that the embodiments and features of the embodiments in the present application may be arbitrarily combined with each other without conflict.
Fig. 1 schematically shows a schematic view of a distributed data system according to the present invention.
As shown in fig. 1, the distributed data system according to the present invention includes:
the distributed nodes (denoted in fig. 1 by Nx, such as N1, N2, N3, etc.) are used for actively or upon request, directly synchronizing data to the neighboring nodes of the distributed nodes, and upon request for data access by non-neighboring nodes of the distributed nodes, indirectly synchronizing data not stored in the non-neighboring nodes to the non-neighboring nodes.
For example, the distributed node N5 updates its own data D. N5 synchronizes data D (directly) to its neighboring nodes N4, N6, N7, N8 after updating data D locally. For the neighbor node (i.e., another distributed node) N4 of distributed node N5, although its own neighbor nodes include N5 and N3, N4 does not continue to synchronize data D to N3 because N1, N2, and N3 are all non-neighbor nodes of N5. I.e. the above-mentioned synchronization of data to the distributed nodes' neighbors (directly), either actively or upon request.
If (e.g. a user or other device) it is desired to use data D (e.g. initiate a data access request for non-adjacent node N1), because N1 does not save data D (i.e. for N1, i.e. is the above-mentioned not stored data), N1 needs to initiate a request to synchronize data D to its adjacent node N2, N2, upon receiving the request, because N2 also has no data D, N1 then initiates a request to synchronize data D to its other adjacent node N3, and because N3 also has no data D, N3 then initiates a request to synchronize data D to its adjacent node N4. The N4 node has data D, so the N4 node will return data D to N3, and N3 will continue to return as it did until N1. After obtaining data D, N1 may use data D for subsequent processing. In this process, N2 and N3 will also save data D. That is, data not stored in the non-adjacent node is (indirectly) synchronized to the non-adjacent node according to a data access request for the non-adjacent node of the distributed node.
That is, a distributed node can only synchronize data directly to, or from, its neighbors. If the (user) data acquired by a distributed node is directly synchronized from its neighbors, the (user) data is not continuously synchronized directly to its own other neighbors. The other neighboring nodes are non-neighboring nodes of the neighboring nodes from which the synchronized data is derived.
Although not shown in fig. 1, the distributed data system may optionally further include:
the client node is used for sending a data access request to the distributed nodes;
the distributed node is further configured to:
when a user accesses the stored data in the distributed node through the client node, the stored data is directly returned to the client node;
when a user accesses the data which is not stored in the distributed nodes through the client nodes, inquiring the data which is not stored in the adjacent nodes of the distributed nodes, if the data which is not stored is inquired, indirectly synchronizing and returning the data which is indirectly inquired to the client nodes, if the data which is not stored is not inquired, repeating the inquiring step until the data which is not stored is inquired and the data which is indirectly inquired is returned to the client nodes, or until all the distributed nodes in the system are inquired,
wherein the data comprises a symmetric key and/or a private key and/or a public key uploaded to and/or generated at the distributed node by the user through the client node.
For example, the data access at this time includes:
the user uploads (via the client node) the private key (e.g., generated by the client node) to the distributed node.
That is, the above-described distributed data system according to the present invention may be a distributed KMS system that is composed of a plurality of distributed nodes (i.e., KMS nodes).
At this time, the data directly synchronized by the distributed nodes is a user key (e.g., private key) stored by the distributed nodes. That is, the distributed node synchronizes itself stored user keys directly to its neighboring nodes.
As described above, a KMS node performs direct data synchronization only with its neighbors. That is, not all KMS nodes can communicate directly (i.e., not directly data synchronized).
At this time, each KMS node can serve as a working node to a client (i.e., the above-mentioned client node), i.e., can provide basic functions of the KMS, including uploading, use, generation of keys, and the like.
Optionally, the distributed node is further configured to:
at least one neighbor node is determined based on the results of the link communication quality probes.
Optionally, at least one distributed node with a smaller communication delay with the distributed node is determined as a neighboring node of the distributed node, and other distributed nodes except the neighboring node in the system are determined as non-neighboring nodes of the distributed node.
That is, each distributed node may decide whether to communicate with other distributed nodes (i.e., determine neighboring nodes) on the principle of "best connectivity" (i.e., best quality of link communications-e.g., less delay in link communications). For example, the following specific steps may be employed:
1. each distributed node probes access speed (e.g., the communication delay described above) with other distributed nodes.
2. Based on the detection result of the link communication quality, each distributed node selects a fixed number of 'partner nodes' (namely, the adjacent nodes) for connection, and specifically selects how many numbers can be configured through 'connectivity' indexes.
For example, access speed (access delay) (e.g., in milliseconds/ms) may be used as an indicator of connectivity between nodes. For example, all nodes having an access speed of less than 100 milliseconds may be determined as the neighbor nodes of the node.
3. Each distributed node at least has one adjacent node, and the distributed node without the adjacent node is regarded as an 'isolated node', and the distributed node is regarded as an abnormal node and cannot continuously provide data service.
Therefore, the whole distributed data system is dynamically changed, that is, the relationship between the nodes is not fixed, but can be dynamically adjusted according to the connectivity index between the nodes.
Optionally, the distributed node is further configured to:
according to the data access request for deleting the stored data in the distributed nodes, the corresponding data stored in the distributed nodes, the adjacent nodes of the distributed nodes and the non-adjacent nodes are deleted at the same time, and/or the data obtained through indirect synchronization are automatically deleted after a preset storage time length is not accessed.
For example, the predetermined storage period may be 1 day, 1 week, etc.
Fig. 2(a) - (b) schematically show a schematic flow chart of a distributed data synchronization method according to the present invention.
As shown in the solid line box of fig. 2(a), the distributed data synchronization method according to the present invention includes:
step S202S: synchronizing data directly to a neighboring node of the distributed node, either actively or upon request, via the distributed node;
step S204S: and indirectly synchronizing the data which is not stored in the non-adjacent nodes to the non-adjacent nodes according to the data access requests aiming at the non-adjacent nodes of the distributed nodes.
For example, the distributed data synchronization method may include the following specific steps:
1. each distributed node is started.
2. Each distributed node is initialized.
1) Initializing service functions of each distributed node (e.g., corresponding to the KMS system, which is a key management function)
2) Initializing (link communication quality) probing function for each distributed node
3. And acquiring a 'full node' list so that each distributed node can respectively determine respective adjacent nodes and non-adjacent nodes.
Optionally, as shown by the solid line box of fig. 2(b) and the dashed line box of fig. 2(a), the distributed data synchronization method according to the present invention further includes:
step S202 c: sending a data access request to the distributed node via the client node;
performing, via the distributed node:
step S206S: when a user accesses the stored data in the distributed node through the client node, the stored data is directly returned to the client node;
step S208S: when a user accesses the data which is not stored in the distributed nodes through the client nodes, inquiring the data which is not stored in the adjacent nodes of the distributed nodes, if the data which is not stored is inquired, indirectly synchronizing and returning the data which is indirectly inquired to the client nodes, if the data which is not stored is not inquired, repeating the inquiring step until the data which is not stored is inquired and the data which is indirectly inquired is returned to the client nodes, or until all the distributed nodes in the system are inquired,
wherein the data comprises a symmetric key and/or a private key and/or a public key uploaded to and/or generated at the distributed node by the user through the client node.
For example, the above-described step S206S and step S208S may correspond to the following steps:
A. a user initiates an operation using the private key to a node (e.g., querying the private key or processing data using the private key)
B. If the node has the private key corresponding to the user, the private key is directly used
C. If the node does not have the corresponding private key, the node initiates inquiry to the adjacent node
D. The adjacent nodes repeat the step C until a certain node returns the private key
E. All the participating nodes in step D need to store the private key
This will be described by way of example in connection with fig. 1:
if the user needs to use the previously uploaded private key K (e.g., initiating a request for use from N1), because N1 does not hold the private key K (i.e., the above-described un-stored data), N1 needs to initiate a request to synchronize the private key K to its neighboring node N2, and after N2 receives the request, because it also does not have the private key K, N1 then initiates a request to synchronize the private key K to its other neighboring node N3, eventually reaching N4. The N4 node has a private key K, so the N4 node will return the private key K to N3, and N3 will continue to return as it did until N1. After obtaining the private key K, N1 may process the user's request for use using the private key K. In this process, N2 and N3 also hold the private key K (corresponding to step S202S described above). In this way, all nodes in the KMS network synchronize the private key K.
At this time, the user access includes:
the user uploads (via the client node) the private key (e.g., generated by the client node) to the distributed node.
At this time, in the above-described step S202S, the (directly) synchronized data is a user key (e.g., private key) stored by the distributed node. That is, the distributed node synchronizes its own stored user key to its neighboring nodes, either actively or upon request.
Optionally, as shown in a dashed box of fig. 2(a), the distributed data synchronization method according to the present invention further includes:
performing, via the distributed node:
step S210S: at least one neighbor node is determined based on the results of the link communication quality probes.
For example, all the distributed nodes that are physically connected execute the step S210S, so that each distributed node determines its own adjacent node and non-adjacent node.
Optionally, as shown in a dashed box of fig. 2(a), the distributed data synchronization method according to the present invention further includes:
performing, via the distributed node:
step S212S: and determining at least one distributed node with smaller communication delay with the distributed nodes as a neighboring node of the distributed nodes, and determining other distributed nodes except the neighboring node in the system as non-neighboring nodes of the distributed nodes.
Optionally, as shown in a dashed box of fig. 2(a), the distributed data synchronization method according to the present invention further includes:
performing, via the distributed node:
step S214S: according to the data access request for deleting the stored data in the distributed nodes, the corresponding data stored in the distributed nodes, the adjacent nodes of the distributed nodes and the non-adjacent nodes are deleted at the same time, and/or the data obtained through indirect synchronization are automatically deleted after a preset storage time length is not accessed.
For example, the predetermined storage period may be 1 day, 1 week, etc.
For example, the above step S214S may correspond to the following steps:
A. user sends data access request for deleting stored private key in some designated distributed node
B. The node receiving the data access request sends a deletion instruction to the adjacent nodes
C. Deleting locally stored private key by node receiving deletion instruction
D. The node receiving the deleting instruction repeats step B
This will be described by way of example in connection with fig. 1:
if the user wants to delete private key K, corresponding to the stored data described above (e.g., it initiates a delete request to the N3 node), the N3 node first deletes its own saved private key K, and then notifies N2 and N4 to delete the private key K. Both N2 and N4 perform operations similar to N3, continuing to delete the private key and notifying their neighbors so that the entire network will completely delete the private key K.
According to the technical scheme of the invention, data (such as the key) can be rapidly and reliably shared among a plurality of nodes.
According to the technical scheme of the invention, the method also has the following advantages:
1. data (e.g., keys) are not all synchronized to all nodes, but rather are partially synchronized, saving unnecessary overhead.
2. Distributed data systems (e.g., the KMS networks described above) dynamically change to ensure that the access speed between each node and its neighbors is optimal for the purpose of speeding up data transmission.
3. Each node is only responsible for a limited direct synchronization range, so that the error probability is reduced.
The above-described aspects may be implemented individually or in various combinations, and such variations are within the scope of the present invention.
It will be understood by those of ordinary skill in the art that all or some of the steps of the methods, systems, functional modules/units in the devices disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof. In a hardware implementation, the division between functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may be performed by several physical components in cooperation. Some or all of the components may be implemented as software executed by a processor, such as a digital signal processor or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). The term computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, as is well known to those of ordinary skill in the art. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by a computer. In addition, communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media as known to those skilled in the art.
Finally, it should be noted that: the above examples are only for illustrating the technical solutions of the present invention, and are not limited thereto. Although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.

Claims (10)

1. A distributed data system, comprising:
the distributed node is used for actively or directly synchronizing the data stored in the distributed node to the adjacent nodes of the distributed node according to the data access request, and indirectly synchronizing the data not stored in the non-adjacent nodes to the non-adjacent nodes through the adjacent nodes according to the data access request aiming at the non-adjacent nodes of the distributed node;
when the non-adjacent nodes of the distributed nodes access the data which is not stored in the distributed nodes, inquiring the data which is not stored in the adjacent nodes of the distributed nodes, and if the data which is not stored is inquired, indirectly synchronizing and returning the data which is indirectly inquired and is not stored to the non-adjacent nodes; if the data which is not stored is not inquired, the inquiry step is repeated until the data which is not stored is inquired and the data which is indirectly inquired is returned to the non-adjacent node, or until all the distributed nodes in the system are inquired;
wherein the distributed nodes can only synchronize data directly to or from their neighbors.
2. The distributed data system of claim 1, further comprising:
a client node for sending a data access request to the distributed nodes;
the distributed node is further configured to:
when a user accesses the stored data in the distributed node through the client node, directly returning the stored data to the client node;
when a user accesses the data which is not stored in the distributed nodes through the client nodes, inquiring the data which is not stored in the adjacent nodes of the distributed nodes, if the data which is not stored is inquired, indirectly synchronizing and returning the data which is indirectly inquired to the client nodes, if the data which is not stored is not inquired, repeating the inquiring step until the data which is not stored is inquired and the data which is indirectly inquired is returned to the client nodes, or until all the distributed nodes in the system are inquired completely,
wherein the data comprises a symmetric key and/or a private key and/or a public key uploaded to and/or generated at the distributed node by a user through the client node.
3. The distributed data system of claim 1, wherein the distributed node is further to:
at least one neighbor node is determined based on the results of the link communication quality probes.
4. The distributed data system according to claim 3, wherein at least one distributed node having a smaller communication delay with the distributed nodes is determined as a neighbor node of the distributed nodes, and distributed nodes other than the neighbor node in the system are determined as non-neighbor nodes of the distributed nodes.
5. The distributed data system of claim 2, wherein the distributed node is further configured to:
according to a data access request for deleting the data stored in the distributed nodes, the corresponding data stored in the distributed nodes, the adjacent nodes of the distributed nodes and the non-adjacent nodes are deleted at the same time, and/or the data obtained through indirect synchronization are automatically deleted after a preset storage time length is not accessed.
6. A distributed data synchronization method, comprising:
directly synchronizing, via a distributed node, stored data in the distributed node to a neighboring node of the distributed node, either actively or according to a data access request;
according to a data access request aiming at a non-adjacent node of the distributed nodes, the distributed nodes indirectly synchronize data which are not stored in the non-adjacent node to the non-adjacent node through the adjacent node;
when the non-adjacent nodes of the distributed nodes access the data which is not stored in the distributed nodes, inquiring the data which is not stored in the adjacent nodes of the distributed nodes, and if the data which is not stored is inquired, indirectly synchronizing and returning the data which is indirectly inquired and is not stored to the non-adjacent nodes; if the data which is not stored is not inquired, the inquiry step is repeated until the data which is not stored is inquired and the data which is indirectly inquired is returned to the non-adjacent node, or until all the distributed nodes in the system are inquired;
wherein the distributed nodes can only synchronize data directly to or from their neighbors.
7. The distributed data synchronization method of claim 6, further comprising:
sending a data access request to the distributed node via a client node;
performing, via the distributed node, the steps of:
when a user accesses the stored data in the distributed node through the client node, directly returning the stored data to the client node;
when a user accesses the data which is not stored in the distributed nodes through the client nodes, inquiring the data which is not stored in the adjacent nodes of the distributed nodes, if the data which is not stored is inquired, indirectly synchronizing and returning the data which is indirectly inquired to the client nodes, if the data which is not stored is not inquired, repeating the inquiring step until the data which is not stored is inquired and the data which is indirectly inquired is returned to the client nodes, or until all the distributed nodes in the system are inquired completely,
wherein the data comprises a symmetric key and/or a private key and/or a public key uploaded to and/or generated at the distributed node by a user through the client node.
8. The distributed data synchronization method of claim 6, further comprising:
performing, via the distributed node, the steps of:
at least one neighbor node is determined based on the results of the link communication quality probes.
9. The distributed data synchronization method of claim 8, further comprising:
performing, via the distributed node, the steps of:
and determining at least one distributed node with smaller communication delay with the distributed node as a neighboring node of the distributed node, and determining other distributed nodes except the neighboring node in the system as non-neighboring nodes of the distributed node.
10. The distributed data synchronization method of claim 7, further comprising:
performing, via the distributed node, the steps of:
according to a data access request for deleting the data stored in the distributed nodes, the corresponding data stored in the distributed nodes, the adjacent nodes of the distributed nodes and the non-adjacent nodes are deleted at the same time, and/or the data obtained through indirect synchronization are automatically deleted after a preset storage time length is not accessed.
CN201811128035.8A 2018-09-27 2018-09-27 Distributed data system and distributed data synchronization method Active CN110493300B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811128035.8A CN110493300B (en) 2018-09-27 2018-09-27 Distributed data system and distributed data synchronization method
PCT/CN2019/106550 WO2020063424A1 (en) 2018-09-27 2019-09-19 Distributed data system, distributed data synchronization method, computer storage medium, and computer device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811128035.8A CN110493300B (en) 2018-09-27 2018-09-27 Distributed data system and distributed data synchronization method

Publications (2)

Publication Number Publication Date
CN110493300A CN110493300A (en) 2019-11-22
CN110493300B true CN110493300B (en) 2021-11-23

Family

ID=68545740

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811128035.8A Active CN110493300B (en) 2018-09-27 2018-09-27 Distributed data system and distributed data synchronization method

Country Status (2)

Country Link
CN (1) CN110493300B (en)
WO (1) WO2020063424A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101090401A (en) * 2007-05-25 2007-12-19 金蝶软件(中国)有限公司 Data buffer store method and system at duster environment
CN106506704A (en) * 2016-12-29 2017-03-15 北京奇艺世纪科技有限公司 A kind of buffering updating method and device
CN106937327A (en) * 2017-03-22 2017-07-07 安徽师范大学 The network-building method of the wireless sensor network based on backup node

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1326045C (en) * 2003-06-09 2007-07-11 浪潮电子信息产业股份有限公司 Method for constructing high-available distributed memory system
CN101932065B (en) * 2010-07-30 2013-03-27 中国科学院软件研究所 Method for discovering distributed satellite network resources
FR2983018B1 (en) * 2011-11-22 2014-01-10 Thales Sa INFORMATION TRANSMISSION NETWORK AND PROGRAMMABLE NETWORK NUTS
US9525735B2 (en) * 2013-10-30 2016-12-20 Futurewei Technologies, Inc. Lock elevation in a distributed file storage system
CN107947955A (en) * 2016-10-13 2018-04-20 中国科学院声学研究所 One kind combines virtual tree mapping and central network robustness Enhancement Method
CN106648970A (en) * 2016-11-04 2017-05-10 北京华为数字技术有限公司 File backup method and distributed file system
CN106851741B (en) * 2016-12-10 2020-02-28 浙江大学 Distributed mobile node file caching method based on social relation in cellular network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101090401A (en) * 2007-05-25 2007-12-19 金蝶软件(中国)有限公司 Data buffer store method and system at duster environment
CN106506704A (en) * 2016-12-29 2017-03-15 北京奇艺世纪科技有限公司 A kind of buffering updating method and device
CN106937327A (en) * 2017-03-22 2017-07-07 安徽师范大学 The network-building method of the wireless sensor network based on backup node

Also Published As

Publication number Publication date
CN110493300A (en) 2019-11-22
WO2020063424A1 (en) 2020-04-02

Similar Documents

Publication Publication Date Title
CN109218348B (en) Method for determining blocks in block chain and node equipment
US8612386B2 (en) Method and apparatus for peer-to-peer database synchronization in dynamic networks
CN112968967A (en) Block synchronization method and device
WO2019134648A1 (en) Implementation method and device for control plane resource migration, and network function entity
KR101871383B1 (en) Method and system for using a recursive event listener on a node in hierarchical data structure
US20170031948A1 (en) File synchronization method, server, and terminal
US10972296B2 (en) Messaging to enforce operation serialization for consistency of a distributed data structure
JP2018515850A (en) Data copy method and device
CN110493300B (en) Distributed data system and distributed data synchronization method
EP3939236B1 (en) Node and cluster management on distributed self-governed ecosystem
US20150189019A1 (en) Managing network attached storage
CN107465706B (en) Distributed data object storage device based on wireless communication network
KR101342258B1 (en) Deistributed data management system and method thereof
CN112328685A (en) Full-peer distributed database data synchronization method
CN109344202B (en) Data synchronization method and management node
CN111200623A (en) Method and system for realizing terminal data synchronization based on distributed storage
WO2020063650A1 (en) Distributed data management system and management method, computer storage medium and computer device
CN114880717A (en) Data archiving method and device
CN114338714A (en) Block synchronization method and device, electronic equipment and storage medium
CN114338724A (en) Block synchronization method and device, electronic equipment and storage medium
JP2016502374A (en) Method, base station, and network system for automatically deleting X2 configuration
US11366827B2 (en) Data replication
Gupta et al. Efficient data replication algorithm for mobile Ad-hoc networks
CN114328733A (en) Data synchronization method and system based on block chain
CN114363359A (en) Block synchronization method and device, electronic 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