Data storage method, device, equipment and storage medium

By generating hash values ​​of JSON data as identification information, and utilizing hash operations and associations to avoid duplicate storage, the problems of redundant JSON storage and high computational costs are solved, thereby improving write performance and data referencing efficiency.

CN122087153APending Publication Date: 2026-05-26NINGBO DEYE FREQUENCY CONVERSION TECHNOLOGY CO LTD SHANGHAI BRANCH
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
NINGBO DEYE FREQUENCY CONVERSION TECHNOLOGY CO LTD SHANGHAI BRANCH
Filing Date
2025-12-19
Publication Date
2026-05-26

Smart Images

  • Figure CN122087153A_ABST
    Figure CN122087153A_ABST
Patent Text Reader

Abstract

This application provides a data storage method, apparatus, device, and storage medium. The method includes: upon receiving data to be stored, determining first identification information and reference information for the data to be stored, wherein the reference information indicates the referrer of the data to be stored; determining whether there is target identification information matching the first identification information among a plurality of stored second identification information; and if so, establishing an association between the reference information and the stored data corresponding to the target identification information. This application can utilize identification information for low-cost search and comparison, avoiding duplicate data storage; and by establishing an association between the reference information of the data to be stored and the stored data, it can achieve the goal of not storing the data to be stored without affecting the normal provision of data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing technology, and in particular to a data storage method, apparatus, device and storage medium. Background Technology

[0002] In modern software configuration management systems, JSON format has become the mainstream carrier for storing device parameters, user policies, and service configurations due to its structured expressive power and cross-platform compatibility. These systems generate large amounts of configuration data through automated tools or manual operations to control IoT terminal behavior, define business rule engine logic, or deploy cloud-native application environments. As system scale increases, configuration data exhibits characteristics of high-frequency generation and multiple versions coexisting. Furthermore, due to the widespread use of templated configuration strategies, highly similar JSON structures often exist between different entities.

[0003] Current industry-standard solutions typically use relational databases or document databases to directly store raw JSON text. To avoid redundant storage, some systems perform duplicate checks before writing: by traversing the existing JSON dataset, a byte-by-byte full-text comparison is performed on the new data. This process usually requires loading the full text of the JSON to be checked into memory and performing a loop matching with the result set returned by the database. Only after the verification is completed is a decision made on whether to persist the data.

[0004] However, when faced with scenarios involving massive device configurations, existing solutions have the following drawbacks: On the one hand, storing complete, highly repetitive long JSON strings leads to huge storage redundancy; on the other hand, relying on full-text comparison to check for duplicate JSON content is computationally expensive for massive amounts of data and long JSON strings, severely impacting write performance. Summary of the Invention

[0005] This application provides a data storage method, apparatus, device, and storage medium to solve the problems in the prior art: traditional databases directly store complete, highly repetitive long JSON strings, resulting in huge storage redundancy; relying on full-text comparison to check whether JSON content is duplicated is computationally very expensive for massive amounts of data and long JSON strings, seriously affecting write performance.

[0006] In a first aspect, this application provides a data storage method, the method comprising:

[0007] Upon receiving data to be stored, the first identification information and reference information of the data to be stored are determined, wherein the reference information is used to indicate the referrer of the data to be stored;

[0008] Determine whether there is a target identifier that matches the first identifier among the stored second identifier information;

[0009] If they exist, then establish an association between the reference information and the stored data corresponding to the target identifier information.

[0010] In one possible design, determining the first identification information of the data to be stored includes:

[0011] Perform a first hash operation on the data to be stored to generate a first hash value;

[0012] The first identification information is determined based on the first hash value.

[0013] In one possible design, determining the first identification information based on the first hash value includes:

[0014] A second hash operation is performed on the data to be stored to generate a second hash value, wherein the first hash operation and the second hash operation are implemented based on different hash algorithms;

[0015] The first hash value and the second hash value are concatenated to form the first identification information.

