CN110120949B - Data storage method and data storage system - Google Patents

Data storage method and data storage system Download PDF

Info

Publication number
CN110120949B
CN110120949B CN201910390347.4A CN201910390347A CN110120949B CN 110120949 B CN110120949 B CN 110120949B CN 201910390347 A CN201910390347 A CN 201910390347A CN 110120949 B CN110120949 B CN 110120949B
Authority
CN
China
Prior art keywords
data
node
lost
change
function
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
CN201910390347.4A
Other languages
Chinese (zh)
Other versions
CN110120949A (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.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications 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 China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN201910390347.4A priority Critical patent/CN110120949B/en
Publication of CN110120949A publication Critical patent/CN110120949A/en
Application granted granted Critical
Publication of CN110120949B publication Critical patent/CN110120949B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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]

Abstract

The invention provides a data storage method and a data storage system, wherein the method comprises the following steps: when a certain node stores new data, performing the last historical data acquisition of other nodes as recursion data; inputting the recursive data into a primary function, and calculating primary proxy data; inputting the primary proxy data and the new data into a secondary function to calculate secondary proxy data; the second-level proxy data is stored to the node as the encrypted data of the new data, and the node is recorded as the current change factor; wherein the current change factor indicates that the current data change is caused by the node. The method appoints a weighting function for data of different nodes, and can realize the credible storage and recovery of the data through a recursion reverse-pushing algorithm.

Description

