Data storage method and device, electronic equipment and computer readable medium
By using a data warehouse storage structure and a visual mapping graph, the problems of low data storage security and low retrieval efficiency are solved. It enables separate encrypted storage and rapid location of data, thereby improving data storage security and retrieval efficiency, and enhancing the user experience.
Patent Information
- Application Number
- CN202510132732.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-06
- Publication Date
- 2025-12-16
- Estimated Expiration
- 2045-02-06
AI Technical Summary
In existing technologies, data storage security is low and reading efficiency is low because the dataset sent by the target device is encapsulated into an encrypted data packet for storage. Once the encryption key is leaked or cracked, all data is at risk of being leaked. Furthermore, reading the data requires decrypting the entire data packet, resulting in long response times.
By adopting a data warehouse storage structure, the system generates encrypted information and warehouse location information for the stored data, generates storage mapping relationship data, and stores the encrypted data in the data warehouse to achieve individual encrypted storage. It also generates a visual data storage mapping diagram to improve the user experience.
It improves data storage security and retrieval efficiency, ensuring that even if some data warehouses are hacked or leaked, the data in other warehouses is still protected, the retrieval process is faster, and the user experience is better.
Smart Images

Figure CN120068147B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Embodiments of the present disclosure relate to the field of computer technology, and in particular, to a data storage method and device, electronic equipment and computer readable medium. BACKGROUND
[0002] Data storage is a technology for storing data sent by a target device. At present, when storing data sent by a target device, a commonly used method is to directly encapsulate a data set sent by a target device into an encrypted data packet for storage.
[0003] However, when the above method is used to store a data set sent by a target device, the following technical problems often exist:
[0004] Directly encapsulating a data set sent by a target device into an encrypted data packet for storage, all data is concentrated in an encrypted data packet, once the encryption key of this data packet is leaked or cracked, all data will face the risk of leakage, and the security of data storage is low. At the same time, when the target device reads a data in the data set, it needs to first decrypt the entire data packet, and then find the required data in the entire data packet, so the reading efficiency is low and the data acquisition response time is long.
[0005] The above information disclosed in the background section is only intended to enhance the understanding of the background of the present inventive concept, and therefore, it can include information that does not form the prior art known to those of ordinary skill in the art. SUMMARY
[0006] The summary section of the present disclosure is used to introduce the concepts in a brief form, which will be described in detail in the specific embodiments section. The summary section of the present disclosure is not intended to identify key or essential features of the claimed technical solutions, nor is it intended to limit the scope of the claimed technical solutions.
[0007] Some embodiments of the present disclosure propose a data storage method and device, electronic equipment and computer readable medium to solve one or more of the technical problems mentioned in the background section.
[0008] In a first aspect, some embodiments of the present disclosure provide a data storage method, which comprises: creating a data compartment storage structure; in response to receiving storage request information sent by a target device, determining the storage request information as to-be-processed storage request information, wherein the to-be-processed storage request information comprises a storage data set and a storage data identifier set, each storage data in the storage data set corresponds to each storage data identifier in the storage data identifier set; for each storage data in the storage data set included in the to-be-processed storage request information, performing the following storage steps: determining the storage data identifier corresponding to the storage data; generating storage compartment location information corresponding to the storage data based on the storage data identifier; generating encryption information corresponding to the storage data based on a preset encryption information library; generating storage mapping relationship data based on the encryption information, the storage data identifier, and the storage compartment location information; storing the storage mapping relationship data to a preset storage mapping relationship table to update the preset storage mapping relationship table; encrypting the storage data based on the encryption information to obtain encrypted storage data; storing the encrypted storage data in a data compartment in the data compartment storage structure based on the storage compartment location information; and encrypting the updated preset storage mapping relationship table to obtain an encrypted preset storage mapping relationship table.
[0009] In a second aspect, some embodiments of the present disclosure provide a data storage apparatus, which comprises: a creating unit configured to create a data compartment storage structure; a determining unit configured to, in response to receiving storage request information sent by a target device, determine the storage request information as to-be-processed storage request information, wherein the to-be-processed storage request information comprises a storage data set and a storage data identifier set, each storage data in the storage data set corresponds to each storage data identifier in the storage data identifier set; a storage unit configured to, for each storage data in the storage data set included in the to-be-processed storage request information, perform the following storage steps: determine the storage data identifier corresponding to the storage data; generate storage compartment location information corresponding to the storage data based on the storage data identifier; generate encryption information corresponding to the storage data based on a preset encryption information library; generate storage mapping relationship data based on the encryption information, the storage data identifier, and the storage compartment location information; store the storage mapping relationship data to a preset storage mapping relationship table to update the preset storage mapping relationship table; encrypt the storage data based on the encryption information to obtain encrypted storage data; store the encrypted storage data in a data compartment in the data compartment storage structure based on the storage compartment location information; and an encryption unit configured to encrypt the updated preset storage mapping relationship table to obtain an encrypted preset storage mapping relationship table.
[0010] In a third aspect, some embodiments of the present disclosure provide an electronic device, comprising: one or more processors; a memory device having stored thereon one or more programs, which when executed by the one or more processors, cause the one or more processors to implement the method described in any implementation manner of the first aspect.
[0011] In a fourth aspect, some embodiments of the present disclosure provide a computer readable medium having stored thereon a computer program, wherein the program, when executed by a processor, implements the method described in any implementation manner of the first aspect.
[0012] The above various embodiments of the present disclosure have the following beneficial effects: through the data storage method of some embodiments of the present disclosure, the security of data storage is improved and the response time of data acquisition is reduced. Specifically, the reason for poor data storage security and long data acquisition response time is that the data set sent by the target device is directly encapsulated as an encrypted data packet for storage, all data is concentrated in an encrypted data packet, and once the encryption key of the data packet is leaked or cracked, all data will be at risk of leakage, and the security of data storage is low. At the same time, when the target device reads a data in the data set, the entire data packet needs to be decrypted first, and then the required data is searched in the entire data packet, which is low in reading efficiency and long in data acquisition response time. Based on this, the data storage method of some embodiments of the present disclosure first creates a data compartment storage structure. Thus, a storage data set sent by a target device can be created. Then, in response to receiving a storage request information sent by a target device, the storage request information is determined as to-be-processed storage request information, wherein the to-be-processed storage request information includes a storage data set and a storage data identifier set, and each storage data in the storage data set corresponds to each storage data identifier in the storage data identifier set. Next, for each storage data in the storage data set included in the to-be-processed storage request information, the following storage steps are performed: first, determine the storage data identifier corresponding to the storage data. Thus, the storage data identifier of the storage data can be determined. Second, based on the storage data identifier, generate storage compartment location information corresponding to the storage data. Thus, the storage compartment location information for storing the storage data can be generated. Third, based on a preset encryption information library, generate encryption information corresponding to the storage data. Thus, the encryption information for encrypting the storage data can be obtained. Fourth, based on the encryption information, the storage data identifier and the storage compartment location information, generate storage mapping relationship data. Thus, the storage mapping relationship data representing the correspondence between the encryption information, the storage data identifier and the storage compartment location information can be generated. Fifth, store the storage mapping relationship data to a preset storage mapping relationship table to update the preset storage mapping relationship table. Thus, the storage mapping relationship data can be stored in the preset storage mapping relationship table. Sixth, based on the encryption information, encrypt the storage data to obtain encrypted storage data. Thus, the storage data can be individually encrypted. Based on the storage compartment location information, store the encrypted storage data in a data compartment in the data compartment storage structure. Thus, the encrypted storage data can be stored in a data compartment in the data compartment storage structure.Even if the encrypted storage data in part of the data vaults in the data vault storage structure is cracked or leaked, since the storage data is separately encrypted and stored in different data vaults, the data in other vaults except the cracked or leaked vault can still be protected, improving the security of data storage. The updated preset storage mapping relationship table is encrypted to obtain an encrypted preset storage mapping relationship table. In this way, the preset storage mapping relationship table containing the storage mapping relationship data of each storage data in the storage data set can be encrypted. Because the storage data in the storage data set is separately encrypted and stored in a data vault in the data vault storage structure when storing each storage data in the storage data set, even if the encrypted storage data in part of the data vaults in the data vault storage structure is cracked or leaked, the data in other vaults can still be protected, improving the security of data storage. At the same time, storing the storage data in a data vault in the data vault storage structure can quickly locate the vault where the data to be read according to a read request, read only the required data, improve the reading efficiency, and reduce the data acquisition response time. BRIEF DESCRIPTION OF DRAWINGS
[0013] The above and other features, advantages, and aspects of embodiments of the present disclosure will become more apparent by describing in detail some embodiments thereof with reference to the attached drawings. The same or similar components have the same or similar reference labels. It should be understood that the drawings are schematic and elements and features are not necessarily drawn to scale.
[0014] Figure 1 is a flowchart of some embodiments of a data storage method according to the present disclosure;
[0015] Figure 2 is a structural schematic diagram of some embodiments of a data storage device according to the present disclosure;
[0016] Figure 3 is a structural schematic diagram of an electronic device suitable for implementing some embodiments of the present disclosure;
[0017] Figure 4 is a structural schematic diagram of some embodiments of a data vault storage structure according to the present disclosure. DETAILED DESCRIPTION
[0018] Embodiments of the present disclosure will be described in detail with reference to the drawings. Although some embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms, and should not be interpreted as being limited to the embodiments set forth herein. On the contrary, these embodiments are provided to make the present disclosure more thorough and complete. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes, and are not intended to limit the scope of protection of the present disclosure. In some embodiments of the present disclosure, the storage data in the storage data set is separately encrypted and stored in a data vault in the data vault storage structure when storing each storage data in the storage data set. In this way, even if the encrypted storage data in part of the data vaults in the data vault storage structure is cracked or leaked, the data in other vaults can still be protected, improving the security of data storage. At the same time, storing the storage data in a data vault in the data vault storage structure can quickly locate the vault where the data to be read according to a read request, read only the required data, improve the reading efficiency, and reduce the data acquisition response time.
[0019] In addition, it needs to be noted that only parts related to the present application are shown in the drawings for the convenience of description. The embodiments in the present disclosure and the features in the embodiments can be combined with each other without conflict.
[0020] It should be noted that the terms "first", "second" and the like mentioned in the present disclosure are only used to distinguish different devices, modules or units, and do not imply the order or interdependence of the functions performed by these devices, modules or units.
[0021] It should be noted that the terms "one", "multiple" mentioned in the present disclosure are illustrative and not restrictive, and those skilled in the art should understand that unless otherwise explicitly indicated in the context, it should be understood as "one or more".
[0022] The names of the messages or information exchanged between the plurality of devices in the embodiments of the present disclosure are only for illustrative purposes, and are not used to limit the scope of the messages or information.
[0023] The present disclosure will be described in detail below with reference to the drawings and in conjunction with embodiments.
[0024] Figure 1 Flow 100 of some embodiments of a data storage method according to the present disclosure is shown. The data storage method includes the following steps:
[0025] Step 101, creating a data bin storage structure.
[0026] In some embodiments, the execution subject (for example, a SAN storage device) of the data storage method can create a data bin storage structure. The execution subject can be a storage device (for example, a SAN storage device, a storage server) that sends storage data to a target device. The target device can be a client device (for example, a client computer device (such as a personal computer, a server), a mobile terminal device (such as a smart phone, a tablet computer, etc.).
[0027] In some optional implementations of some embodiments, the execution subject can create a data bin storage structure by the following steps:
[0028] In a first step, the data storage requirement information is obtained. In practice, the above-mentioned execution subject can obtain the data storage requirement information from the above-mentioned target device through wired connection or wireless connection. The above-mentioned storage requirement information can be the data volume information of the storage data. The above-mentioned storage requirement information includes the number of storage data and the maximum data volume. The above-mentioned number of storage data can be the number of storage data in the storage data set sent by the target device. The above-mentioned maximum data volume can be the data volume of the storage data with the largest data volume in the storage data set (for example, 500MB).
[0029] It should be noted that the above-mentioned wireless connection mode can include but is not limited to 3G / 4G connection, WiFi connection, Bluetooth connection, WiMAX connection, Zigbee connection, UWB (ultra wideband) connection, and other now known or future developed wireless connection modes.
[0030] In a second step, the data warehouse storage structure is created based on the above-mentioned storage requirement information. In practice, the above-mentioned execution subject can determine the number of storage data included in the above-mentioned storage requirement information as a target number. Then, the above-mentioned execution subject can query the preset relationship table to determine the warehouse storage structure information corresponding to the above-mentioned target number as the target warehouse storage structure information. After that, the above-mentioned execution subject can determine the maximum data volume included in the storage requirement information as a target data volume. Finally, the above-mentioned execution subject can execute the task corresponding to the preset creation task information, with the structure corresponding to the target warehouse storage structure information as the creation structure, and with the target data volume as the size of the data warehouse, to create the data warehouse storage structure. The above-mentioned target warehouse storage structure information can represent the warehouse storage structure (for example, the warehouse storage structure includes three layers, each layer includes five columns, and each column includes four data warehouses). Figure 4 is a structural schematic diagram of some embodiments of the data warehouse storage structure according to the present disclosure. As shown in Figure 4 , the above-mentioned data warehouse storage structure includes various data warehouse layers, each data warehouse layer in the above-mentioned various data warehouse layers includes various data warehouse columns, and each data warehouse column includes various data warehouses. Figure 4 In the above-mentioned various data warehouses, N can represent the column identifier or serial number identifier. Each data warehouse in the above-mentioned various data warehouses can be a storage unit (for example, a logical storage unit) with a storage size of the above-mentioned target data volume. The above-mentioned various data warehouse columns can be various horizontal data warehouse columns or various vertical data warehouse columns, which are not limited here. The above-mentioned preset creation task information can be a programming language code pre-written by a developer to create a data warehouse storage structure with the structure corresponding to the target warehouse storage structure information as the creation structure and with the target data volume as the size of the data warehouse.
[0031] In step 102, in response to receiving the storage request information sent by the target device, the storage request information is determined as to-be-processed storage request information.
[0032] In some embodiments, the execution subject can determine the storage request information received from the target device as to-be-processed storage request information. The to-be-processed storage request information includes a set of storage data and a set of storage data identifiers, each storage data in the set of storage data corresponds to each storage data identifier in the set of storage data identifiers. The storage data identifier can be the name or number of the storage data. For example, the storage data identifier can be "D12345". Each storage data in the set of storage data can include but is not limited to one of the following: text data, audio data, image data, and video data.
[0033] In step 103, for each storage data in the set of storage data included in the to-be-processed storage request information, the following storage steps are performed:
[0034] In step 1031, the storage data identifier corresponding to the storage data is determined.
[0035] In some embodiments, the execution subject can determine the storage data identifier corresponding to the storage data. In practice, the execution subject can determine the storage data identifier corresponding to the storage data from the set of storage data identifiers.
[0036] In step 1032, based on the storage data identifier, the storage bin location information corresponding to the storage data is generated.
[0037] In some embodiments, the execution subject can generate the storage bin location information corresponding to the storage data based on the storage data identifier.
[0038] In some optional implementations of some embodiments, the execution subject can generate the storage bin location information corresponding to the storage data based on the storage data identifier by the following steps:
[0039] First, the storage data identifier is hashed to obtain a hash value corresponding to the storage data identifier. In practice, the execution subject can hash the storage data identifier by a preset hash function to obtain a hash value corresponding to the storage data identifier.
[0040] Second, the number of data bin layers of each data bin layer included in the data bin storage structure is determined as a first target number. Each data bin layer in the data bin layer has a corresponding layer identifier. For example, the layer identifier can be "1 layer".
[0041] In the third step, the target layer identifier is generated based on the hash value and the first target number. In practice, the execution subject can determine the hash value as a first target hash value. Then, based on the first target hash value, the following first determination step is performed: first, the remainder obtained by dividing the first target hash value by the first target number is determined as an initial layer identifier. Then, the execution subject can traverse each data bin included in the data bin layer corresponding to the initial layer identifier, and in response to determining that there is at least one data bin storing a random number or at least one data bin not storing data in the each data bin, the execution subject can determine the initial layer identifier as the target layer identifier. In response to determining that there is no data bin storing a random number and no data bin not storing data in the each data bin, the execution subject can update the sum of the first target hash value and a preset value (for example, 1) as the first target hash value. Then, the execution subject can perform the first determination step again based on the updated first target hash value. The random number can be a random number of a preset length generated in advance.
[0042] In the fourth step, the data bin layer corresponding to the target layer identifier in the each data bin layer is determined as a target data bin layer.
[0043] In the fifth step, the number of data bin columns in the each data bin column included in the target data bin layer is determined as a second target number. Each data bin column of the each data bin column corresponds to a column identifier. For example, the column identifier can be "01 column".
[0044] In the sixth step, the target column identifier is generated based on the hash value and the second target number. In practice, the execution subject can determine the hash value as a second target hash value. Then, based on the second target hash value, the following second determination step is performed: first, the remainder obtained by dividing the second target hash value by the second target number is determined as an initial column identifier. Then, the execution subject can traverse each data bin included in the data bin column corresponding to the initial column identifier, and in response to determining that there is at least one data bin storing a random number or at least one data bin not storing data in the each data bin, the execution subject can determine the initial column identifier as the target column identifier. In response to determining that there is no data bin storing a random number and no data bin not storing data in the each data bin, the execution subject can update the sum of the second target hash value and a preset value (for example, 1) as the second target hash value. Then, the execution subject can perform the second determination step again based on the updated second target hash value.
[0045] In the seventh step, the data bin column corresponding to the target column identifier in the each data bin column is determined as a target data bin column.
[0046] Step 8: Determine the number of data cells in each data cell included in the target data cell column as the third target number. Each data cell in the above-mentioned data cell column corresponds to a serial number identifier within the target data cell column. For example, the serial number identifier could be "position 02 in the column".
[0047] Step 9: Based on the aforementioned hash value and the aforementioned third target quantity, generate a target sequence number identifier. In practice, the executing entity can determine the aforementioned hash value as the third target hash value. Then, based on the third target hash value, perform the following third determination step: First, determine the remainder obtained by dividing the third target hash value by the third target quantity as the initial sequence number identifier. Then, the executing entity can traverse the data warehouses corresponding to the initial sequence number identifiers in the target data warehouse column. In response to determining that a random number is stored in a data warehouse or that no data is stored in a data warehouse, the executing entity can determine the initial sequence number identifier as the target sequence number identifier. In response to determining that no random number is stored in a data warehouse but data is stored, the executing entity can update the third target hash value with the sum of the third target hash value and a preset value (e.g., 1). Next, the executing entity can perform the aforementioned third determination step again based on the updated third target hash value.
[0048] Step 10: Determine the target layer identifier, the target column identifier, and the target sequence number identifier as the storage cell location information corresponding to the above-mentioned stored data.
[0049] Step 1033: Based on the preset encrypted information database, generate encrypted information for the corresponding stored data.
[0050] In some embodiments, the executing entity may generate encrypted information corresponding to the stored data based on a preset encrypted information library. In practice, the executing entity may randomly select an encrypted information from the encrypted information library as the encrypted information corresponding to the stored data. The preset encrypted information library may be a database storing various encrypted information. Each of the encrypted information may represent an encryption algorithm that converts plaintext into ciphertext.
[0051] Step 1034: Generate storage mapping relationship data based on encrypted information, storage data identifier, and storage cell location information.
[0052] In some embodiments, the execution entity may generate storage mapping relationship data based on the encrypted information, the storage data identifier, and the storage compartment location information.
[0053] In some optional implementations of certain embodiments, the execution entity may generate storage mapping relationship data based on the encrypted information, the storage data identifier, and the storage compartment location information through the following steps:
[0054] In a first step, a mapping relationship dictionary structure information is created. The mapping relationship dictionary structure information can represent a dictionary storing encryption information, storage data identifiers, and storage bin location information, and the corresponding relationship among the three.
[0055] In a second step, one of the storage data identifiers or the storage bin location information is determined as a to-be-inserted key.
[0056] In a fourth step, in response to determining that the storage data identifier is the to-be-inserted key, the following steps are performed:
[0057] In a first sub-step, the encryption information and the storage bin location information are stored in a preset two-dimensional array, and the preset two-dimensional array storing the encryption information and the storage bin location information is determined as a to-be-inserted value corresponding to the to-be-inserted key.
[0058] In a second sub-step, the to-be-inserted key and the to-be-inserted value are stored in a data structure corresponding to the mapping relationship dictionary structure information, to obtain storage mapping relationship data.
[0059] In a fifth step, in response to determining that the storage bin location information is the to-be-inserted key, the following steps are performed:
[0060] In a first sub-step, the encryption information and the storage data identifier are stored in a preset two-dimensional array, and the preset two-dimensional array storing the encryption information and the storage bin location information is determined as a to-be-inserted value corresponding to the to-be-inserted key.
[0061] In a second sub-step, the to-be-inserted key and the to-be-inserted value are stored in a data structure corresponding to the mapping relationship dictionary structure information, to obtain storage mapping relationship data. The storage mapping relationship data can be a dictionary containing the encryption information, the storage data identifier, and the storage bin location information.
[0062] In step 1035, the storage mapping relationship data is stored in a preset storage mapping relationship table, to update the preset storage mapping relationship table.
[0063] In some embodiments, the execution subject can store the storage mapping relationship data in the preset storage mapping relationship table, to update the preset storage mapping relationship table. The preset storage mapping relationship table can be a data table recording the storage mapping relationship data.
[0064] In step 1036, based on the encryption information, the storage data is encrypted to obtain encrypted storage data.
[0065] In some embodiments, the execution subject can encrypt the storage data based on the encryption information to obtain encrypted storage data. In practice, the execution subject can encrypt the storage data based on the encryption information and a preset public key to obtain the encrypted storage data. The encrypted storage data can be data obtained by encrypting the storage data.
[0066] At step 1037, the encrypted storage data is stored in a data bin in the data bin storage structure based on the storage bin position information.
[0067] In some embodiments, the execution subject can store the encrypted storage data in a data bin in the data bin storage structure based on the storage bin position information.
[0068] In some optional implementations of some embodiments, the execution subject can store the encrypted storage data in a data bin in the data bin storage structure based on the storage bin position information by the following steps:
[0069] First, a data bin corresponding to the storage bin position information in the data bin storage structure is determined as a target data bin.
[0070] Second, the target data bin is emptied, and the encrypted storage data is stored in the emptied target data bin.
[0071] Third, each data bin in the data bin storage structure that does not store data is determined as an obfuscated data bin.
[0072] Third, for each obfuscated data bin in the obfuscated data bins, pre-generated obfuscated data is stored in the obfuscated data bin. The obfuscated data can be a pre-generated random number with a preset length.
[0073] At step 104, the updated preset storage mapping relationship table is encrypted to obtain an encrypted preset storage mapping relationship table.
[0074] In some embodiments, the execution subject can encrypt the updated preset storage mapping relationship table to obtain an encrypted preset storage mapping relationship table. In practice, the execution subject can encrypt the preset storage mapping relationship table by a preset encryption algorithm to obtain the encrypted preset storage mapping relationship table. For example, the preset encryption algorithm can be one of, but not limited to, the following: RSA algorithm, ECC algorithm.
[0075] In the process of solving the problems mentioned in the background by the technical solutions, the following problems often occur:
[0076] After the storage data set sent by the target device is stored to the data warehouse storage structure, no visual diagram of the correspondence between the storage data and the storage location is generated, the user cannot know the storage location of the storage data, the storage structure and the layout are unclear, when the user needs to access the data, the user can only access the data through the data identifier during storage, when the user forgets the data identifier, the user cannot access the storage data, which leads to poor user experience.
[0077] In the face of the above technical problems, the inventors decided to adopt the following solutions:
[0078] In some optional implementations of some embodiments, after the updated preset storage mapping relationship table is encrypted to obtain an encrypted preset storage mapping relationship table, the execution subject can further perform the following steps:
[0079] Firstly, based on the preset storage mapping relationship table, a visual data storage mapping diagram is generated. In practice, for each storage mapping relationship data in the preset storage mapping relationship table, the execution subject can determine the storage data identifier and the storage bin location information included in the storage mapping relationship data as a mapping node to obtain a mapping node group. Then, the execution subject can call a preset graph theory library (for example, NetworkX graph theory library) to generate a visual data storage mapping diagram based on the obtained mapping node groups. The visual data storage mapping diagram can represent a bipartite graph of a one-to-one correspondence between each storage data identifier and each storage bin location information in each storage mapping relationship data.
[0080] Secondly, the visual data storage mapping diagram is sent to the target device.
[0081] Thirdly, in response to receiving the data acquisition information sent by the target device, the encrypted preset storage mapping relationship table is decrypted to obtain the preset storage mapping relationship table. The data acquisition information includes a storage data identifier or a storage bin location information.
[0082] Fourthly, in response to determining that the data acquisition information includes a storage data identifier, the following steps are performed:
[0083] Firstly, the storage data identifier included in the data acquisition information is determined as a to-be-queried data identifier.
[0084] Secondly, the storage mapping relationship data containing the to-be-queried data identifier is queried from the preset storage mapping relationship table, and the queried storage mapping relationship data containing the to-be-queried data identifier is determined as target storage mapping relationship data.
[0085] Third sub-step, determining the storage bin location information included in the target storage mapping relationship data as the target storage bin location information.
[0086] Fifth step, in response to determining that the data acquisition information includes the storage bin location information, determining the storage bin location information as the target storage bin location information, and querying the storage mapping relationship data containing the storage bin location information from the preset storage mapping relationship table as the target storage mapping relationship data.
[0087] Sixth step, acquiring the storage data as the to-be-decrypted storage data from the storage location corresponding to the target storage bin location information in the data bin storage structure.
[0088] Seventh step, sending the encryption information included in the target storage mapping relationship data and the to-be-decrypted storage data to the target device.
[0089] The above technical solution and related content as an inventive point of an embodiment of the present disclosure solves the technical problem of "poor user experience". Factors leading to poor user experience are often as follows: after storing the storage data set sent by the target device into the data warehouse storage structure, a visual graph of the correspondence between the storage data and the storage location is not generated, the user cannot know the storage location of the data set, and the storage structure and layout are unclear. When the user needs to access the data, the user can only access the data through the data identifier during storage, and when the user forgets the data identifier, the user cannot access the stored data, resulting in poor user experience. If the above factors are solved, the effect of improving user experience can be achieved. To achieve this effect, first, based on the above preset storage mapping relationship table, a visual data storage mapping graph is generated. Thus, a visual graph of the correspondence between the storage data and the storage location representing the correspondence between the storage data and the storage location can be generated. The above visual data storage mapping graph is sent to the target device. Thus, the visual graph representing the one-to-one correspondence between the storage data and the storage location can be sent to the target device to enable the user to understand the storage location of the storage data in the data warehouse storage structure. Then, in response to receiving the data acquisition information sent by the target device, the encrypted preset storage mapping relationship table is decrypted to obtain the preset storage mapping relationship table, wherein the data acquisition information includes a storage data identifier or storage warehouse location information. Thus, the encrypted preset storage mapping relationship table can be decrypted to obtain the preset storage mapping relationship table for determining the storage mapping relationship data containing the to-be-queried data identifier when the data acquisition information sent by the target device is received. Next, in response to determining that the data acquisition information includes the storage data identifier, the following steps are performed: first, the storage data identifier included in the data acquisition information is determined as the to-be-queried data identifier. Second, the storage mapping relationship data containing the to-be-queried data identifier is queried from the above preset storage mapping relationship table, and the queried storage mapping relationship data containing the to-be-queried data identifier is determined as the target storage mapping relationship data. Thus, the target storage mapping relationship data for determining the target storage warehouse location information can be obtained. Third, the storage warehouse location information included in the target storage mapping relationship data is determined as the target storage warehouse location information. Thus, the storage location (i.e., the target storage warehouse location information) of the storage data can be determined through the storage data identifier when the data acquisition information includes the storage data identifier through the above steps. Then, in response to determining that the data acquisition information includes the storage warehouse location information, the storage warehouse location information is determined as the target storage warehouse location information, and the storage mapping relationship data containing the storage warehouse location information is queried from the above preset storage mapping relationship table as the target storage mapping relationship data. Thus, the target storage mapping relationship data of the acquired storage data can be determined when the acquisition information includes the storage warehouse location information.Then, the storage data is obtained from the storage location corresponding to the target storage location information in the data warehouse storage structure as to-be-decrypted storage data. Thus, the to-be-decrypted storage data stored in the storage location corresponding to the target storage location information can be obtained. Finally, the encryption information included in the target storage mapping relationship data and the to-be-decrypted storage data are sent to the target device. Thus, the encryption information and the to-be-decrypted storage data can be sent to the target device of the user. Also, after the set of storage data sent by the target device is stored in the data warehouse storage structure, the visualization diagram representing the one-to-one correspondence between the storage data and the storage location is generated and sent to the target device, so that the user can understand the storage location of the storage data in the data warehouse storage structure. When the user forgets the data identifier, the visualization data storage mapping diagram can help the user understand the detailed information (the identifier of each storage data and the one-to-one correspondence between the storage data and the storage location) of the previously stored set of storage data. Meanwhile, the user can access the storage data not only through the storage data identifier but also through the storage location information, thereby improving the user experience.
[0090] In some optional implementations of some embodiments, the execution subject can send the visualization data storage mapping diagram to the target device by the following steps:
[0091] Firstly, preset encryption algorithm information and key information are obtained from a preset database. The preset encryption algorithm information includes extension algorithm information and round function information. The extension algorithm information can represent a key extension algorithm. For example, the extension algorithm information can represent the key extension algorithm of AES. The round function information can represent a round function corresponding to the extension algorithm information and used for confusion and transformation of to-be-encrypted data. The preset database can be a MySQL database.
[0092] Secondly, a round key information sequence corresponding to the key information is generated according to the extension algorithm information and the key information included in the encryption algorithm information. In practice, the execution subject can expand the key corresponding to the key information by executing the key extension algorithm corresponding to the extension algorithm information to obtain the round key information sequence. The key information can represent a preset initial key. The initial key can include characters. One round key information in the round key information sequence can represent one round key. The round key can be a character. For example, the round key information can be “0b01100101”.
[0093] Thirdly, the visualization data storage mapping diagram is determined as to-be-encrypted data.
[0094] In the fourth step, according to the first round key information in the round key information sequence and the data to be encrypted, the following round key encryption processing is performed:
[0095] In the first sub-step, according to the round function information included in the encryption algorithm information and the first round key information, the data to be encrypted is encrypted to obtain the encrypted visual data storage mapping. In practice, the execution subject can convert the data to be encrypted into byte data. Then, the execution subject can input the byte data and the round key corresponding to the first round key information into the round function to obtain the encrypted visual data storage mapping.
[0096] In the second sub-step, the first round key information is removed from the round key information sequence to update the round key information sequence.
[0097] In the third sub-step, in response to determining that the round key information sequence is not empty, the following steps are performed:
[0098] In the first sub-step, the encrypted visual data storage mapping is determined as the data to be encrypted to update the data to be encrypted.
[0099] In the second sub-step, according to the updated round key information sequence and the updated data to be encrypted, the round key encryption processing is performed again.
[0100] In the fourth sub-step, in response to determining that the round key information sequence is empty, the obtained encrypted visual data storage mapping is sent to the target device.
[0101] The technical scheme and related content thereof serve as one of the invention points of the embodiments of the present disclosure, and solve the technical problem that the visual data storage mapping contains sensitive data such as storage data identifiers and storage bin location information of the user's stored data. Directly sending the visual data storage mapping to the target device without performing encryption processing on the visual data storage mapping can easily cause the leakage of sensitive data such as the storage data identifiers and storage bin location information of the user's previously stored data, and result in low security of information transmission of the visual data storage mapping in the transmission process. Factors that result in low security of information transmission of the visual data storage mapping in the transmission process are often as follows: sensitive data such as storage data identifiers and storage bin location information of the stored data. Directly sending the visual data storage mapping to the target device without performing encryption processing on the visual data storage mapping can easily cause the leakage of sensitive data such as the storage data identifiers and storage bin location information of the user's previously stored data, and result in low security of information transmission of the visual data storage mapping in the transmission process. If the above factors are solved, the security of the visual data storage mapping transmission can be improved. To achieve this effect, first, preset encryption algorithm information and key information are obtained from a preset database, wherein the preset encryption algorithm information includes extension algorithm information and round function information. In this way, the preset encryption algorithm information and the key information can be obtained. Then, a round key information sequence corresponding to the key information is generated according to the extension algorithm information and the key information included in the encryption algorithm information. In this way, the round key information sequence for round key encryption processing can be obtained. After that, the visual data storage mapping is determined as encrypted data. Then, according to the first round key information in the round key information sequence and the encrypted data, the following round key encryption processing is performed: first, the encrypted data is processed according to the round function information included in the encryption algorithm information and the first round key information, to obtain an encrypted visual data storage mapping. In this way, the encrypted data can be encrypted for the first time. Second, the first round key information is removed from the round key information sequence to update the round key information sequence. Third, in response to determining that the round key information sequence is not empty, the following steps are performed: first, the encrypted visual data storage mapping is determined as encrypted data to update the encrypted data. In this way, the encrypted data can be updated. Second, the round key encryption processing is performed again according to the updated round key information sequence and the updated encrypted data. Fourth, in response to determining that the round key information sequence is empty, the obtained encrypted visual data storage mapping is sent to the target device. In this way, the encrypted visual data storage mapping can be sent to the target device.Also because the visual data storage mapping is encrypted to obtain an encrypted visual data storage mapping, the possibility of leakage of sensitive data such as the storage data identifier and the storage bin location information of the stored data by the user is reduced. The security of the visual data storage mapping transmission in the process of sending the visual data storage mapping is improved.
[0102] The above various embodiments of the present disclosure have the following beneficial effects: through the data storage method of some embodiments of the present disclosure, the security of data storage is improved and the response time of data acquisition is reduced. Specifically, the reason for poor data storage security and long data acquisition response time is that the data set sent by the target device is directly encapsulated as an encrypted data packet for storage, all data is concentrated in an encrypted data packet, and once the encryption key of the data packet is leaked or cracked, all data will be at risk of leakage, and the security of data storage is low. At the same time, when the target device reads a data in the data set, the entire data packet needs to be decrypted first, and then the required data is searched in the entire data packet, which is low in reading efficiency and long in data acquisition response time. Based on this, the data storage method of some embodiments of the present disclosure first creates a data compartment storage structure. Thus, a storage data set sent by a target device can be created. Then, in response to receiving a storage request information sent by a target device, the storage request information is determined as to-be-processed storage request information, wherein the to-be-processed storage request information includes a storage data set and a storage data identifier set, and each storage data in the storage data set corresponds to each storage data identifier in the storage data identifier set. Next, for each storage data in the storage data set included in the to-be-processed storage request information, the following storage steps are performed: first, determine the storage data identifier corresponding to the storage data. Thus, the storage data identifier of the storage data can be determined. Second, based on the storage data identifier, generate storage compartment location information corresponding to the storage data. Thus, the storage compartment location information for storing the storage data can be generated. Third, based on a preset encryption information library, generate encryption information corresponding to the storage data. Thus, the encryption information for encrypting the storage data can be obtained. Fourth, based on the encryption information, the storage data identifier, and the storage compartment location information, generate storage mapping relationship data. Thus, the storage mapping relationship data representing the correspondence between the encryption information, the storage data identifier, and the storage compartment location information can be generated. Fifth, store the storage mapping relationship data to a preset storage mapping relationship table to update the preset storage mapping relationship table. Thus, the storage mapping relationship data can be stored in the preset storage mapping relationship table. Sixth, based on the encryption information, encrypt the storage data to obtain encrypted storage data. Thus, the storage data can be individually encrypted. Based on the storage compartment location information, store the encrypted storage data in a data compartment in the data compartment storage structure. Thus, the encrypted storage data can be stored in a data compartment in the data compartment storage structure.Even if the encrypted storage data in part of the data warehouse storage structure is cracked or leaked, since the storage data is separately encrypted and stored in different data warehouses, the data of other warehouses can still be protected except the data stored in the cracked or leaked warehouse, thereby improving the security of data storage. The updated preset storage mapping relationship table is encrypted to obtain an encrypted preset storage mapping relationship table. In this way, the preset storage mapping relationship table containing the storage mapping relationship data of each storage data in the storage data set can be encrypted. Also, when storing each storage data in the storage data set, the storage data is separately encrypted and stored in a data warehouse in the data warehouse storage structure. Even if the encrypted storage data in part of the data warehouse storage structure is cracked or leaked, the data of other warehouses can still be protected, thereby improving the security of data storage. Meanwhile, storing the storage data in a data warehouse in the data warehouse storage structure can quickly locate the warehouse where the data to be read is located according to a read request, read only the required data, improve the reading efficiency, and reduce the data acquisition response time.
[0103] Further reference Figure 2 As an implementation of the method shown in each figure, the present disclosure provides some embodiments of a data storage device, which device embodiments correspond to those method embodiments shown in Figure 1 The device can be applied in various electronic devices.
[0104] As Figure 2As shown, the data storage apparatus 200 of some embodiments includes a creating unit 201, a determining unit 202, a storing unit 203, and an encrypting unit 204. The creating unit 201 is configured to create a data compartment storage structure. The determining unit 202 is configured to, in response to receiving a storage request information sent by a target device, determine the storage request information as to-be-processed storage request information, wherein the to-be-processed storage request information includes a storage data set and a storage data identifier set, each storage data in the storage data set corresponds to each storage data identifier in the storage data identifier set. The storing unit 203 is configured to, for each storage data in the storage data set included in the to-be-processed storage request information, perform the following storage steps: determining a storage data identifier corresponding to the storage data; generating storage compartment location information corresponding to the storage data based on the storage data identifier; generating encryption information corresponding to the storage data based on a preset encryption information library; generating storage mapping relationship data based on the encryption information, the storage data identifier, and the storage compartment location information; storing the storage mapping relationship data to a preset storage mapping relationship table to update the preset storage mapping relationship table; encrypting the storage data based on the encryption information to obtain encrypted storage data; storing the encrypted storage data in a data compartment in the data compartment storage structure based on the storage compartment location information. The encrypting unit 204 is configured to encrypt the updated preset storage mapping relationship table to obtain an encrypted preset storage mapping relationship table.
[0105] It can be understood that the units recorded in the apparatus 200 correspond to the respective steps in the method described above. Therefore, the operations, features, and beneficial effects described above for the method also apply to the apparatus 200 and the units included therein, which will not be described here again. Figure 1
[0106] The following refers to Figure 3 which shows a structural schematic diagram of an electronic device 300 suitable for implementing some embodiments of the present disclosure. Figure 3 The electronic device shown is merely an example and should not impose any limitation on the functions and use range of the embodiments of the present disclosure.
[0107] As Figure 3 As shown, the electronic device 300 can include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 301 that can perform various appropriate actions and processes according to programs stored in a read-only memory (ROM) 302 or loaded into a random access memory (RAM) 303 from a storage device 308. Various programs and data required for the operation of the electronic device 300 are also stored in the RAM 303. The processing device 301, the ROM 302, and the RAM 303 are connected to each other through a bus 304. An input / output (I / O) interface 305 is also connected to the bus 304.
[0108] In general, the following devices can be connected to the I / O interface 305: input devices 306 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; output devices 307 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 308 including, for example, a magnetic tape, a hard disk, etc.; and communication devices 309. The communication devices 309 can allow the electronic device 300 to communicate wirelessly or wired with other devices to exchange data. Although Figure 3 The electronic device 300 is shown with various devices, but it should be understood that not all of the shown devices are required to be implemented or present. More or fewer devices can alternatively be implemented or present. Figure 3 Each block shown in the flowcharts can represent a device or multiple devices as needed.
[0109] In particular, processes described above with reference to the flowcharts can be implemented as a computer software program according to some embodiments of the present disclosure. For example, some embodiments of the present disclosure include a computer program product including a computer program carried on a computer readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In some such embodiments, the computer program can be downloaded and installed from a network through the communication devices 309, or installed from the storage devices 308, or installed from the ROM 302. When the computer program is executed by the processing device 301, the functions defined in the methods of some embodiments of the present disclosure are performed.
[0110] Note that the computer-readable medium in some embodiments of the present disclosure can be a computer-readable signal medium or a computer-readable storage medium or any combination thereof. The computer-readable storage medium may, for example and without limitation, be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the computer-readable storage medium can include, but are not limited to, an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In some embodiments of the present disclosure, the computer-readable storage medium can be any tangible medium that contains or stores a program used by or in connection with an instruction execution system, apparatus, or device. In some embodiments of the present disclosure, the computer-readable signal medium can include a data signal propagated in baseband or propagated as a carrier wave in a propagated data signal, in which the computer-readable program code is contained. Such a propagated data signal can take a variety of forms, including but not limited to electro-magnetic, optical, or any suitable combination thereof. The computer-readable signal medium can also be any computer-readable medium that is not a storage medium and that can communicate, propagate, or transport program for use by or in connection with an instruction execution system, apparatus, or device. Program code contained in the computer-readable medium can be transmitted using any suitable medium, including but not limited to wire, cable, RF, etc., or any suitable combination of the foregoing.
[0111] In some embodiments, the client, server, or both can communicate using any current known or future developed network protocol, such as HTTP (HyperText Transfer Protocol), and can be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include local area networks ("LAN"), wide area networks ("WAN"), the Internet, and end-to-end networks (e.g., ad hoc end-to-end networks), as well as any current known or future developed networks.
[0112] The computer readable medium can be contained in the electronic device or exist separately from the electronic device. The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: create a data warehouse storage structure; in response to receiving storage request information sent by a target device, determine the storage request information as to-be-processed storage request information, wherein the to-be-processed storage request information includes a storage data set and a storage data identifier set, each storage data in the storage data set corresponds to each storage data identifier in the storage data identifier set; for each storage data in the storage data set included in the to-be-processed storage request information, perform the following storage steps: determine the storage data identifier corresponding to the storage data; generate storage warehouse location information corresponding to the storage data based on the storage data identifier; generate encryption information corresponding to the storage data based on a preset encryption information library; generate storage mapping relationship data based on the encryption information, the storage data identifier, and the storage warehouse location information; store the storage mapping relationship data to a preset storage mapping relationship table to update the preset storage mapping relationship table; encrypt the storage data based on the encryption information to obtain encrypted storage data; store the encrypted storage data in a data warehouse in the data warehouse storage structure based on the storage warehouse location information; and encrypt the updated preset storage mapping relationship table to obtain an encrypted preset storage mapping relationship table.
[0113] Computer program code for carrying out operations of some embodiments of the disclosure can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider).
[0114] The computer program product of the first aspect can include a computer readable storage medium. The computer readable storage medium can include instructions. The instructions can include one or both of: instructions that, when executed by a processor of a computer, cause the processor to perform operations corresponding to the example methods of the first aspect; and instructions that, when executed by a processor of a computer, cause the processor to perform operations corresponding to the example methods of the first aspect.
[0115] The units described in some embodiments of the present disclosure can be implemented by means of software, or by means of hardware. The units described can also be provided in a processor, for example, a processor can be described as including a creating unit, a determining unit, a storing unit and an encrypting unit. In some cases, the names of the units do not constitute a limitation on the units themselves, for example, the creating unit can also be described as a unit that creates a data warehouse storage structure.
[0116] The functions described above in the text can be performed at least in part by one or more hardware logic components. For example, non-limitingly, example types of hardware logic components that can be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system on a chip (SOCs), complex programmable logic devices (CPLDs), and so on.
[0117] The above description is merely exemplary of some preferred embodiments of the present disclosure and of the application of the principles of the technology. It is understood that the scope of the inventive concept disclosed in the embodiments of the present disclosure is not limited to the specific combinations of technical features disclosed, and should also cover other technical solutions formed by any combination of technical features or their equivalents without departing from the inventive concept. For example, technical solutions formed by replacing features with technical features having similar functions disclosed in the embodiments of the present disclosure (but not limited to) with each other.
Claims
1. A data storage method, comprising: Create a data warehouse storage structure; In response to receiving storage request information sent by the target device, the storage request information is determined as storage request information to be processed, wherein the storage request information to be processed includes a storage dataset and a storage data identifier set, and each storage data in the storage dataset corresponds one-to-one with each storage data identifier in the storage data identifier set; For each piece of stored data in the stored dataset included in the pending storage request information, perform the following storage steps: Determine the storage data identifier corresponding to the stored data; Based on the storage data identifier, generate storage compartment location information corresponding to the storage data; Based on a preset encryption information database, encrypted information corresponding to the stored data is generated; based on the encrypted information, the storage data identifier, and the storage compartment location information, storage mapping relationship data is generated, wherein generating storage mapping relationship data based on the encrypted information, the storage data identifier, and the storage compartment location information includes: Create a dictionary structure for mapping relationships; The storage data identifier or the storage compartment location information is selected as the key to be inserted. In response to determining that the stored data identifier is a key to be inserted, the following steps are performed: The encrypted information and storage compartment location information are stored in a preset two-dimensional array, and the preset two-dimensional array containing the encrypted information and storage compartment location information is determined as the value to be inserted corresponding to the key to be inserted; The key and value to be inserted are stored in the data structure corresponding to the mapping relationship dictionary structure information to obtain the storage mapping relationship data; In response to determining that the storage compartment location information is a key to be inserted, the following steps are performed: The encrypted information and the stored data identifier are stored in a preset two-dimensional array, and the preset two-dimensional array containing the encrypted information and the storage compartment location information is determined as the value to be inserted corresponding to the key to be inserted; The key and value to be inserted are stored in the data structure corresponding to the mapping relationship dictionary structure information to obtain the storage mapping relationship data; The storage mapping relationship data is stored in a preset storage mapping relationship table, so as to update the preset storage mapping relationship table; Based on the encrypted information, the stored data is encrypted to obtain encrypted stored data; Based on the storage cell location information, the encrypted storage data is stored in a data cell within the data cell storage structure; The updated preset storage mapping table is encrypted to obtain an encrypted preset storage mapping table.
2. The method according to claim 1, wherein, The creation of the data warehouse storage structure includes: Obtain data storage requirements; Based on the storage requirements information, a data warehouse storage structure is created.
3. The method according to claim 1, wherein, The preset encryption information database includes information on various preset encryption algorithms; And the generation of encrypted information corresponding to the stored data based on a preset encrypted information database includes: Select one preset encryption algorithm from the preset encryption algorithm information included in the preset encryption information database; The selected preset encryption algorithm information is determined as encrypted information.
4. The method according to claim 1, wherein, The step of storing the encrypted storage data into a data cell within the data cell storage structure based on the storage cell location information includes: The data cell in the data cell storage structure that corresponds to the storage cell location information is identified as the target data cell; The target data warehouse is cleared, and the encrypted storage data is stored in the cleared target data warehouse; Each data cell in the data cell storage structure that does not store data is identified as a scrambled data cell; For each of the various obfuscated data kiosks, the pre-generated obfuscated data is stored in the obfuscated data kiosk.
5. The method according to claim 1, wherein, The data grid storage structure includes various data grid layers, each data grid layer includes various data grid columns, and each data grid column includes various data grids. And generating storage bin location information corresponding to the stored data based on the stored data identifier includes: Perform a hash operation on the stored data identifier to obtain the hash value corresponding to the stored data identifier; The number of data warehouse layers in the data warehouse storage structure is determined as the first target number, wherein each data warehouse layer has a corresponding layer identifier. Based on the hash value and the first target quantity, a target layer identifier is generated; The data warehouse layer corresponding to the target layer identifier in each of the data warehouse layers is determined as the target data warehouse layer; The number of data warehouse grid columns included in the target data warehouse layer is determined as the second target number, wherein each data warehouse grid column in each data warehouse grid column has a corresponding column identifier; Based on the hash value and the second target quantity, a target column identifier is generated; The data warehouse column corresponding to the target column identifier in each of the data warehouse columns is determined as the target data warehouse column; The number of data cells in each data cell included in the target data cell column is determined as the third target number, wherein each data cell in each data cell corresponds to a serial number identifier of the data cell in the target data cell column; Based on the hash value and the third target quantity, a target sequence number identifier is generated; The target layer identifier, the target column identifier, and the target sequence number identifier are determined as the storage compartment location information corresponding to the stored data.
6. A data storage device, comprising: The creation unit is configured to create a data warehouse storage structure. The determining unit is configured to determine the storage request information as a storage request information to be processed in response to receiving storage request information sent by the target device, wherein the storage request information to be processed includes a storage dataset and a storage data identifier set, and each storage data in the storage dataset corresponds one-to-one with each storage data identifier in the storage data identifier set; A storage unit is configured to perform the following storage steps for each piece of storage data in the storage dataset included in the storage request information to be processed: determining a storage data identifier corresponding to the storage data; generating storage cell location information corresponding to the storage data based on the storage data identifier; generating encrypted information corresponding to the storage data based on a preset encrypted information library; generating storage mapping relationship data based on the encrypted information, the storage data identifier, and the storage cell location information, wherein generating storage mapping relationship data based on the encrypted information, the storage data identifier, and the storage cell location information includes: creating mapping relationship dictionary structure information; determining either the storage data identifier or the storage cell location information as the key to be inserted; in response to determining the storage data identifier as the key to be inserted, performing the following steps: storing the encrypted information and the storage cell location information into a preset two-dimensional array, and storing the encrypted information and the storage cell A preset two-dimensional array of location information is determined as the value to be inserted corresponding to the key to be inserted; the key to be inserted and the value to be inserted are stored in the data structure corresponding to the mapping relationship dictionary structure information to obtain storage mapping relationship data; in response to determining that the storage cell location information is the key to be inserted, the following steps are performed: storing encrypted information and storage data identifier in a preset two-dimensional array, and determining the preset two-dimensional array of encrypted information and storage cell location information as the value to be inserted corresponding to the key to be inserted; storing the key to be inserted and the value to be inserted in the data structure corresponding to the mapping relationship dictionary structure information to obtain storage mapping relationship data; storing the storage mapping relationship data in a preset storage mapping relationship table to update the preset storage mapping relationship table; encrypting the stored data based on the encrypted information to obtain encrypted storage data; storing the encrypted storage data in a data cell of the data cell storage structure based on the storage cell location information; The encryption unit is configured to encrypt the updated preset storage mapping table to obtain an encrypted preset storage mapping table.
7. An electronic device, comprising: One or more processors; A storage device on which one or more programs are stored; When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of claims 1 to 5.
8. A computer-readable medium having a computer program stored thereon, wherein, When the program is executed by the processor, it implements the method as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Secure computing service environment
US10893029B1