IP Library Granted Patent US 11,205,006
Granted Patent B2
US 11,205,006 · App. 16/175,503 · Granted Dec 21, 2021

Data storage nodes collaboration and data processing for data statistical analysis

Inventor: Wenzhen Lin (Hangzhou, CN)
Assignee: Advanced New Technologies Co., Ltd.
G06F21/602G06F3/067G06F3/0623G06F3/0659G06F21/6245H04L9/085H04L9/0894H04L2209/46
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,205,006
App. No.
16/175,503
Granted
Dec 21, 2021
Kind
B2
Abstract

Data storage nodes that participate in a requested data statistical analysis as participant data storage nodes are determined and divided into a plurality of node sets. Data stored in each participant data storage node associated with a particular node set is encrypted, where the encrypted data is divided into a number of fragments at least equal to a number of participant data storage nodes associated with the particular node set. Each participant data storage node sends a portion of the encrypted data to each of the other participant data storage nodes within the particular node set. Each participant data storage node processes received encrypted data and data remaining on the particular participant data storage node to obtain a processing result. Each participant data storage node sends the processing result to a proxy node, wherein the proxy node performs data statistical analysis based on the processing result.

Claims (58)

1. A computer-implemented method, comprising:

receiving, by a plurality of data storage nodes, a request for performing a data statistical analysis;

determining, by a plurality of data storage nodes, a plurality of contribution values corresponding to the plurality of data storage nodes, wherein the plurality of contribution values represent historical data contributions of corresponding plurality of data storage nodes to a proxy node;

determining, from the plurality of data storage nodes and based on the plurality of contribution values, data storage nodes that have higher historical data contributions to the proxy node, compared to a remainder of the plurality of data storage nodes, to participate in the data statistical analysis as participant data storage nodes;

dividing the participant data storage nodes into a plurality of node sets;

encrypting, at each participant data storage node associated with a particular node set, data stored in the participant data storage node corresponding to the request to generate encrypted data, wherein the encrypted data is divided into a number of fragments at least equal to a number of participant data storage nodes associated with the particular node set;

sending, by each participant data storage node, a portion of the encrypted data to each of other participant data storage nodes within the particular node set;

processing, at each participant data storage node, the encrypted data received from other participant data storage nodes and remaining on a particular participant data storage node to obtain a processing result; and

sending, from each participant data storage node, the processing result to a proxy node, wherein the proxy node performs data statistical analysis based on the processing result.

2. The computer-implemented method of claim 1 , wherein a number of the node sets is at least 3, and wherein a number of participant data storage nodes comprising each node set is within a range of 3 to 5.

3. The computer-implemented method of claim 1 , wherein the data storage nodes that have made more frequent historical data contributions to the proxy node have higher historical data contributions to the proxy node and higher contribution values compared to the remainder of the plurality of data storage nodes that participate in the data statistical analysis are determined by a heartbeat detection method or based on a contribution value associated with each data storage node.

4. The computer-implemented method of claim 1 , further comprising:

prior to receiving the request for performing a data analysis, dividing the plurality of data storage nodes into multiple executive regions based on a predetermined division method at a completion of a specific time period; or

each time when a request for performing a data analysis is received, dividing the plurality of data storage nodes into multiple executive regions based on a predetermined division method.

5. The computer-implemented method of claim 4 , wherein the plurality of data storage nodes are divided into multiple executive regions randomly or based on geographical locations associated with the data storage nodes.

6. The computer-implemented method of claim 1 , wherein encrypting data stored comprises:

for each participant data storage node, determining data corresponding to identification information included in the request; and

encrypting the data by using a secret sharing (SS) algorithm to obtain encrypted data.

7. The computer-implemented method of claim 1 , wherein processing the encrypted data comprises adding the encrypted data received from other data storage nodes and remaining on that particular data storage node together to generate a sum result.

8. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:

receiving, by a plurality of data storage nodes, a request for performing a data statistical analysis;

determining, by a plurality of data storage nodes, a plurality of contribution values corresponding to the plurality of data storage nodes, wherein the plurality of contribution values represent historical data contributions of corresponding plurality of data storage nodes to a proxy node;

determining, from the plurality of data storage nodes and based on the plurality of contribution values, data storage nodes that have higher historical data contributions to the proxy node, compared to a remainder of the plurality of data storage nodes, to participate in the data statistical analysis as participant data storage nodes;

dividing the participant data storage nodes into a plurality of node sets;

encrypting, at each participant data storage node associated with a particular node set, data stored in the participant data storage node corresponding to the request to generate encrypted data, wherein the encrypted data is divided into a number of fragments at least equal to a number of participant data storage nodes associated with the particular node set;

sending, by each participant data storage node, a portion of the encrypted data to each of other participant data storage nodes within the particular node set;