Data storage method and data storage system
Technical Field
The invention belongs to the technical field of communication, and particularly relates to a data storage method and a data storage system.
Background
In the internet era, business application is rapidly increased, and the accompanying large data operation becomes a normal state, and the operation of mass data brings huge pressure to system capacity. Meanwhile, attack means such as virus trojan and the like are continuously increased, data are in risks of loss, tampering and counterfeiting, and the data security problem is increasingly highlighted.
The existing data storage mostly depends on single hardware, a cooperation mechanism among different users or data nodes is lacked, and the lost data cannot be effectively retrieved while the load of the single node is overloaded. Cannot meet the high security requirements of highly sensitive fields or personal private data.
Disclosure of Invention
The invention provides a data storage method and a data storage system aiming at the problems in the prior art, the method appoints a weighting function for data of different nodes, the credible storage and recovery of the data can be realized through a recursive reverse-push algorithm, the data storage method can relieve the load pressure of a single node, and the safe storage and use requirements of high-sensitive data, particularly data such as finance, privacy and the like can be met.
The invention provides a data storage method, which comprises the following steps:
when a node stores new data, execution is performed
Step S10: acquiring historical data of other nodes at the last time as recursion data;
step S11: inputting the recursive data into a primary function to calculate primary proxy data;
step S12: inputting the primary proxy data and the new data into a secondary function to calculate secondary proxy data;
step S13: the second-level proxy data is used as the encrypted data of the new data and stored to the node, and the node is recorded as the current change factor; wherein the current change factor indicates that the current data change is caused by the node.
Preferably, the method further comprises the following steps: when a node loses a single data, if the node is the k-th change factor, executing the step S10-the step S13 to retrieve the lost single data; the lost single data is the encrypted data of the node at the k-th change; the k-th change factor indicates that a single data loss is caused by the node in the k-th change.
Preferably, the method further comprises the following steps: when a node loses a single data, if the node is a non-kth changing factor, step S20' is performed: acquiring encrypted data of the node when the node is changed for the (k-1) th time, and taking the encrypted data of the node when the node is changed for the (k-1) th time as lost single data; the encrypted data is the second-level proxy data obtained by the node in the k-1 th change;
or, carry out
Step S20: acquiring data information of the node in the k +1 th change; the data information comprises the new data and the recursion data of the node at the k +1 th change;
step S21: the node takes the inverse function of the secondary function for the secondary proxy data obtained when the node changes for the (k + 1) th time, and substitutes the new data of the node when the node changes for the (k + 1) th time to calculate the primary proxy data;
step S22: taking an inverse function of the primary function for the primary proxy data, substituting the recursive data of other nodes when the node is changed for the (k + 1) th time, calculating the recursive data of the node when the node is changed for the (k + 1) th time, and taking the recursive data of the node when the node is changed for the (k + 1) th time as single data lost by the node;
wherein the non-kth change factor indicates that the lost single data is not caused by the node in the kth change.
Preferably, the method further comprises the following steps: when a node loses a plurality of data, if the node is the k-th variation factor, executing the step S10-the step S13 to sequentially retrieve the lost data;
if the node is not the k-th variation factor, the step S20' or the steps S20-S22 are executed to retrieve the missing data in sequence.
Preferably, the method further comprises the following steps: when a plurality of nodes lose data, judging whether the lost data have a direct function weighting relation; the direct function weighting relation means that the node data is used as the input or output data of the primary function and the secondary function in the same change;
if not, if the node is the k-th variation factor, executing the step S10-the step S13 to retrieve the lost data of the node; if the node is the non-kth variation factor, executing the step S20' or the step S20-the step S22 to retrieve the data lost by the node;
if so, judging whether the number of the data lost at the same time exceeds the number of the data allowed to be lost by the primary function and the secondary function; if so, checking the data of the adjacent batches before and after the lost data, and assigning values to the lost batch data by taking the data of the last adjacent changed batch from the nodes of the non-changed factors of each batch;
after assignment, if the number of the remaining lost data still exceeds the number of the data allowed to be lost by the primary function and the secondary function, rebuilding a chain;
or after the value is assigned, if the number of the remaining lost data is within the range of the number of the loss allowed by the primary function and the secondary function, for the node serving as the change factor, executing the step S10-the step S13 to retrieve the lost data of the node; for a node as a non-variation factor, executing the step S20' or the step S20-the step S22 to retrieve the data lost by the node.
Preferably, a node comprises a newly added node.
The present invention also provides a data storage system comprising:
the first acquisition module is used for acquiring the last historical data of other nodes as recursion data when a certain node stores new data;
the first calculation module is used for inputting the recursive data into a primary function and calculating primary proxy data;
the second calculation module is used for inputting the primary proxy data and the new data into a secondary function to calculate secondary proxy data;
the storage module is used for storing the secondary proxy data serving as the encrypted data of the new data to the node and recording the node as the current change factor; wherein the current change factor indicates that the current data change is caused by the node.
Preferably, the first obtaining module is further configured to, when a node loses a single data and the node is a kth change factor, obtain last history data of other nodes as recursive data;
the storage module is further configured to store, when a node loses a single data and the node is a k-th change factor, the encrypted data of the node at the k-th change as the single data lost by the node;
the k-th change factor indicates that a single data loss is caused by the node in the k-th change.
Preferably, the method further comprises the following steps:
the obtaining and assigning module is used for obtaining the encrypted data of the node when the node changes for the (k-1) th time when a single data is lost and the node is a non-kth time change factor, and taking the encrypted data of the node when the node changes for the (k-1) th time as the single data lost by the node; the encrypted data is the second-level proxy data obtained by the node in the k-1 th change;
the data storage system further comprises:
the second obtaining module is used for obtaining the data information of a node when the node changes for the (k + 1) th time when the node loses a single data and the node is a non-kth change factor; the data information comprises the new data and the recursion data of the node at the k +1 th change;
the third calculation module is used for taking an inverse function of the secondary function for the secondary proxy data obtained when the node changes for the (k + 1) th time, substituting the inverse function into the new data of the node when the node changes for the (k + 1) th time, and calculating the primary proxy data;
the fourth calculation module is used for taking an inverse function of the primary function for the primary proxy data, substituting the inverse function into the recursion data of other nodes when the nodes change for the (k + 1) th time, and calculating the recursion data of the nodes when the nodes change for the (k + 1) th time;
the assignment module is used for taking the recursion data of the node when the node changes for the (k + 1) th time as the single data lost by the node;
wherein the non-kth change factor indicates that the lost single data is not caused by the node in the kth change.
Preferably, the first obtaining module is further configured to, when a node loses multiple data and the node is a kth change factor, obtain last history data of other nodes as recursive data;
the storage module is further configured to store, when a node loses multiple data and the node is a k-th change factor, the encrypted data of the node at the k-th change as data lost by the node;
the obtaining and assigning module is further used for obtaining the encrypted data of the node when the node changes for the (k-1) th time when a plurality of data are lost and the node is a non-kth time change factor, and taking the encrypted data of the node when the node changes for the (k-1) th time as the data lost by the node;
the second obtaining module is further configured to obtain data information of a node when the node changes for the (k + 1) th time when the node loses multiple data and the node is a non-kth change factor;
the assignment module is further configured to, when a node loses a plurality of data and the node is a non-kth change factor, use the recursive data of the node in the k +1 th change as the data lost by the node.
Preferably, the method further comprises the following steps:
the first judgment module is used for judging whether the lost data has a direct function weighting relation when the data are lost by the nodes; the direct function weighting relation means that the node data is used as the input or output data of the primary function and the secondary function in the same change;
the second judging module is used for judging whether the number of the data lost at the same time exceeds the number of the data allowed to be lost by the primary function and the secondary function when a plurality of nodes lose the data;
the checking and assigning module is used for checking the data of the adjacent batches before and after the lost data when the judgment result of the second judging module is yes, and assigning the data of the last adjacent changed batch from the nodes of the non-changed factors of each batch to the lost batch data;
the third judging module is used for judging whether the number of the residual lost data still exceeds the number of the data allowed to be lost by the primary function and the secondary function after the value is assigned by the checking and assigning module;
and the rebuilding module is used for rebuilding the link when the judgment result of the third judging module is yes.
Preferably, a node comprises a newly added node.
The invention has the beneficial effects that: the data storage method provided by the invention can realize credible storage and recovery of data by appointing a weighting function for different node data and adopting a recursive reverse-pushing algorithm, can relieve the load pressure of a single node, and can meet the safe storage and use requirements of high-sensitivity data, particularly data such as finance and privacy.
The data storage system provided by the invention can realize credible storage and retrieval of data by appointing a weighting function for different node data and adopting a recursive reverse-pushing algorithm.
Drawings
FIG. 1 is a flowchart of a data storage method according to embodiment 1 of the present invention;
fig. 2 is a flowchart of retrieving single data lost by a node with a non-kth variation factor in the data storage method according to embodiment 2 of the present invention;
fig. 3 is a flowchart of retrieving data lost by a plurality of nodes in the data storage method according to embodiment 4 of the present invention;
fig. 4 is a schematic block diagram of a data storage system according to embodiment 6 of the present invention.
Wherein the reference numerals are:
1. a first acquisition module; 2. a first calculation module; 3. a second calculation module; 4. a storage module; 5. obtaining an assignment module; 6. a second acquisition module; 7. a third calculation module; 8. a fourth calculation module; 9. a valuation module; 10. a first judgment module; 11. a second judgment module; 12. viewing the assignment module; 13. a third judgment module; 14. and a reconstruction module.
Detailed Description
In order to make the technical solutions of the present invention better understood by those skilled in the art, a data storage method and a data storage system according to the present invention are described in further detail below with reference to the accompanying drawings and the detailed description.
Example 1:
the present embodiment provides a data storage method, as shown in fig. 1, including:
when a node stores new data, execution is performed
Step S10: and acquiring the last history data of other nodes as recursion data.
The historical data refers to data saved by other nodes all the time.
Step S11: and inputting the recursive data into a primary function to calculate primary proxy data.
Step S12: and inputting the primary proxy data and the new data into a secondary function to calculate secondary proxy data.
The first-level proxy data is data obtained after being weighted by a first-level function, and the second-level proxy data is data obtained after being weighted by a second-level function.
Step S13: and storing the secondary proxy data as the encrypted data of the new data to the node, and recording the node as the current change factor. Wherein the current change factor indicates that the current data change is caused by the node.
Wherein a node refers to a data storage node in the system. The data is stored by the corresponding nodes according to the sources of the data, and each node stores history data and related configuration parameters in the partition.
According to the data storage method, when new data needs to be stored, the first-level proxy data is recurred after the weighting of the first-level function of the last historical data of other nodes according to a convention algorithm, the second-level function weighting is carried out on the first-level proxy data and newly added data, and the second-level proxy data is obtained and stored as encrypted data of the new data.
For example: suppose each node is X1、X2、Xi…Xn. Node XnJ (th) encrypted data Dn jWhere j is 1, 2 … … m. New data DoriAnd (4) showing. The first order function is denoted as F1The second order function is expressed as F2. The primary proxy data is denoted C1The second level proxy data is represented as C2
Suppose that currently it is a certain node X in the systemiThe jth data change of (2), before the change is completed, the last historical data of each node is Dn j-1. A certain node XiIs new data of Diori. New data Di oriThe encrypted data of (2) is estimated as follows:
the primary proxy data is:
C1=F1(D1 j-1、D2 j-1、D3 j-1……Dn j-1)
the secondary proxy data is:
C2=F2(C1、Di ori)
C2as the final encryption result D of the current change data of the nodei jAnd the new data is stored in the node partition and is invisible to the outside.
The data storage method is used for encrypting and weighting the data according to the sequence, the data results are identified and credible, the data cannot be tampered, the credible storage of the data can be effectively realized, the load pressure of a single node can be relieved, and the safe storage and use requirements of high-sensitivity data, particularly data such as finance and privacy, can be met.
Example 2:
the present embodiment provides a data storage method, and on the basis of embodiment 1, the data storage method further includes: when a node loses a single data, if the node is the k-th change factor, the steps S10-S13 are executed to retrieve the lost single data. The single data lost at this time is the encrypted data of the node at the kth change. The k-th change factor indicates that a single data loss is caused by the node in the k-th change.
Wherein, the single data lost by a certain node is the encrypted data stored by the node at the kth time. The k-th time represents any change of the node data.
For example: the single data lost by a node is assumed to be Di kCorresponding new data Dj oriAre known. The node is the kth change factor, and a recursion algorithm is used:
C1=F1(D1 k、D2 k…Di-1 k、Di+1 k……Dn k)
the data lost by the node is as follows:
Di k=F2(C1、Dj ori)
lost data D to be retrievedi kAnd re-recording the system data chain, and using the recovery time mark as recovery data.
The data storage method further comprises the following steps: as shown in figure 2 of the drawings, in which,
when a node loses a single data, if the node is a non-kth changing factor, step S20' is performed: and acquiring the encrypted data of the node at the k-1 time of change, and taking the encrypted data of the node at the k-1 time of change as the lost single data. The encrypted data is the second-level proxy data obtained by the node at the k-1 time of change.
Wherein the non-kth change factor indicates that the missing single data is not caused by the node in the kth change. The k-th time represents any change of the node data. The k-1 th time indicates the last time of the k-th time.
Since the node data of the node is kept unchanged after the k-1 time of change to before the k-1 time of change, if the encrypted data of the node at the k-1 time of change can be acquired, the encrypted data can be assigned to the lost single data.
If the node fails to acquire the encrypted data in the k-1 th change, the method executes
Step S20: and acquiring data information of the node at the k +1 th change. The data information includes new data and recursion data of the node at the k +1 th change.
Step S21: the node takes the inverse function of the secondary function for the secondary proxy data obtained when the node changes for the (k + 1) th time, and substitutes the inverse function for the new data of the node when the node changes for the (k + 1) th time to calculate the primary proxy data.
Step S22: and taking an inverse function of the primary function for the primary proxy data, substituting recursive data of other nodes in the k +1 th change, calculating the recursive data of the node in the k +1 th change, and taking the recursive data of the node in the k +1 th change as single data lost by the node.
Wherein the non-kth change factor indicates that the missing single data is not caused by the node in the kth change. The k-th time represents any change of the node data. The k +1 th time indicates the next time of the k-th time.
Since the node data of the node is kept unchanged after the kth change to before the kth +1 th change, if the encrypted data of the node at the kth +1 th change can be obtained, the single data lost by the node can be obtained by reversely deducing the encrypted data through the inverse function of the second-order function and the inverse function of the first-order function.
For example: suppose that the node of the change is h, and the encrypted data after the k +1 th change is Dh k+1Informing node h to push back C providing this time1Information according to C1Reversely deducing the data D lost at this time by a certain node jj k
And (3) a reverse-thrust algorithm:
according to Dh k+1=F2(C1、Dh ori) Node h to Dh k+1Taking inverse function F2 -1And substituted into Dh oriCalculate C1
According to C1=F1(D1 k、D2 k、D3 k……Dn k) To C1Taking inverse function F1 -1Substituting the k-th encrypted data into the k-th encrypted data of each node except the j node on the data chain to calculate Dj k
And re-recording the retrieved lost data into the system data chain, and marking the retrieved lost data as the retrieved data together with the retrieval time mark.
The data storage method can realize data retrieval by appointing a weighting function for different node data through a recursive reverse-push algorithm, can relieve the load pressure of a single node, and can meet the safe storage and use requirements of high-sensitive data, particularly financial data, privacy data and the like.
Example 3:
the present embodiment provides a data storage method, and on the basis of embodiment 2, the data storage method further includes:
when a node loses a plurality of data, if the node is the k-th variation factor, the steps S10-S13 are executed to retrieve the lost data. If the node is not the k-th variation factor, step S20' or steps S20-S22 are executed to retrieve the lost data in sequence.
It should be noted that, if the node fails to acquire the encrypted data at the k-1 st change in step S20', steps S20-S22 are performed to sequentially retrieve the lost data.
Example 4:
the present embodiment provides a data storage method, and on the basis of embodiment 3, the data storage method further includes: as shown in figure 3 of the drawings,
when a plurality of nodes lose data, step S30 is performed: and judging whether the lost data has a direct function weighting relation. The direct function-weighted relationship refers to the node data being input or output data of the primary function and the secondary function in the same change.
If not, step S31 is executed: if the node is the k-th change factor, executing the steps S10-S13 to retrieve the lost data of the node; if the node is not the k-th variation factor, step S20' or steps S20-S22 are executed to retrieve the data lost by the node.
If so, go to step S32: and judging whether the number of the data lost at the same time exceeds the number of the data allowed to be lost by the primary function and the secondary function. If so, go to step S33: and checking the data of the adjacent batches before and after the lost data, and assigning values to the lost batch data by taking the data of the last adjacent changed batch from the nodes of the unchanged factors of each batch.
The number of data allowed to be lost by the primary function and the secondary function is determined by the dimension of the functions, the dimension of the functions refers to that the functions have a plurality of unknowns, for example, for a one-dimensional function, the number of data allowed to be lost at the same time is 1; for a two-dimensional function, the number of data lost at the same time is allowed to be 2; by analogy, for an m-dimensional function, m data lost at the same time are allowed.
After the value is assigned, step S34 is executed: and if the number of the remaining lost data still exceeds the number of the data allowed to be lost by the primary function and the secondary function, rebuilding the chain.
Or, after the value is assigned, executing step S35: if the number of the remaining lost data is within the range of the number of the loss allowed by the primary function and the secondary function, executing the steps S10-S13 to retrieve the lost data of the node for the node as the change factor; for the node as the unchanged factor, step S20' or step S20-step S22 is executed to retrieve the data lost by the node.
It should be noted that the rebuilding link specifically includes: notifying each node, calling the newly added original data of each node, and executing the steps S10-S13 to sequentially deliver the encrypted data of each time from the first time. But re-linking is a very small probability event.
According to the data storage method, the weighting function is appointed for different node data, the credible storage and recovery of the data can be realized through a recursion reverse-pushing algorithm, the load pressure of a single node can be relieved, and the safe storage and use requirements of high-sensitive data, particularly financial data, privacy data and the like, can be met.
Example 5:
this embodiment provides a data storage method, and based on embodiment 4, in the data storage method, a certain node includes a new node.
That is, the node in the above embodiment is a newly added data node, and information such as creation time of the newly added node and the current system data change times should be recorded at the same time.
And for the new data storage of the newly added node, calculating the encrypted data for the newly added node according to the algorithm, namely step S10-step S13, and recording the encrypted data into a data chain.
When data recovery is involved, according to the addition of data into a change batch, for the change batch data before the new node is added, because the data has non-tamper property, the previous data has no relationship with the node, and the lost early data is recovered by adopting a calculation method before the node is added (namely, the data recovery method in the above embodiments 2-4); for the changed batch data after the new node is added, the node is regarded as a member on the system data chain, and the lost later data is retrieved by adopting the above calculation method (i.e. the data retrieval method in the above embodiments 2 to 4).
Beneficial effects of examples 1-5: the data storage method provided in embodiments 1 to 5 can implement trusted storage and retrieval of data by applying a weighting function to data of different nodes and using a recursive reverse-push algorithm, and the data storage method can also relieve load pressure of a single node and can meet the use requirements of safe storage of highly sensitive data, especially data such as finance and privacy.
Example 6:
based on the data storage methods provided in embodiments 1 to 5, this embodiment provides a data storage system, as shown in fig. 4, including: the first obtaining module 1 is configured to obtain last history data of other nodes as recursive data when a certain node stores new data. And the first calculating module 2 is used for inputting the recursion data into a primary function and calculating primary proxy data. And the second calculating module 3 is used for inputting the primary proxy data and the new data into a secondary function to calculate secondary proxy data. And the storage module 4 is used for storing the secondary proxy data as the encrypted data of the new data to the node and recording the node as the current change factor. Wherein the current change factor indicates that the current data change is caused by the node.
According to the data storage system, the first acquisition module 1, the first calculation module 2, the second calculation module 3 and the storage module 4 are arranged, so that data can be encrypted and weighted in sequence, the data result is known and credible, the data cannot be tampered, the credible storage of the data can be effectively realized, the load pressure of a single node can be relieved, and the use requirements of safe storage of high-sensitivity data, particularly data such as finance and privacy can be met.
In this embodiment, the first obtaining module 1 is further configured to, when a node loses a single piece of data and the node is a kth change factor, obtain last history data of other nodes as recursive data. The saving module 4 is further configured to, when a node loses a single data and the node is a factor of the kth change, save the encrypted data of the node at the kth change as the single data lost by the node. The k-th change factor indicates that a single data loss is caused by the node in the k-th change. I.e. the data storage system can also be used for recovery of a single missing data for a certain node that is a factor of the kth change.
In this embodiment, the data storage system further includes: and the obtaining and assigning module 5 is used for obtaining the encrypted data of the node in the k-1 th change when the node loses single data and the node is a non-kth change factor, and taking the encrypted data of the node in the k-1 th change as the single data lost by the node. The encrypted data is the second-level proxy data obtained by the node at the k-1 time of change.
In this embodiment, the data storage system further includes: and the second obtaining module 6 is configured to obtain data information of a node when the node changes for the (k + 1) th time when the node loses a single data and the node is a non-kth change factor. The data information includes new data and recursion data of the node at the k +1 th change. And the third calculation module 7 is configured to take an inverse function of the secondary function for the secondary proxy data obtained when the node changes for the (k + 1) th time, and substitute the inverse function into new data of the node when the node changes for the (k + 1) th time to calculate primary proxy data. And the fourth calculation module 8 is configured to obtain an inverse function of the primary function for the primary proxy data, substitute the inverse function into the recursive data of the other node when the node changes for the (k + 1) th time, and calculate the recursive data of the node when the node changes for the (k + 1) th time. And the assignment module 9 is used for taking the recursion data of the node at the k +1 th change as the single data lost by the node. Wherein the non-kth change factor indicates that the missing single data is not caused by the node in the kth change.
By arranging the obtaining and assigning module 5, the second obtaining module 6, the third calculating module 7, the fourth calculating module 8 and the assigning module 9, the data storage system can also be used for retrieving a node with a non-k-th change factor losing single data.
In this embodiment, the first obtaining module 1 is further configured to, when a certain node loses multiple data and the node is a kth change factor, obtain last history data of other nodes as recursive data. The saving module 4 is further configured to, when a node loses multiple data and the node is a k-th change factor, save the encrypted data of the node at the k-th change as the data lost by the node. The obtaining and assigning module 5 is further configured to, when a node loses a plurality of data and the node is a non-kth change factor, obtain encrypted data of the node at the kth-1 th change, and use the encrypted data of the node at the kth-1 th change as data lost by the node. The second obtaining module 6 is further configured to obtain data information of a node when the node changes for the (k + 1) th time when the node loses multiple data and the node is a non-kth change factor. The assignment module 9 is further configured to, when a node loses multiple data and the node is a non-kth change factor, take the recursive data of the node at the k +1 th change as the data lost by the node. I.e. the data storage system can also be used for recovery where a node loses a plurality of data.
In this embodiment, the data storage system further includes: the first judging module 10 is configured to, when a plurality of nodes lose data, judge whether there is a direct function weighted relationship between the lost data. The direct function-weighted relationship refers to the node data being input or output data of the primary function and the secondary function in the same change. And the second judging module 11 is configured to judge whether the number of data lost at the same time exceeds the number of data allowed to be lost by the primary function and the secondary function when a plurality of nodes lose data. And the evaluation checking module 12 is configured to check the data of the adjacent batches before and after the lost data when the judgment result of the second judging module 11 is yes, and evaluate the data of the last adjacent changed batch from the node of the non-changed factor of each batch as the lost batch data. And the third judging module 13 is configured to judge whether the number of remaining lost data still exceeds the number of data allowed to be lost by the primary function and the secondary function after the evaluation module 12 evaluates the value. And a rebuilding module 14, configured to rebuild the link when the determination result of the third determining module 13 is yes.
By arranging the first judging module 10, the second judging module 11, the viewing assignment module 12, the third judging module 13 and the reconstruction module 14, the data storage system can also be used for retrieving lost data of a plurality of nodes.
In this embodiment, the certain node includes a newly added node. That is, the certain node may be a newly added node, and both the data storage and the lost data retrieval of the newly added node can be realized by the same processing mode of the module.
Beneficial effects of example 6: the data storage system provided in embodiment 6 can implement trusted storage and retrieval of data by applying a weighting function to data of different nodes and using a recursive reverse-pushing algorithm, and the data storage method can also relieve load pressure on a single node, and can meet the use requirements of safe storage of highly sensitive data, particularly data such as finance and privacy.
It will be understood that the above embodiments are merely exemplary embodiments taken to illustrate the principles of the present invention, which is not limited thereto. It will be apparent to those skilled in the art that various modifications and improvements can be made without departing from the spirit and substance of the invention, and these modifications and improvements are also considered to be within the scope of the invention.