[0016] In one possible design, determining the first identification information based on the first hash value includes:

[0017] Obtain the byte length information of the data to be stored;

[0018] The first hash value and the byte length information are concatenated to form the first identifier information.

[0019] In one possible design, determining whether there is target identification information matching the first identification information among the stored plurality of second identification information includes:

[0020] Calculate the similarity between the first identifier information and each of the second identifier information. If the similarity is greater than or equal to a preset threshold, then the corresponding second identifier information is determined as the target identifier information.

[0021] In one possible design, determining whether there is target identification information matching the first identification information among the stored plurality of second identification information includes:

[0022] Obtain the historical number of successful matches for each of the second identifier information;

[0023] Based on the number of historical successful matches, the matching priority of each second identifier is determined. The higher the number of historical successful matches, the higher the matching priority of the corresponding second identifier.

[0024] The first identifier information is matched with each of the second identifier information in descending order of matching priority.

[0025] In one possible design, the method further includes:

[0026] If the target identification information does not exist, the data to be stored, the first identification information, and the reference information will be stored according to preset rules.

[0027] Secondly, this application provides a data storage device, the device comprising:

[0028] The determination module is used to, upon receiving data to be stored, determine first identification information and reference information of the data to be stored, wherein the reference information is used to indicate the referrer of the data to be stored.

[0029] The matching module is used to determine whether there is a target identifier that matches the first identifier among a plurality of stored second identifier information;

[0030] If they exist, then establish an association between the reference information and the stored data corresponding to the target identifier information.

[0031] Thirdly, this application provides an electronic device, including: a processor, and a memory communicatively connected to the processor;

[0032] The memory stores computer-executed instructions;

[0033] The processor executes computer execution instructions stored in the memory to implement the method as described in the first aspect.

[0034] Fourthly, this application provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the method described in the first aspect.

[0035] The data storage method, apparatus, equipment, and storage medium provided in this application have the following technical advantages:

[0036] This solution indicates that the data to be stored has already been stored when a second identifier matching the first identifier is found, thus skipping the storage step and avoiding duplicate storage. In determining whether the data to be stored has already been stored, the first identifier is used for low-cost lookup and comparison, avoiding the high-cost full-text comparison in existing technologies. By establishing a relationship between the reference information of the data to be stored and the stored data, the referencer of the data to be stored can be associated with the stored data. When the referencer needs to reference the stored data, the stored data can be provided based on the recorded relationship, thus achieving the goal of not storing the data to be stored without affecting the normal provision of data. Attached Figure Description

[0037] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0038] Figure 1 Flowchart of the data storage method provided in the embodiments of this application Figure 1 ;

[0039] Figure 2 Flowchart of the data storage method provided in the embodiments of this application Figure 2 ;

[0040] Figure 3 This is a schematic flowchart of a method for determining target identification information provided in an embodiment of this application;

[0041] Figure 4 This is a schematic diagram of the data storage device structure provided in the embodiments of this application;

[0042] Figure 5 A schematic diagram of the structure of the electronic device provided in this application.

[0043] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation

[0044] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments matching this application. Rather, they are merely examples of apparatuses and methods matching some aspects of this application as detailed in the appended claims.

[0045] To address the technical problems in existing technologies, such as traditional databases directly storing complete, highly repetitive long JSON strings, leading to significant storage redundancy; and relying on full-text comparison to check for duplicate JSON content, which is computationally expensive for massive amounts of data and long JSON strings, severely impacting write performance, the technical concept of this application is:

[0046] When new data to be stored is received, the first identifier information of the data is obtained. The first identifier information is compared with the second identifier information corresponding to other stored data. If there is a second identifier information that matches the first identifier information, it means that the data to be stored has been stored before. Therefore, the data to be stored is not stored, and an association relationship is established between the reference information of the data to be stored and the stored data corresponding to the second identifier information.