processing, at each participant data storage node, the encrypted data received from other participant data storage nodes and remaining on a particular participant data storage node to obtain a processing result; and sending, from each participant data storage node, the processing result to a proxy node, wherein the proxy node performs data statistical analysis based on the processing result.

9. The non-transitory, computer-readable medium of claim 8 , wherein a number of the node sets is at least 3, and wherein a number of participant data storage nodes comprising each node set is within a range of 3 to 5.

10. The non-transitory, computer-readable medium of claim 8 , wherein the data storage nodes that have made more frequent historical data contributions to the proxy node have higher historical data contributions to the proxy node and higher contribution values compared to the remainder of the plurality of data storage nodes that participate in the data statistical analysis are determined by a heartbeat detection method or based on a contribution value associated with each data storage node.

11. The non-transitory, computer-readable medium of claim 8 , further comprising one or more instructions to:

prior to receiving the request for performing a data analysis, divide the plurality of data storage nodes into multiple executive regions based on a predetermined division method at a completion of a specific time period; or

each time when a request for performing a data analysis is received, divide the plurality of data storage nodes into multiple executive regions based on a predetermined division method.

12. The non-transitory, computer-readable medium of claim 11 , wherein the plurality of data storage nodes are divided into multiple executive regions randomly or based on geographical locations associated with the data storage nodes.

13. The non-transitory, computer-readable medium of claim 8 , wherein encrypting data stored comprises one or more instructions to:

for each participant data storage node, determine data corresponding to identification information included in the request; and

encrypt the data by using a secret sharing (SS) algorithm to obtain encrypted data.

14. The non-transitory, computer-readable medium of claim 8 , wherein processing the encrypted data comprises one or more instructions to add the encrypted data received from other data storage nodes and remaining on that particular data storage node together to generate a sum result.

15. A computer-implemented system, comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising:

receiving, by a plurality of data storage nodes, a request for performing a data statistical analysis;

determining, by a plurality of data storage nodes, a plurality of contribution values corresponding to the plurality of data storage nodes, wherein the plurality of contribution values represent historical data contributions of corresponding plurality of data storage nodes to a proxy node;

determining, from the plurality of data storage nodes and based on the plurality of contribution values, data storage nodes that have higher historical data contributions to the proxy node, compared to a remainder of the plurality of data storage nodes, to participate in the data statistical analysis as participant data storage nodes;

dividing the participant data storage nodes into a plurality of node sets;

encrypting, at each participant data storage node associated with a particular node set, data stored in the participant data storage node corresponding to the request to generate encrypted data, wherein the encrypted data is divided into a number of fragments at least equal to a number of participant data storage nodes associated with the particular node set;

sending, by each participant data storage node, a portion of the encrypted data to each of other participant data storage nodes within the particular node set;

processing, at each participant data storage node, the encrypted data received from other participant data storage nodes and remaining on a particular participant data storage node to obtain a processing result; and

sending, from each participant data storage node, the processing result to a proxy node, wherein the proxy node performs data statistical analysis based on the processing result.

16. The computer-implemented system of claim 15 , wherein a number of the node sets is at least 3, and wherein a number of participant data storage nodes comprising each node set is within a range of 3 to 5.

17. The computer-implemented system of claim 15 , wherein the data storage nodes that have made more frequent historical data contributions to the proxy node have higher historical data contributions to the proxy node and higher contribution values compared to the remainder of the plurality of data storage nodes that participate in the data statistical analysis are determined by a heartbeat detection method or based on a contribution value associated with each data storage node.

18. The computer-implemented system of claim 15 , further comprising one or more operations to:

prior to receiving the request for performing a data analysis, divide the plurality of data storage nodes into multiple executive regions based on a predetermined division method at a completion of a specific time period; or

each time when a request for performing a data analysis is received, divide the plurality of data storage nodes into multiple executive regions based on a predetermined division method; and

wherein the plurality of data storage nodes are divided into multiple executive regions randomly or based on geographical locations associated with the data storage nodes.

19. The computer-implemented system of claim 15 , wherein encrypting data stored comprises one or more operations to:

for each participant data storage node, determine data corresponding to identification information included in the request; and

encrypt the data by using a secret sharing (SS) algorithm to obtain encrypted data.

20. The computer-implemented system of claim 15 , wherein processing the encrypted data comprises one or more operations to add the encrypted data received from other data storage nodes and remaining on that particular data storage node together to generate a sum result.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053754/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053743/0464 →
CORRECTIVE ASSIGNMENT TO CORRECT THE FORMAT OF ASSIGNEE ADDRESS PREVIOUSLY RECORDED AT REEL: 048752 FRAME: 0804. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 11, 2019
From: LIN, WENZHEN
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 048858/0388 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2019
From: LIN, WENZHEN
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 048752/0804 →