Claims (12)

1. A method of storing data, comprising:
when a node stores new data, execution is performed
Step S10: acquiring historical data of other nodes at the last time as recursion data;
step S11: inputting the recursive data into a primary function to calculate primary proxy data;
step S12: inputting the primary proxy data and the new data into a secondary function to calculate secondary proxy data;
step S13: the second-level proxy data is used as the encrypted data of the new data and stored to the node, and the node is recorded as the current change factor; wherein the current change factor indicates that the current data change is caused by the node.
2. The data storage method of claim 1, further comprising: when a node loses a single data, if the node is the k-th change factor, executing the step S10-the step S13 to retrieve the lost single data; the lost single data is the encrypted data of the node at the k-th change; the k-th change factor indicates that a single data loss is caused by the node in the k-th change.
3. The data storage method of claim 2, further comprising: when a node loses a single data, if the node is a non-kth changing factor, step S20' is performed: acquiring encrypted data of the node when the node is changed for the (k-1) th time, and taking the encrypted data of the node when the node is changed for the (k-1) th time as lost single data; the encrypted data is the second-level proxy data obtained by the node in the k-1 th change;
or, carry out
Step S20: acquiring data information of the node in the k +1 th change; the data information comprises the new data and the recursion data of the node at the k +1 th change;
step S21: the node takes the inverse function of the secondary function for the secondary proxy data obtained when the node changes for the (k + 1) th time, and substitutes the new data of the node when the node changes for the (k + 1) th time to calculate the primary proxy data;
step S22: taking an inverse function of the primary function for the primary proxy data, substituting the recursive data of other nodes when the node is changed for the (k + 1) th time, calculating the recursive data of the node when the node is changed for the (k + 1) th time, and taking the recursive data of the node when the node is changed for the (k + 1) th time as single data lost by the node;
wherein the non-kth change factor indicates that the lost single data is not caused by the node in the kth change.
4. The data storage method of claim 3, further comprising: when a node loses a plurality of data, if the node is the k-th variation factor, executing the step S10-the step S13 to sequentially retrieve the lost data;
if the node is not the k-th variation factor, the step S20' or the steps S20-S22 are executed to retrieve the missing data in sequence.
5. The data storage method of claim 3, further comprising: when a plurality of nodes lose data, judging whether the lost data have a direct function weighting relation; the direct function weighting relation means that the node data is used as the input or output data of the primary function and the secondary function in the same change;
if not, if the node is the k-th variation factor, executing the step S10-the step S13 to retrieve the lost data of the node; if the node is the non-kth variation factor, executing the step S20' or the step S20-the step S22 to retrieve the data lost by the node;
if so, judging whether the number of the data lost at the same time exceeds the number of the data allowed to be lost by the primary function and the secondary function; if so, checking the data of the adjacent batches before and after the lost data, and assigning values to the lost batch data by taking the data of the last adjacent changed batch from the nodes of the non-changed factors of each batch;
after assignment, if the number of the remaining lost data still exceeds the number of the data allowed to be lost by the primary function and the secondary function, rebuilding a chain;
or after the value is assigned, if the number of the remaining lost data is within the range of the number of the loss allowed by the primary function and the secondary function, for the node serving as the change factor, executing the step S10-the step S13 to retrieve the lost data of the node; for a node as a non-variation factor, executing the step S20' or the step S20-the step S22 to retrieve the data lost by the node.
6. A data storage method according to claim 3, wherein a node comprises a newly added node.
7. A data storage system, comprising:
the first acquisition module is used for acquiring the last historical data of other nodes as recursion data when a certain node stores new data;
the first calculation module is used for inputting the recursive data into a primary function and calculating primary proxy data;
the second calculation module is used for inputting the primary proxy data and the new data into a secondary function to calculate secondary proxy data;
the storage module is used for storing the secondary proxy data serving as the encrypted data of the new data to the node and recording the node as the current change factor; wherein the current change factor indicates that the current data change is caused by the node.
8. The data storage system of claim 7, wherein the first obtaining module is further configured to, when a node loses a single data and the node is a kth change factor, obtain previous historical data of other nodes as recursive data;
the storage module is further configured to store, when a node loses a single data and the node is a k-th change factor, the encrypted data of the node at the k-th change as the single data lost by the node;
the k-th change factor indicates that a single data loss is caused by the node in the k-th change.
9. The data storage system of claim 8, further comprising:
the obtaining and assigning module is used for obtaining the encrypted data of the node when the node changes for the (k-1) th time when a single data is lost and the node is a non-kth time change factor, and taking the encrypted data of the node when the node changes for the (k-1) th time as the single data lost by the node; the encrypted data is the second-level proxy data obtained by the node in the k-1 th change;
the data storage system further comprises:
the second obtaining module is used for obtaining the data information of a node when the node changes for the (k + 1) th time when the node loses a single data and the node is a non-kth change factor; the data information comprises the new data and the recursion data of the node at the k +1 th change;
the third calculation module is used for taking an inverse function of the secondary function for the secondary proxy data obtained when the node changes for the (k + 1) th time, substituting the inverse function into the new data of the node when the node changes for the (k + 1) th time, and calculating the primary proxy data;
the fourth calculation module is used for taking an inverse function of the primary function for the primary proxy data, substituting the inverse function into the recursion data of other nodes when the nodes change for the (k + 1) th time, and calculating the recursion data of the nodes when the nodes change for the (k + 1) th time;
the assignment module is used for taking the recursion data of the node when the node changes for the (k + 1) th time as the single data lost by the node;
wherein the non-kth change factor indicates that the lost single data is not caused by the node in the kth change.
10. The data storage system of claim 9, wherein the first obtaining module is further configured to, when a node loses multiple data and the node is a k-th change factor, obtain previous historical data of other nodes as recursive data;
the storage module is further configured to store, when a node loses multiple data and the node is a k-th change factor, the encrypted data of the node at the k-th change as data lost by the node;
the obtaining and assigning module is further used for obtaining the encrypted data of the node when the node changes for the (k-1) th time when a plurality of data are lost and the node is a non-kth time change factor, and taking the encrypted data of the node when the node changes for the (k-1) th time as the data lost by the node;
the second obtaining module is further configured to obtain data information of a node when the node changes for the (k + 1) th time when the node loses multiple data and the node is a non-kth change factor;
the assignment module is further configured to, when a node loses a plurality of data and the node is a non-kth change factor, use the recursive data of the node in the k +1 th change as the data lost by the node.
11. The data storage system of claim 9, further comprising:
the first judgment module is used for judging whether the lost data has a direct function weighting relation when the data are lost by the nodes; the direct function weighting relation means that the node data is used as the input or output data of the primary function and the secondary function in the same change;
the second judging module is used for judging whether the number of the data lost at the same time exceeds the number of the data allowed to be lost by the primary function and the secondary function when a plurality of nodes lose the data;
the checking and assigning module is used for checking the data of the adjacent batches before and after the lost data when the judgment result of the second judging module is yes, and assigning the data of the last adjacent changed batch from the nodes of the non-changed factors of each batch to the lost batch data;
the third judging module is used for judging whether the number of the residual lost data still exceeds the number of the data allowed to be lost by the primary function and the secondary function after the value is assigned by the checking and assigning module;
and the rebuilding module is used for rebuilding the link when the judgment result of the third judging module is yes.
12. The data storage system of claim 9, wherein a node comprises a newly added node.
CN201910390347.4A 2019-05-10 2019-05-10 Data storage method and data storage system Active CN110120949B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910390347.4A CN110120949B (en) 2019-05-10 2019-05-10 Data storage method and data storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910390347.4A CN110120949B (en) 2019-05-10 2019-05-10 Data storage method and data storage system