[0047] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will be described below with reference to the accompanying drawings.

[0048] Example 1

[0049] Figure 1 Flowchart of the data storage method provided in the embodiments of this application Figure 1 This method can be applied to servers, such as distributed storage servers or cloud storage servers, for example. Figure 1 As shown, the method includes:

[0050] S101. Upon receiving data to be stored, determine the first identification information and reference information of the data to be stored. The reference information is used to indicate the referrer of the data to be stored.

[0051] Because data storage requires tracing the reference relationships within the data, when the server receives data to be stored, it must simultaneously extract both the primary identifier information used for data identification and the referencer information used to track data dependencies. Specifically, if the data to be stored is structured data (such as database records), the primary key field (such as user ID or order number) is extracted as the primary identifier information. Reference information can be obtained, for example, from parsing the caller ID (such as microservice name or user account) in the request header. If the data to be stored is referenced sub-data (such as nested JSON objects), its reference path can be extracted from the parent data.

[0052] S102. Determine whether there is a target identifier that matches the first identifier among the stored second identifier information;

[0053] To achieve data deduplication, the server needs to match the first identifier information of the data to be stored with the identifier database of already stored data (which stores several second identifier information). During the matching process, for example, the primary key field can be retrieved through a database index (such as a B+ tree index). If the same primary key exists, the data to be stored is determined to be duplicate data.

[0054] If it exists, then execute S103;

[0055] S103. Establish the association between the reference information and the stored data corresponding to the target identification information.

[0056] To avoid storing redundant data and maintain the integrity of the referencing chain, the server needs to associate referrers with already stored data rather than storing them repeatedly. In practical applications, relationships need to support fast querying; therefore, relationship storage can be achieved by inserting reference table records into a relational database (such as MySQL), with fields including referrer ID and target data ID; or by creating node relationships in a graph database (such as Neo4j). Furthermore, a dynamic update mechanism can be used, for example, when the same data is referenced multiple times, appending a list of referrers (such as a JSON array) to the data's metadata to ensure data traceability.

[0057] The data storage method provided in this embodiment has the following technical effects:

[0058] This solution indicates that the data to be stored has already been stored when a second identifier matching the first identifier is found, thus skipping the storage step and avoiding duplicate storage. In determining whether the data to be stored has already been stored, the first identifier is used for low-cost lookup and comparison, avoiding the high-cost full-text comparison in existing technologies. By establishing a relationship between the reference information of the data to be stored and the stored data, the referencer of the data to be stored can be associated with the stored data. When the referencer needs to reference the stored data, the stored data can be provided based on the recorded relationship, thus achieving the goal of not storing the data to be stored without affecting the normal provision of data.

[0059] Example 2

[0060] Figure 2 Flowchart of the data storage method provided in the embodiments of this application Figure 2 ,like Figure 2 As shown, the method includes:

[0061] S201. Upon receiving data to be stored, determine the first identification information and reference information of the data to be stored. The reference information is used to indicate the referrer of the data to be stored.

[0062] In this step, determining the first identifier of the data to be stored can be achieved by performing a first hash operation on the data to be stored to generate a first hash value, and then determining the first identifier based on the first hash value. The first hash operation can be implemented, for example, using the MD5 algorithm, to generate a 128-bit first hash value. The hash value generated after hashing the data to be stored has unique identification capabilities, and the hash operation is fast, which can improve the efficiency of searching and matching.

[0063] In practical applications, the first hash value can be used as the first identifier. However, due to the extremely low probability of hash collisions (i.e., the same hash value generated after hashing two different pieces of data to be stored), this probability is almost negligible when the data to be stored is GB-level JSON data. Nevertheless, to avoid misjudgment caused by hash collisions, this embodiment provides several optional methods for determining the first identifier based on the first hash value:

[0064] Method 1:

[0065] Step 1: Perform a second hash operation on the data to be stored to generate a second hash value. The first and second hash operations are implemented based on different hash algorithms.

