CN114969803B - Data storage method, device and storage medium - Google Patents

Data storage method, device and storage medium Download PDF

Info

Publication number
CN114969803B
CN114969803B CN202110460151.5A CN202110460151A CN114969803B CN 114969803 B CN114969803 B CN 114969803B CN 202110460151 A CN202110460151 A CN 202110460151A CN 114969803 B CN114969803 B CN 114969803B
Authority
CN
China
Prior art keywords
data
data packet
identification information
packet
storage
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
CN202110460151.5A
Other languages
Chinese (zh)
Other versions
CN114969803A (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 Mobile Communications Group Co Ltd
China Mobile Internet Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Internet 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 Mobile Communications Group Co Ltd, China Mobile Internet Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202110460151.5A priority Critical patent/CN114969803B/en
Publication of CN114969803A publication Critical patent/CN114969803A/en
Application granted granted Critical
Publication of CN114969803B publication Critical patent/CN114969803B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks

Abstract

The invention discloses a data storage method, a data storage device and a storage medium. The data storage method comprises the following steps: dividing data to be stored into a plurality of data packets; generating a plurality of data blocks through combination among the data packets; wherein each data packet is used for the generation of 2 or more different data blocks; and storing each data block in a plurality of storage nodes respectively. In this way, in the process of storing the data to be stored, each data packet is divided into data packets, and each data packet is used for generating 2 or more different data blocks, so that each data packet is stored in a plurality of data blocks multiple times, and when the data packet in one storage node or a few storage nodes is tampered, the tampered data packets are possibly stored in other storage nodes, so that the data security can be improved.

Description

Data storage method, device and storage medium
Technical Field
The present invention relates to the field of terminals, and in particular, to a data storage method, apparatus, and storage medium.
Background
With the explosion of internet technology, network service providers typically acquire a large amount of data, including interaction data between users, commodity transaction data, etc., which may be stored by data storage parties, such as cloud storage service providers, etc., so how the data storage parties safely store the data is important.
Disclosure of Invention
The embodiment of the invention provides a data storage method, a data storage device and a data storage medium, which are used for solving the problems in the prior art.
In order to solve the technical problems, the invention is realized as follows:
in a first aspect, a data storage method is provided, including:
dividing data to be stored into a plurality of data packets;
generating a plurality of data blocks through combination among the data packets; wherein each data packet is used for the generation of 2 or more different data blocks;
and storing each data block in a plurality of storage nodes respectively.
Preferably, the method further comprises: respectively distributing identification information for each data packet, wherein the identification information is used for uniquely identifying the corresponding data packet; then the first time period of the first time period,
generating a plurality of data blocks through combination among the data packets, wherein the method specifically comprises the following steps: a plurality of data blocks are generated by combining between the individual data packets containing the identification information.
Preferably, the method further comprises: and encrypting each data block, wherein the encryption key of each data block is determined by the identification information corresponding to each data packet contained in the data block.
Preferably, the method further comprises:
when a verification instruction for a target data packet is received, each target data block containing the target data packet is obtained from each storage node, wherein the target data packet is specifically any data packet obtained by dividing the data to be stored;
respectively acquiring corresponding target data packets from each target data block;
comparing the obtained identification information of each target data packet, and determining whether each obtained target data packet is not tampered according to the comparison result.
Preferably, when at least one of the obtained target data packets is tampered according to the comparison result, repairing the target data block corresponding to the tampered target data packet.
Preferably, for the identification information of each data packet, the identification information includes the number of the data packet and the number of the previous data packet; then the first time period of the first time period,
the method further comprises the steps of: and recombining the data packets into the data to be stored by utilizing the identification information corresponding to the data packets respectively.
Preferably, each of the data blocks is stored in a plurality of storage nodes, and specifically includes: and storing each data block in a plurality of edge storage nodes respectively.
Preferably, the number of data packets contained in each of the data blocks is 2 or 3.
In a second aspect, there is also provided a data storage device comprising:
the dividing unit is used for dividing the data to be stored into a plurality of data packets;
a generation unit configured to generate a plurality of data blocks by combining the data packets; wherein each data packet is used for the generation of 2 or more different data blocks;
and the storage unit is used for respectively storing the data blocks in a plurality of storage nodes.
In a third aspect, there is also provided a computer-readable storage medium including instructions that, when executed on a computer, cause the computer to perform a data storage method provided by an embodiment of the present invention
In the data storage method provided by the embodiment of the invention, after the data to be stored is divided into a plurality of data packets, a plurality of data blocks are further generated through combination among the data packets, each data packet is used for generating 2 or more different data blocks, and then each data block is respectively stored in a plurality of storage nodes. In this way, in the process of storing the data to be stored, each data packet is divided into data packets, and each data packet is used for generating 2 or more different data blocks, so that each data packet is stored in a plurality of data blocks multiple times, and when the data packet in one storage node or a few storage nodes is tampered, the tampered data packets are possibly stored in other storage nodes, so that the data security can be improved.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the invention and do not constitute a limitation on the invention. In the drawings:
FIG. 1 is a schematic diagram of a specific flow of a data storage method according to an embodiment of the present invention;
fig. 2 is a schematic diagram of a specific structure of a data storage device according to an embodiment of the present invention.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are some, but not all embodiments of the invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
As mentioned above, the network service provider typically communicates data to the data storage party for storage, so how the data storage party can safely store the data is important.
Based on the above, the embodiment of the invention provides a data storage method which can safely store data. Fig. 1 is a schematic flow chart of the data storage method, which includes the following steps:
step S11: dividing the data to be stored into a plurality of data packets.
In the invention, a data storage party, such as a cloud storage service provider, can adopt a distributed cluster to store data to be stored, and the distributed cluster comprises a server and a plurality of storage nodes, wherein the storage nodes are used for storing, the server can store various rules and perform data segmentation and merging, and the data storage method can be executed by the server in the distributed cluster.
The data to be stored may be data acquired by a network service provider during the service and delivered to a data storage party as stored data.
In the process of dividing the data to be stored into a plurality of data packets, the server in the distributed cluster may divide the data into a plurality of data packets according to a pre-stored data dividing rule, where the data dividing rule specifies the number of the data packets obtained by dividing the data into a specific dividing manner, for example, the data to be stored may be divided into M data packets (the total amount of the data packets is M), where the size of M may be determined according to actual needs, for example, the size of M may be determined according to the number n of storage nodes in the distributed cluster, and generally, when the number n is larger, the number of M may also be relatively larger.
In practical application, according to different data to be stored, if some data are divided into a plurality of data packets, the data do not need to be recombined into the data to be stored, or no sequence exists between the data packets, and at the moment, identification information does not need to be allocated to each data packet; some data are required to be recombined when needed after being split, or a sequence is required to exist among the data packets, at this time, after the data to be stored are split into a plurality of data packets, or in the splitting process, identification information can be respectively allocated to each data packet, and the identification information is used for uniquely identifying the corresponding data packet, so that each data packet can be recombined into the data to be stored through the identification information when needed, or whether the data packet is tampered or not is determined through the identification information.
Step S12: generating a plurality of data blocks through combination among the data packets; wherein each data packet is used for the generation of 2 or more different data blocks.
In combining data packets to generate a plurality of data blocks, each data packet is used for the generation of 2 or more different data blocks, so that for each data packet, at least two different data blocks are stored. For example, by dividing the data to be stored, the data packets X1, X2, X3, and X4 are obtained, and in this step S12, a plurality of data blocks are generated by the combination among X1, X2, X3, and X4, and each data packet is used for the generation of 2 or more different data blocks, such as for the generation of 2, 3, 4, etc. numbers of different data blocks.
For the combination of the data packets, there may be various specific ways to generate multiple data blocks, and one way is not required to limit the specific number of data packets in a data block, for example, a data block may be generated by 2 different data packets, 3 different data packets, 4 different data packets, and so on, where the number of generated data blocks is C M 2 +C M 3 +C M 4 +……++C M M -1 +C M M Where M is the total amount of data packets.
For example, for the above-mentioned data packets X1, X2, X3 and X4, then M is 4, and when it is not necessary to limit the specific number of data packets in a data block, the number of data blocks generated is 11=6+4+1=c 4 2 +C 4 3 +C 4 4 These data blocks are (X1, X2), (X1, X3), (X1, X4), (X2, X3), (X2, X4), (X3, X4), (X1, X2, X3), (X1, X2, X4), (X1, X3, X4), (X2, X3, X4), (X1, X2, X3, X4), and (X3, X4), respectively. The method is not limited to the specific number of the data packets in the data block, and each data packet is stored for a large number of times (namely stored in a large number of different data blocks), so that the method is suitable for the condition that the number of the data packets is relatively small, and the phenomenon that a large amount of storage resources are occupied when the number of times of repeatedly storing the data packets is large is avoided.
Alternatively, a specific number of data packets in a data block (hereinafter this number will be referred to as the number of codes m) may be determined first, and then m different data packets may be combined to generate the data block. In practice shouldIn use, when the total number of data packets M is large, the number of generated data blocks is C M m Wherein m may be 2 or 3, etc. For example, for the above-mentioned data packets X1, X2, X3 and X4, where M is 4, and if M is 2, the number of generated data blocks is 6=c 4 2 (X1, X2), (X1, X3), (X1, X4), (X2, X3), (X2, X4), (X3, X4), respectively; alternatively, if m is 3, the number of generated data blocks is 4=c 4 3 (X1, X2, X3), (X1, X2, X4), (X1, X3, X4), (X2, X3, X4), respectively.
In practical application, it may be determined whether a specific table code number M is needed according to the total amount M of the data packets, and when M is relatively smaller, the specific size of M may not be limited at this time, that is, M is greater than or equal to 2 and less than or equal to M; when M is large, in order to avoid wasting storage resources, M can be set to be 2 (or 3), and then 2 different data packets are combined to generate a data block, thereby obtaining C M 2 And data blocks.
Step S13: each data block is stored in a plurality of storage nodes.
In the process of storing each data block in multiple storage nodes, in order to avoid storing too many data blocks in one or a few storage nodes, the data blocks can be generally distributed to each storage node in average for storage
When data blocks are stored on average in these storage nodes, a storage record table as shown in table 1 below may also be generated and stored in a server for subsequent verification, merging, and the like. The storage record table comprises a storage node field, a data block field, a data packet field in the data block, and a data packet contained in the corresponding data block, wherein the storage node field is used for recording the corresponding storage node identification.
TABLE 1
Data packets in data blocks Storage node
Data block 1 (X1,X2) a
Data block 2 (X1,X3) b
…… …… ……
Data block 6 (X3,X4) c
Of course, in order to store the same data packet in different storage nodes as far as possible, so as to avoid a large amount of loss of the same data packet when a certain storage node fails, when a plurality of data blocks are stored in average with a plurality of storage nodes, Z/n (Z is the total number of data blocks, and n is the number of storage nodes) data blocks can be randomly extracted and stored in a certain storage node, and then Z/n data blocks are continuously randomly extracted from the rest data blocks and stored in the next edge storage node until all data blocks are stored.
It should be further noted that, in practical applications, since the data provider may collect data from a plurality of edge devices (generating data during operation) and provide the data to be stored as data to the data storage party for storage, in order to improve efficiency in data transmission (such as the data provider re-acquiring the data), edge storage nodes may be screened from storage nodes of the distributed cluster, where the edge storage nodes may be storage nodes that are generally closer to one or several edge devices, or storage nodes that are generally closer to each edge device, so that data generated in the corresponding edge device is stored by the edge storage nodes. Specifically, for example, an edge storage node corresponding to the edge device may be selected through a distance vector routing algorithm. And after the edge storage nodes are screened out from the storage nodes of the distributed cluster, storing the data blocks in the screened edge storage nodes respectively.
For example, the data provider collects data from the edge devices 1 to 5 for storage, and the distributed cluster comprises 10 storage nodes; the total routing distance between the storage node 1, the storage node 2 and the storage node 4 and the edge devices 1-5 in the distributed cluster is determined to be relatively close by a distance vector routing algorithm, so that the storage node 1, the storage node 2 and the storage node 4 are used as edge storage nodes.
After the data to be stored is divided into a plurality of data packets, the data storage method provided by the embodiment of the invention further generates a plurality of data blocks through combination among the data packets, each data packet is used for generating 2 or more different data blocks, and then each data block is respectively stored in a plurality of storage nodes. In this way, in the process of storing the data to be stored, each data packet is divided into data packets, and each data packet is used for generating 2 or more different data blocks, so that each data packet is stored in a plurality of data blocks multiple times, and when the data packet in one storage node or a few storage nodes is tampered, the tampered data packets are possibly stored in other storage nodes, so that the data security can be improved.
In addition, in step S11, it is mentioned that identification information is allocated to each packet, and in step S12, a plurality of data blocks may be generated by combining the packets including the identification information.
In practical application, the identification information can be used as the identification information for being distributed to each data packet in various modes, for example, the number can be sequentially numbered according to the sequence of the data packets obtained by segmentation, and the number is used as the identification information, so that each data packet can be recombined by using the number when needed to obtain the data to be stored, and the data is verified by using the number; of course, in order to further improve the security of data, when a certain data packet (called a current data packet) is obtained by segmentation, a random number may be arbitrarily selected from a random number space as the number (denoted by a) of the current data packet, where the number of random numbers in the random number space is far greater than the total number M of data packets, and in addition, since only the random number of the current data packet is difficult to be recombined, the number of the previous data packet may be increased, so that the number of the current data packet and the number of the previous data packet are used as the identification information of the current data packet, that is, for each data packet, the identification information includes the number of the data packet and the number of the previous data packet.
For example, for the identification information of the current data packet, which includes the number of the current data packet and the number of the previous data packet, the number of the current data packet may be inserted as header information into the header of the current data packet, and the number of the previous data packet may be inserted as trailer information into the trailer of the current data packet, so that the header information and trailer information of the current data packet may be respectively associated with the previous data packet and the next data packet, so that each data packet may be recombined into data to be stored by using the identification information respectively corresponding to each data packet; of course, the number of the current data packet may be inserted as the tail information of the file, and the number of the previous data packet may be inserted as the header information of the file; or other insertion means may be used. Thus, the complete current packet is: the file header information of the current data packet + the entity data of the current data packet obtained by segmentation + the file tail information of the current data packet.
In addition, the identification information may further include a total number M of data packets, for example, a number of a current data packet and the total number M of data packets are used as file tail information or file head information, so that the file head information or the file tail information is: the total number of data packets M/the number of the current data packet A.
In particular, the number of the first packet obtained by the division may be set to 0, which is the preceding packet.
For each data packet, when the identification information includes the number of the data packet and the number of the previous data packet,
in addition, after step S12, in order to further improve the security of the data block, each data block may be encrypted, and the encryption key for each data block may be determined by the identification information corresponding to each data packet included in the data block.
For example, the sum of the numbers of the data packets in the data block may be used as a key of the data block, or the key may be calculated in other manners according to the numbers of the data packets, and the key of each data block may be stored in the server.
In the process of storing the data to be stored, the distributed cluster often needs to check the data packet in the data to be stored periodically or aperiodically to determine whether the data is tampered or not in order to ensure the security of the data to be stored.
For example, a timing task may be set, and a certain packet may be randomly extracted every 1 hour (e.g., the number of the packet may be randomly extracted), and the packet may be used as a target packet, and further a verification instruction for the target packet may be generated and transmitted to the server. When the server receives a verification instruction for the target data packet, each target data block containing the target data packet is obtained from each storage node, wherein the target data packet can be any data packet obtained by dividing data to be stored.
When the server obtains each target data block containing the target data packet from each storage node, the storage record table shown in table 1 may be combined, and each target data block containing the target data packet and the storage node stored by each target data block are queried from the storage record table, and then each target data block is obtained from the storage nodes.
After the target data blocks are acquired, corresponding target data packets are further acquired from the target data blocks respectively, corresponding identification information is analyzed from the target data packets, the acquired identification information of the target data packets is compared, and whether the acquired target data packets are not tampered is determined according to the comparison result.
For example, when the obtained identification information of each target data packet is the same, considering that the possibility of tampering the data in the storage nodes is low, if the identification information is the same, the description is not tampered; conversely, when one or more of these identification information differ from the rest, the description is tampered with.
In practical applications, when a hacker or other illicit tamper with a data packet, part of the data is usually inserted into or replaced with the header of the data packet or other locations (or the whole data packet may be completely replaced), so in the data verification process, identification information (such as header information in the identification information) may be first verified, and of course, and when the identification information is the same, the entity data of the file may be further verified, and if the header information is different, it indicates that the data has been tampered with or replaced.
In addition, when at least one of the obtained target data packets is tampered according to the comparison result, an early warning prompt can be output on one hand, so that operation and maintenance personnel can be reminded, and on the other hand, the target data block corresponding to the tampered target data packet can be repaired.
It should be noted that, when the number of storage nodes is large, it is difficult for the data in each storage node to be tampered, and in practical application, it is also difficult for most of the data in the storage nodes to be tampered, so when the obtained identification information of each target data packet is compared, if most of the identification information is the same, only one, a few or a few of the identification information is different, which means that most of the data in the storage nodes are not tampered. If there are 10 target data packets, the identification information of the 10 target data packets are compared, wherein the identification information of 7 target data packets is the same, and the other 3 target data packets are different, which means that the 3 target data packets are tampered.
Based on this, in the process of repairing the target data block corresponding to the tampered target data packet, the target data block may be deleted from the corresponding storage node first; further, the target data block (and other data packets in the data block) can be regenerated by copying the target data packet (and other data packets in the data block) from the non-tampered storage nodes, and the target data block is restored in the storage nodes, so that the data in the tampered storage nodes can be repaired by other storage nodes under the condition that the data in one storage node is tampered by the storage mode provided by the invention.
According to the scheme, the data to be stored is split into a plurality of data packets and recombined into the data blocks to be respectively stored in a plurality of different storage nodes, so that on one hand, a data storage party can verify whether the data are tampered or not through mutual verification among the plurality of storage nodes, and a data provider is not required to participate in verification; on the other hand, when the number of split data packets and the number of nodes are large, this distributed storage method is difficult to tamper with data in a large number of storage nodes, and even if a small part of data packets are tampered with, it is possible to repair by mutual authentication.
The data blocks are obtained by reorganizing the data packets and stored in a certain edge storage node in the form of the data blocks, so that the data blocks can be encrypted on one hand, and the safety is improved; on the other hand, by separately storing the data blocks after reorganization, the situation that complete data are completely leaked in a certain storage node when all data packets in the data to be stored are stored in the storage node can be avoided, and the information safety is further ensured.
Based on the same inventive concept as the data storage method provided by the embodiment of the present invention, the embodiment of the present invention also provides a data storage device, and for the specific description in this embodiment, reference may be made to the corresponding parts of the data storage method provided by the embodiment of the present invention, if not clear. As shown in fig. 2, the data storage device 20 includes: a dividing unit 201, a generating unit 202, and a storing unit 203, wherein:
a dividing unit 201, configured to divide data to be stored into a plurality of data packets;
a generating unit 202, configured to generate a plurality of data blocks by combining between the data packets; wherein each data packet is used for the generation of 2 or more different data blocks;
a storage unit 203, configured to store each of the data blocks in a plurality of storage nodes, respectively.
Since the data storage device 20 adopts the same inventive concept as the data storage method provided in the embodiment of the present invention, the problems in the prior art can be solved, and the description thereof will not be repeated here.
In addition, the data storage device 20 may further include an allocation unit configured to allocate identification information to each data packet, where the identification information is used to uniquely identify the corresponding data packet; then the first time period of the first time period,
a generating unit 202 for generating a plurality of data blocks by a combination between respective data packets containing identification information.
The data storage device 20 may further include an encryption unit that encrypts each of the data blocks, where an encryption key for each data block is determined by identification information corresponding to each data packet included in the data block.
The data storage device 20 may further include a verification unit, configured to, when receiving a verification instruction for a target data packet, obtain each target data block including the target data packet from each storage node, where the target data packet is specifically any one data packet obtained by dividing the data to be stored; respectively acquiring corresponding target data packets from each target data block; comparing the obtained identification information of each target data packet, and determining whether each obtained target data packet is not tampered according to the comparison result. And, the data storage device 20 may further include a repair unit for repairing, when it is determined that at least one of the obtained target data packets is tampered according to the comparison result, a target data block corresponding to the tampered target data packet.
In practical application, for the identification information of each data packet, the identification information includes the number of the data packet and the number of the previous data packet; the data storage device 20 may further include a merging unit, configured to re-merge each data packet into the data to be stored by using the identification information corresponding to each data packet.
A storage unit 203, configured to store each of the data blocks in a plurality of edge storage nodes, respectively.
The embodiment of the invention also provides a computer readable storage medium, in which instructions are stored, which when run on a computer, cause the computer to execute the data storage method provided by the embodiment of the invention, and achieve the same technical effects, and in order to avoid repetition, the description is omitted here. Wherein the computer readable storage medium is selected from Read-Only Memory (ROM), random access Memory (Random Access Memory, RAM), magnetic disk or optical disk.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
From the above description of the embodiments, it will be clear to those skilled in the art that the above-described embodiment method may be implemented by means of software plus a necessary general hardware platform, but of course may also be implemented by means of hardware, but in many cases the former is a preferred embodiment. Based on such understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art in the form of a software product stored in a storage medium (e.g. ROM/RAM, magnetic disk, optical disk) comprising instructions for causing a terminal (which may be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to perform the method according to the embodiments of the present invention.
The embodiments of the present invention have been described above with reference to the accompanying drawings, but the present invention is not limited to the above-described embodiments, which are merely illustrative and not restrictive, and many forms may be made by those having ordinary skill in the art without departing from the spirit of the present invention and the scope of the claims, which are to be protected by the present invention.

Claims (7)

1. A method of data storage, comprising:
dividing data to be stored into a plurality of data packets;
generating a plurality of data blocks through combination among the data packets; wherein each data packet is used for the generation of 2 or more different data blocks;
storing each data block in a plurality of storage nodes respectively;
the method further comprises the steps of: respectively distributing identification information for each data packet, wherein the identification information is used for uniquely identifying the corresponding data packet; for the identification information of each data packet, the identification information comprises the number of the data packet and the number of the previous data packet; then the first time period of the first time period,
generating a plurality of data blocks through combination among the data packets, wherein the method specifically comprises the following steps: generating a plurality of data blocks by combining the data packets containing the identification information;
the method further comprises the steps of:
when a verification instruction for a target data packet is received, each target data block containing the target data packet is obtained from each storage node, wherein the target data packet is specifically any data packet obtained by dividing the data to be stored;
respectively acquiring corresponding target data packets from each target data block;
comparing the obtained identification information of each target data packet, and determining whether each obtained target data packet is not tampered according to the comparison result;
and when at least one of the obtained target data packets is tampered according to the comparison result, repairing the target data block corresponding to the tampered target data packet.
2. The method of claim 1, wherein the method further comprises: and encrypting each data block, wherein the encryption key of each data block is determined by the identification information corresponding to each data packet contained in the data block.
3. The method of claim 2, wherein for each data packet, the identification information includes a number of the data packet and a number of a previous data packet; then the first time period of the first time period,
the method further comprises the steps of: and recombining the data packets into the data to be stored by utilizing the identification information corresponding to the data packets respectively.
4. The method of claim 1, wherein storing each of the data blocks in a plurality of storage nodes, respectively, comprises: and storing each data block in a plurality of edge storage nodes respectively.
5. The method of claim 1, wherein the number of data packets contained in each of the data blocks is 2 or 3.
6. A data storage device, comprising:
the dividing unit is used for dividing the data to be stored into a plurality of data packets;
a generation unit configured to generate a plurality of data blocks by combining the data packets; wherein each data packet is used for the generation of 2 or more different data blocks;
a storage unit for storing each data block in a plurality of storage nodes respectively;
the data storage device further comprises an allocation unit, wherein the allocation unit is used for allocating identification information to each data packet respectively, and the identification information is used for uniquely identifying the corresponding data packet; for the identification information of each data packet, the identification information comprises the number of the data packet and the number of the previous data packet; then the first time period of the first time period,
the generating unit is used for generating a plurality of data blocks through combination among the data packets containing the identification information;
the data storage device further comprises a verification unit, wherein the verification unit is used for acquiring each target data block containing the target data packet from each storage node when a verification instruction for the target data packet is received, and the target data packet is specifically any data packet obtained by dividing the data to be stored; respectively acquiring corresponding target data packets from each target data block; comparing the obtained identification information of each target data packet, and determining whether each obtained target data packet is not tampered according to the comparison result;
the data storage device further comprises a repairing unit, wherein the repairing unit is used for repairing the target data block corresponding to the tampered target data packet when at least one of the obtained target data packets is tampered according to the comparison result.
7. A computer readable storage medium comprising instructions which, when run on a computer, cause the computer to perform the data storage method of any one of claims 1 to 5.
CN202110460151.5A 2021-04-27 2021-04-27 Data storage method, device and storage medium Active CN114969803B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110460151.5A CN114969803B (en) 2021-04-27 2021-04-27 Data storage method, device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110460151.5A CN114969803B (en) 2021-04-27 2021-04-27 Data storage method, device and storage medium

Publications (2)

Publication Number Publication Date
CN114969803A CN114969803A (en) 2022-08-30
CN114969803B true CN114969803B (en) 2023-08-15

Family

ID=82972772

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110460151.5A Active CN114969803B (en) 2021-04-27 2021-04-27 Data storage method, device and storage medium

Country Status (1)

Country Link
CN (1) CN114969803B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115933993B (en) * 2023-01-04 2023-05-30 山东省地质矿产勘查开发局八〇一水文地质工程地质大队(山东省地矿工程勘察院) Karst fracture network type aqueous medium antifouling function evaluation system and method
CN117579617B (en) * 2024-01-10 2024-03-22 深圳市众志天成科技有限公司 Data transmission method and device based on information security

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108737026A (en) * 2018-05-08 2018-11-02 深圳市心流科技有限公司 Data transmission method, device and computer readable storage medium
CN108833102A (en) * 2018-07-25 2018-11-16 浙江威步机器人技术有限公司 Distributed data storage method, apparatus, storage medium and electronic equipment
CN110704858A (en) * 2019-10-16 2020-01-17 长春银彩通信息科技有限公司 Data security storage method and system under distributed environment
CN111414426A (en) * 2020-03-26 2020-07-14 北京云图科瑞科技有限公司 Data processing method and system based on block chain

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108737026A (en) * 2018-05-08 2018-11-02 深圳市心流科技有限公司 Data transmission method, device and computer readable storage medium
CN108833102A (en) * 2018-07-25 2018-11-16 浙江威步机器人技术有限公司 Distributed data storage method, apparatus, storage medium and electronic equipment
CN110704858A (en) * 2019-10-16 2020-01-17 长春银彩通信息科技有限公司 Data security storage method and system under distributed environment
CN111414426A (en) * 2020-03-26 2020-07-14 北京云图科瑞科技有限公司 Data processing method and system based on block chain

Also Published As

Publication number Publication date
CN114969803A (en) 2022-08-30

Similar Documents

Publication Publication Date Title
CN109743173B (en) Block out node determining method in block chain, block verification method and block chain system
CN109936457B (en) Block chain multi-party witness method, device, equipment and computer readable storage medium
CN114969803B (en) Data storage method, device and storage medium
US20190005250A1 (en) Methods and apparatus for efficient computation of one-way chains in cryptographic applications
CN107147501A (en) Timestamp processing method and processing device
CN108234134A (en) Block synchronous method and system
CN109525403B (en) Anti-leakage public cloud auditing method supporting full-dynamic parallel operation of user
CN111769948A (en) Block chain-based inter-chain interaction method, system, device and computer equipment
CN110022315B (en) Weight management method, device and equipment in block chain type account book
CN101997681B (en) Authentication method and system for multi-node path and relevant node equipment
CN108880820A (en) Code administration method and apparatus
WO2020115496A2 (en) A node testing method and apparatus for a blockchain system
KR20110028968A (en) Method for verifying the integrity of a user's data in remote computing and system thereof
CN111899019A (en) Method and system for cross validation and sharing of blacklist and multiple parties
CN115964728A (en) File encryption method and device based on consensus algorithm
CN113645278B (en) Cross-chain message transmission method, device and storage medium of block chain
CN108418679B (en) Method and device for processing secret key under multiple data centers and electronic equipment
CN112713996A (en) Fault verification method based on block chain, server and terminal
CN109857805B (en) Block chain based data storage method, related equipment and storage medium
CN110618989A (en) Information processing method, information processing device and related product
CN115632777A (en) Data processing method and electronic equipment
CN114726609A (en) Encrypted data verification method and device based on block chain and electronic equipment
CN107277054A (en) A kind of method and system of data integrity validation
CN114338673A (en) Transaction data processing method, device, equipment, system and storage medium
CN112804262B (en) Safety guarantee method and system in block chain cross-chain communication

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