Publications (2)

Publication Number Publication Date
CN110120949A CN110120949A (en) 2019-08-13
CN110120949B true CN110120949B (en) 2021-07-27

Family

ID=67522074

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910390347.4A Active CN110120949B (en) 2019-05-10 2019-05-10 Data storage method and data storage system

Country Status (1)

Country Link
CN (1) CN110120949B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103412799A (en) * 2013-07-26 2013-11-27 华为技术有限公司 Data recovery method, data recovery equipment and distributed storage system
CN104883356A (en) * 2015-04-24 2015-09-02 北京邮电大学 Target model-based network attack detection method
CN105824721A (en) * 2016-03-14 2016-08-03 浙江宇视科技有限公司 Data storage system and storage deletion-correction method thereof
CN107770182A (en) * 2017-10-30 2018-03-06 中国联合网络通信集团有限公司 The date storage method and home gateway of home gateway
CN109559119A (en) * 2018-11-29 2019-04-02 成都捕风数据科技有限公司 By entrusting the block producer to reach the method for the credible endogenous random process of block chain

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8700842B2 (en) * 2010-04-12 2014-04-15 Sandisk Enterprise Ip Llc Minimizing write operations to a flash memory-based object store
CN104899762A (en) * 2015-04-09 2015-09-09 哈尔滨工程大学 Trust management method based on backward inference

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103412799A (en) * 2013-07-26 2013-11-27 华为技术有限公司 Data recovery method, data recovery equipment and distributed storage system
CN104883356A (en) * 2015-04-24 2015-09-02 北京邮电大学 Target model-based network attack detection method
CN105824721A (en) * 2016-03-14 2016-08-03 浙江宇视科技有限公司 Data storage system and storage deletion-correction method thereof
CN107770182A (en) * 2017-10-30 2018-03-06 中国联合网络通信集团有限公司 The date storage method and home gateway of home gateway
CN109559119A (en) * 2018-11-29 2019-04-02 成都捕风数据科技有限公司 By entrusting the block producer to reach the method for the credible endogenous random process of block chain