[0066] To mitigate the collision risk of a single hash algorithm and achieve higher computational efficiency, this step employs a heterogeneous hash algorithm to construct a composite content fingerprint. A specific implementation could be as follows: first, a high-speed, unencrypted hash algorithm (such as xxHash128) is used to perform a first hash operation to generate a 128-bit digest value; then, a collision-resistant encrypted hash algorithm (such as SHA-256) is used to perform a second hash operation to generate a 256-bit digest value.

[0067] Step 2: Concatenate the first hash value and the second hash value to form the first identifier information.

[0068] Specifically, for example, the 128-bit first hash value and the 256-bit second hash value can be concatenated in big-endian order to form a 384-bit binary stream (such as xxHash value + SHA256 value), and then converted into a 64-character fixed-length string using Base64 encoding as the first identifier information; or the first identifier information can be generated using a byte interleaving mode (such as taking the first byte of xxHash → the first byte of SHA256 → the second byte of xxHash...).

[0069] This method concatenates the hash values ​​generated by two different hash operations into the first identifier information, thus avoiding hash collisions while maintaining high computational efficiency.

[0070] Method 2:

[0071] Step 1: Obtain the byte length information of the data to be stored;

[0072] Since different data to be stored generally have different byte lengths, byte length information can be introduced to avoid hash collisions. Specifically, for example, the system-level functions len() or sizeof() can be called to obtain the original byte length of the JSON data to be stored (e.g., 128 bytes in UTF-8 encoding), and then the value can be converted into a fixed-length integer for storage (e.g., a 32-bit unsigned integer).

[0073] Step 2: Concatenate the first hash value and byte length information to form the first identifier information.

[0074] Specifically, for example, a 128-bit MD5 hash value and a 32-bit length value can be concatenated in little-endian order to form a 160-bit binary stream (e.g., MD5 hash value + length value), or a key-value encoding format can be used to generate a string identifier (e.g., "89d3f7a1...;len=128"), thus generating a first identifier that integrates the hash value and the byte length information. This design ensures that even if a hash collision occurs, the difference in byte length between different data to be stored will not lead to misjudgment.

[0075] S202. Determine whether there is a target identifier that matches the first identifier among the stored second identifier information;

[0076] In practical applications, when data fine-tuning occurs (e.g., changes in JSON key case), even though the data to be stored is not substantially different from the already stored data, the server will still store the data to be stored because the first identifier information of the data to be stored is inconsistent with the second identifier information of the already stored data. To address the fine-tuning caused by this exact matching strategy, it is necessary to determine whether there is a target identifier information that matches the first identifier information among the stored second identifier information. For example, the similarity between the first identifier information and each second identifier information can be calculated. If the similarity is greater than or equal to a preset threshold, the corresponding second identifier information is determined as the target identifier information.

[0077] Specifically, the first identifier (such as an MD5 hash value) and the second identifier (such as the hash value of existing data) can be converted into fixed-length vectors. The Hamming distance can be used to calculate the binary bit difference ratio (e.g., the number of different bits in a 128-bit hash ÷ 128). When the difference ratio is ≤ 5% (i.e., similarity ≥ 95%), it is determined to be a matching target. Alternatively, for text-type identifiers (such as Base64 encoded values), the character set overlap rate can be calculated using the Jaccard coefficient (e.g., J(A,B)=|A∩B| / |A∪B|). A threshold of 95% can be set to trigger matching. This avoids full-text comparison and prevents the server from repeatedly storing data that has been modified (e.g., adding or removing spaces) compared to the data to be stored.

[0078] In practical applications, databases typically store massive amounts of second identifier information. Since second identifier information with a high historical success rate often contains duplicate data to be stored, to improve matching efficiency, it can be sorted based on the historical success rate of matching, with those having a higher historical match count prioritized. Based on this idea, this embodiment provides a method for determining the existence of target identifier information that matches first identifier information. Figure 3 This is a schematic diagram of the method for determining target identification information provided in the embodiments of this application, such as... Figure 3 As shown, the method includes:

[0079] S301. Obtain the historical number of successful matches for each second identifier;

[0080] Specifically, a hash table can be maintained in an in-memory database (such as Redis), using the second identifier information (such as the MD5 value) as the key, and the number of times it has been successfully matched recently is accumulated as a heat value (such as the number of successful matches in the past 24 hours).

[0081] S302. Determine the matching priority of each second identifier based on the number of successful historical matches. The higher the number of successful historical matches, the higher the matching priority of the corresponding second identifier.

[0082] Specifically, the second identifier information can be sorted in descending order of the number of successful historical matches to generate a priority list. For example, matches with ≥1000 matches are marked as P0 level, and matches with 100-999 matches are marked as P1 level.

[0083] S303. Match the first identifier information with each second identifier information in descending order of matching priority.

[0084] A specific implementation method could be as follows: starting from the head of the priority queue, the first identifier information (such as the first identifier information generated by the MD5 algorithm of the data to be stored) is compared with the P0 level and P1 level identifiers in sequence. It should be noted that during the comparison process, a successful match can be confirmed when the first identifier information is completely consistent with a certain second identifier information, or when the similarity between the first identifier information and a certain second identifier information exceeds a preset threshold.

[0085] In this method, subsequent matching is terminated immediately upon successful matching. Since matching is performed in descending order of matching priority, the first identifier information is preferentially matched with the second identifier information (with a high number of successful historical matches). In practical applications, when faced with a massive amount of second identifier information in the database, this strategy can improve matching efficiency and database response speed.

[0086] If it exists, then execute S203;

[0087] S203. Establish the association between the reference information and the stored data corresponding to the target identification information;

[0088] A specific implementation method could be as follows: insert a new record into a separate reference relationship table, which contains the main table ID (such as an auto-incrementing primary key) and reference information (such as a device ID) corresponding to the target identification information. At the same time, update the main table reference counter through atomic operations, such as incrementing the reference counter by 1, so that data does not need to be stored repeatedly, and the user of the data to be stored can be accurately traced.

[0089] If it does not exist, then execute S204;

[0090] S204. Store the data to be stored, the first identification information, and the reference information according to preset rules.

[0091] For data appearing for the first time, the technical approach in this step is to fully store the data and initialize management metadata. Specifically, this step can be implemented as follows: Insert a new record into the main table. The record fields include the data to be stored (e.g., raw JSON text), initial identification information (e.g., MD5 hash value), and an initialized reference counter (set to 1). Simultaneously, create an entry in the reference relationship table to associate the new record's ID with the reference information. Since the data to be stored is not yet stored, for the initial storage operation of this data, this step provides a baseline data source for matching subsequent data by fully storing the data and binding its initial identification information (which will later serve as the second identification information in the matching phase of other data to be stored).

[0092] Figure 4 This is a schematic diagram of the data storage device structure provided in the embodiments of this application, such as... Figure 4 As shown, the device 40 includes:

[0093] The determining module 401 is used to determine the first identification information and reference information of the data to be stored when it receives the data to be stored. The reference information is used to indicate the referrer of the data to be stored.

[0094] The matching module 402 is used to determine whether there is a target identifier that matches the first identifier among a plurality of stored second identifier information;

[0095] If they exist, then establish an association between the reference information and the stored data corresponding to the target identifier information.

[0096] The data storage device provided in this embodiment can execute the method provided in the above method embodiment. Its implementation principle and technical effect are similar, and will not be described in detail here.

[0097] Figure 5A schematic diagram of the structure of the electronic device provided in this application. Figure 5 As shown, the electronic device 50 provided in this embodiment includes at least one processor 501 and a memory 502. Optionally, the device 50 further includes a communication component 503. The processor 501, memory 502, and communication component 503 are connected via a bus 504.

