Automatic data replica manager in distributed caching and data processing systems
US-2018069944-A1 · Mar 8, 2018 · US
US11606428B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11606428-B2 |
| Application number | US-202217847324-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 23, 2022 |
| Priority date | Jun 23, 2021 |
| Publication date | Mar 14, 2023 |
| Grant date | Mar 14, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A data synchronization device is provided, including a control module, a data block storage module and an encoding/decoding module. A data synchronization method using the device is also provided, including: selecting, by the control module, a data transmission network node and selecting the to-be-synchronized data block of a data transmission network node from the data storage module; encapsulating the to-be-synchronized data block in a specific format and then broadcasting the encapsulated data, where if there are two or more to-be-synchronized data blocks, the to-be-synchronized data blocks are encoded and then encapsulated; otherwise, the to-be-synchronized data block is directly encapsulated; processing, by the encoding/decoding module, the encapsulated data to obtain the to-be-synchronized data block, and finally inputting the obtained to-be-synchronized data block into the data block storage module.
Opening claim text (preview).
What is claimed is: 1. A data synchronization device for data synchronization among network nodes, comprising: a control module; a data block storage module; and an encoding/decoding module; wherein the control module is configured to select a data transmission network node, select a to-be-synchronized data block from the data block storage module, and input the to-be-synchronized data block into the encoding/decoding module; the encoding/decoding module is configured to encode and encapsulate the to-be-synchronized data block, as well as broadcast and decode the encapsulated data, according to network coding/decoding algorithms; wherein if the number of the to-be-synchronized data block is one, the to-be-synchronized data block is encapsulated directly without network-encoding, and if the number of the to-be-synchronized data block is more than one, to-be-synchronized data blocks are network-encoded according to given rules and then encapsulated; afterwards, the encapsulated data are broadcasted; the to-be-synchronized data block is selected by the control module through steps of: for a network node n, traversing a to-be-synchronized data block candidate set that is formed by all data blocks stored locally in the network node n, to obtain a data block set as a to-be-synchronized data block set, wherein the to-be-synchronized data block set is selected such that for the network node n, the number of its neighbor nodes capable of obtaining a new data block through decoding data that are encapsulated and broadcasted by the network node n reaches a maximum β n ; and when there is only one data block that is involved in a network-encoding process but is not locally stored in a neighbor node of the network node n, the neighbor node is capable of decoding the encapsulated data; and n=1, 2, . . . N, wherein N represents the number of network nodes performing data synchronization; the data transmission network node is selected by the control module through steps of: for a network node n, obtaining the maximum β n according to the to-be-synchronized data block, and calculating a ratio of β n /M n ; selecting a network node with a maximum ratio of β n /M n from all network nodes as the data transmission network node, wherein M n represents the number of neighbor nodes of the network node n; and the encoding/decoding module is configured to process the encapsulated data according to network decoding algorithms to recover the to-be-synchronized data block, and input the to-be-synchronized data block into the data block storage module. 2. The data synchronization device of claim 1 , wherein the encoding/decoding module is configured to encapsulate encoded or uncoded data blocks in a specific format; and the specific format comprises a Type field, a Num field, a Packet field, and a Message field, wherein the Type field is configured to identify whether data blocks are encoded; the Num field is configured to indicate a total length of encapsulated data blocks; the Packet field is configured to store an index associated with the to-be-synchronized data block; and the Message field is configured to store uncoded to-be-synchronized data blocks or encoded to-be-synchronized data blocks. 3. The data synchronization device of claim 2 , wherein the encoding/decoding module is configured to determine whether the to-be-synchronized data block is encoded according to the Type field in the encapsulated data, if yes, indices of data blocks involved in encoding are obtained from the Packet field, and the to-be-synchronized data block is acquired by decoding the Message field; and if not, the to-be-synchronized data block is directly obtained from the Message field. 4. The data synchronization device of claim 1 , wherein after each data synchronization process is executed, the control module is configured to determine whether the number of data blocks stored in the data block storage module of a current network node is equal to the number of data blocks required to be synchronized in a current data synchronization process, if not, it indicates that data synchronization with respect to the current network node is not completed, and if yes, it indicates that the data synchronization with respect to the current network node has been completed. 5. The data synchronization device of claim 2 , wherein after each data synchronization process is executed, the control module is configured to determine whether the number of data blocks stored in the data block storage module of a current network node is equal to the number of data blocks required to be synchronized in a current data synchronization process, if not, it indicates that data synchronization with respect to the current network node is not completed, and if yes, it indicates that the data synchronization with respect to the current network node has been completed. 6. The data synchronization device of claim 3 , wherein after each data synchronization process is executed, the control module is configured to determine whether the number of data blocks stored in the data block storage module of a current network node is equal to the number of data blocks required to be synchronized in a current data synchronization process, if not, it indicates that data synchronization with respect to the current network node is not completed, and if yes, it indicates that the data synchronization with respect to the current network node has been completed. 7. The data synchronization device of claim 1 , wherein the control module is configured to determine all to-be-synchronized data blocks of a current network node at an initial stage of data synchronization, and then encapsulate and broadcast the to-be-synchronized data blocks without encoding. 8. The data synchronization device of claim 2 , wherein the control module is configured to determine all to-be-synchronized data blocks of a current network node at an initial stage of data synchronization, and then encapsulate and broadcast the to-be-synchronized data blocks without encoding. 9. The data synchronization device of claim 3 , wherein the control module is configured to determine all to-be-synchronized data blocks of a current network node at an initial stage of data synchronization, and then encapsulate and broadcast the to-be-synchronized data blocks without encoding. 10. The data synchronization device of claim 1 , wherein the data block storage module is configured to detect whether the to-be-synchronized data block input by the encoding/decoding module is stored in a current network node, if not, the to-be-synchronized data block is indicated as a new data block, and then stored in the data block storage module. 11. A data synchronization method, comprising: (S1) at an initial stage of data synchronization, determining a to-be-synchronized data block of a network node executing data synchronization; and encapsulating the to-be-synchronized data block without encoding followed by broadcasting; (S2) after receiving encapsulated data, allowing a neighbor node to acquire the to-be-synchronized data block from the encapsulated data; and if the to-be-synchronized data block is not locally stored in the neighbor node, the to-be-synchronized data block is indicated as a new data block, and then stored locally in the neighbor node; (S3) allowing individual network nodes to count and update the number of locally stored data blocks; and determining whether the data synchronization is completed, if yes, ending the data synchronization; otherwise, proceeding to step (S4); (S4) selecting a to-be-synchronized data block set by individual network nodes and determining a data transmission network node through steps of: for a network node n perfor
arrangements specific to the transmitter · CPC title
Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes · CPC title
arrangements specific to the receiver · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.