Also Published As

Publication number Publication date
CN110120949A (en) 2019-08-13

Similar Documents

Publication Publication Date Title
Belenguer et al. A review of federated learning in intrusion detection systems for iot
US7954158B2 (en) Characterizing computer attackers
CN107004088A (en) Determining device, determine method and determination program
Gogoi et al. A rough set–based effective rule generation method for classification with an application in intrusion detection
Las-Casas et al. A big data architecture for security data and its application to phishing characterization
KR102036707B1 (en) Method for analyzing mission impact factor based on dependency of assets to tasks
Boot Applying supervised learning on malware authorship attribution
CN110120949B (en) Data storage method and data storage system
CN115794356B (en) Multithread synchronous connection processing method based on SSH server
CN115412336B (en) Method and device for detecting tampering attack of coalition chain account book and electronic equipment
CN109255238B (en) Terminal threat detection and response method and engine
Xin et al. Research on feature selection of intrusion detection based on deep learning
Zhang et al. A hybrid global optimization algorithm and its application to parameter estimation problems
Suthaharan et al. An approach for automatic selection of relevance features in intrusion detection systems
CN115470504A (en) Data risk analysis method and server combined with artificial intelligence
Jaiganesh et al. Kernelized extreme learning machine with levenberg-marquardt learning approach towards intrusion detection
Deshmukh et al. Parallel processing of frequent itemset based on MapReduce programming model
Lee et al. An investigation of essential topics on software fault-proneness prediction
EP2698966B1 (en) Tracking end-users in web databases
CN106161542A (en) A kind of data download method and device
Cheng et al. Cheetah: a space-efficient HNB-based NFAT approach to supporting network forensics
Sheelavathy et al. Detection IoT attacks using Lasso regression algorithm with ensemble classifier
CN114553580B (en) Network attack detection method and device based on rule generalization and attack reconstruction
Petros et al. FLDetect: An API-Based Ransomware Detection Using Federated Learning
Kim et al. Real-time sequential pattern mining for usn system

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