[0098] In a specific implementation, at least one processor 501 executes computer execution instructions stored in memory 502, causing at least one processor 501 to perform the above-described method.

[0099] The specific implementation process of processor 501 can be found in the above method embodiments, and its implementation principle and technical effect are similar. It will not be repeated here.

[0100] In the above embodiments, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this invention can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules within the processor.

[0101] The memory may include random access memory (RAM) and may also include non-volatile memory (NVM), such as at least one disk storage device.

[0102] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.

[0103] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the above-described method.

[0104] This application also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the above-described method.

[0105] The aforementioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The readable storage medium can be any available medium accessible to a general-purpose or special-purpose computer.

[0106] An exemplary readable storage medium is coupled to a processor, enabling the processor to read information from and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can reside in an Application Specific Integrated Circuit (ASIC). Alternatively, the processor and the readable storage medium can exist as discrete components in the device.

[0107] The division of units is merely a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices, or units, and may be electrical, mechanical, or other forms.

[0108] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0109] In addition, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0110] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0111] Those skilled in the art will understand that all or part of the steps of the above-described method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments; and the aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.

[0112] Finally, it should be noted that other embodiments of the invention will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This invention is intended to cover any variations, uses, or adaptations of the invention that follow the general principles of the invention and include common knowledge or customary techniques in the art not disclosed herein, and is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of the invention is limited only by the appended claims.

Claims

1. A data storage method, characterized in that, The method includes: Upon receiving data to be stored, the first identification information and reference information of the data to be stored are determined, wherein the reference information is used to indicate the referrer of the data to be stored; Determine whether there is a target identifier that matches the first identifier among the stored second identifier information; If they exist, then establish an association between the reference information and the stored data corresponding to the target identifier information.

2. The method according to claim 1, characterized in that, The determination of the first identifier information of the data to be stored includes: Perform a first hash operation on the data to be stored to generate a first hash value; Based on the first hash value, the first identification information is determined.

3. The method according to claim 2, characterized in that, Determining the first identifier information based on the first hash value includes: A second hash operation is performed on the data to be stored to generate a second hash value, wherein the first hash operation and the second hash operation are implemented based on different hash algorithms; The first hash value and the second hash value are concatenated to form the first identification information.

4. The method according to claim 2, characterized in that, Determining the first identifier information based on the first hash value includes: Obtain the byte length information of the data to be stored; The first hash value and the byte length information are concatenated to form the first identifier information.

5. The method according to claim 1, characterized in that, Determining whether there is a target identifier that matches the first identifier among the stored plurality of second identifier information includes: Calculate the similarity between the first identifier information and each of the second identifier information. If the similarity is greater than or equal to a preset threshold, then the corresponding second identifier information is determined as the target identifier information.

6. The method according to claim 1, characterized in that, Determining whether there is a target identifier that matches the first identifier among the stored plurality of second identifier information includes: Obtain the historical number of successful matches for each of the second identifier information; Based on the number of historical successful matches, the matching priority of each second identifier is determined. The higher the number of historical successful matches, the higher the matching priority of the corresponding second identifier. The first identifier information is matched with each of the second identifier information in descending order of matching priority.

7. The method according to any one of claims 1-6, characterized in that, The method further includes: If the target identification information does not exist, the data to be stored, the first identification information, and the reference information will be stored according to preset rules.

8. A data storage device, characterized in that, The device includes: The determination module is used to, upon receiving data to be stored, determine first identification information and reference information of the data to be stored, wherein the reference information is used to indicate the referrer of the data to be stored. The matching module is used to determine whether there is a target identifier that matches the first identifier among a plurality of stored second identifier information; If they exist, then establish an association between the reference information and the stored data corresponding to the target identifier information.

9. An electronic device, characterized in that, include: A processor, and a memory communicatively connected to the processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory to implement the method as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1 to 7.