Data integrity verification method, device and equipment and readable storage medium

By using a hash verification method based on the backup chain topology graph, the changed blocks of virtual machine data are identified and verified, which solves the problem of low efficiency in backup data integrity verification of virtualization platforms and achieves efficient and accurate data integrity verification and automatic repair.

CN120994470APending Publication Date: 2025-11-21JINAN INSPUR DATA TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511261015.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-04
Publication Date
2025-11-21

AI Technical Summary

Technical Problem

In existing technologies, the backup data integrity verification of virtualization platforms is inefficient. Traditional methods are time-consuming and resource-intensive, making it difficult to detect data integrity issues in a timely manner in large-scale virtualization environments.

Method used

The backup chain topology based on virtual machines identifies the data blocks to be backed up that have undergone data changes. It uses a hash verification method to calculate the first and second verification values, compares the hash values ​​of related data blocks, determines the data integrity result, and automatically implements a repair strategy.

Benefits of technology

It improves the efficiency and accuracy of data integrity verification, reduces system I/O load, enables precise location at the block level, and ensures that the data integrity verification process does not affect the user's production environment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120994470A_ABST
    Figure CN120994470A_ABST
Patent Text Reader

Abstract

The invention discloses a data integrity verification method, device and equipment and a readable storage medium, and is applied to the technical field of cloud computing and data storage, and the method comprises the following steps: determining a to-be-backed-up data block of which the data is changed based on a backup chain topological graph corresponding to a virtual machine; the backup chain topological graph is a graph for dynamically recording the changed address of the virtual machine data; calculating a first verification value corresponding to the to-be-backed-up data block by using a verification method; when the to-be-backed-up data block is backed up successfully, calculating a second check value of backup data corresponding to the to-be-backed-up data block based on the check method, and determining a hash value of an associated data block associated with the to-be-backed-up data based on the backup chain topological graph; and performing data integrity verification based on the first verification value, the second verification value and the hash value of the associated data block, and determining a data integrity result. According to the method, only the changed data blocks are checked, so that the checking time consumption is greatly reduced, the checking efficiency can be improved, and the block-level definition is adopted, so that the checking precision can also be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of cloud computing and data storage technology, and in particular to a data integrity verification method, apparatus, device, and readable storage medium. Background Technology

[0002] Virtualization platforms (such as VMware, Hyper-V, and KVM) rely on scheduled backups to ensure business continuity. However, the backup process may result in partial data loss or corruption due to network outages, storage failures, or software defects. If the backup data itself is corrupted, then restoring the backup is meaningless. In large-scale virtualization environments, massive amounts of data and their backups are generated daily. Administrators find it difficult to manually check the validity of these backups, and traditional verification methods (such as full hashing or manual verification) are time-consuming and resource-intensive.

[0003] It is evident that improving the efficiency of backup data integrity verification is a technical problem that urgently needs to be solved by those skilled in the art. Summary of the Invention

[0004] In view of this, the purpose of the present invention is to provide a data integrity verification method, apparatus, device and readable storage medium, which solves the technical problem of low efficiency in data integrity verification in the prior art.

[0005] To address the aforementioned technical problems, this invention provides a data integrity verification method, comprising:

[0006] The backup chain topology diagram corresponding to the virtual machine is used to determine the data blocks to be backed up that have changed; wherein, the backup chain topology diagram is a diagram that dynamically records the addresses where the virtual machine data has changed;

[0007] The first check value corresponding to the data block to be backed up is calculated using a check method.

[0008] When the backup of the data block to be backed up is successful, the second verification value of the backup data corresponding to the data block to be backed up is calculated based on the verification method, and the hash value of the associated data block that is associated with the data block to be backed up is determined based on the backup chain topology graph.

[0009] Data integrity is verified based on the first verification value, the second verification value, and the hash value of the associated data block to determine the data integrity result.

[0010] On the one hand, data integrity verification is performed based on the first verification value, the second verification value, and the hash value of the associated data block to determine the data integrity result, including:

[0011] The data integrity result is determined by comparing the first check value and the second check value, and by comparing the hash value of the associated data block with the hash value recorded after its last calculation.

[0012] On one hand, the data integrity result is determined by comparing the first check value and the second check value, and by comparing the hash value of the associated data block with the hash value recorded after its last calculation. This includes:

[0013] When the first verification value and the second verification value are the same, and the hash value of the associated data block is different from its corresponding hash value, it is determined that the associated block of the data to be backed up is corrupted.

[0014] When the first check value is different from the first check value, and the hash value of the associated data block is the same as its corresponding hash value, it is determined that the current data to be backed up is incomplete.

[0015] When the first check value is different from the first check value, and the hash value of the associated data block is different from its corresponding hash value, it is determined that the entire backup chain corresponding to the data to be backed up is incomplete.

[0016] When the first check value is the same as the first check value, and the hash value of the associated data block is the same as its corresponding hash value, it is determined that the data to be backed up is complete.

[0017] On the one hand, after performing data integrity verification based on the first verification value, the second verification value, and the hash value of the associated data block to determine the data integrity result, the method further includes:

[0018] The type of data integrity corruption is determined based on the data integrity results;

[0019] An automatic repair strategy is determined based on the type of data integrity corruption, and the backup data is repaired based on the automatic repair strategy.

[0020] On the one hand, an automatic repair strategy is determined based on the type of data integrity corruption, and the backup data is repaired for integrity based on the automatic repair strategy, including:

[0021] When the integrity corruption type is determined to be the first type based on the data integrity result, the automatic repair strategy is determined to be repair based on the backup pool; the first type is when the number of consecutive block corruptions is lower than the set number of corruptions.

[0022] When the integrity corruption type is determined to be the second type based on the data integrity result, the automatic repair strategy is determined to be a re-backup strategy; wherein, the second type is that the number of consecutive blocks damaged is not less than the set number of damaged blocks;

[0023] When the integrity corruption type is determined to be the third type based on the data integrity result, a full backup is initiated; wherein the third type is a broken backup chain.

[0024] On the one hand, after performing data integrity verification based on the first verification value, the second verification value, and the hash value of the associated data block to determine the data integrity result, the method further includes:

[0025] Determine the set basic backup data; wherein, the basic backup data is data that has an impact on the virtual machine to a set degree;

[0026] The detection strategy determines whether to perform repeated detection on the basic backup data; wherein, the detection strategy is a strategy for determining the most appropriate time to re-verify the basic backup data;

[0027] When it is determined that the basic backup data will be subjected to duplicate detection, it is determined that the basic backup data and its associated data will be subjected to overall integrity verification.

[0028] On the one hand, the first checksum corresponding to the data block to be backed up is calculated using a checksum method, including:

[0029] The first verification value corresponding to the data block to be backed up is calculated using a hash verification method.

[0030] This invention also provides a data integrity verification device, comprising:

[0031] The backup data block determination module is used to determine the backup data blocks whose data has changed based on the backup chain topology graph corresponding to the virtual machine; wherein, the backup chain topology graph is a graph that dynamically records the addresses where the virtual machine data has changed;

[0032] The first verification value generation module is used to calculate the first verification value corresponding to the data block to be backed up using a verification method.

[0033] The second verification value generation module is used to calculate the second verification value of the backup data corresponding to the backup data block based on the verification method when the backup data block is successfully backed up, and to determine the hash value of the associated data block that is associated with the backup data based on the backup chain topology graph.

[0034] The data integrity result determination module is used to perform data integrity verification based on the first verification value, the second verification value, and the hash value of the associated data block, and determine the data integrity result.

[0035] This invention also provides a data integrity verification device, comprising:

[0036] Memory, used to store computer programs;

[0037] A processor for executing the computer program to implement the steps of the data integrity verification method described above.

[0038] This invention also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the data integrity verification method described above.

[0039] The present invention also provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements the steps of the above-described data integrity verification method.

[0040] To address the aforementioned technical problems, embodiments of the present invention provide a data integrity verification method, which may include: determining the data blocks to be backed up that have undergone data changes based on a backup chain topology diagram corresponding to the virtual machine; wherein, the backup chain topology diagram is a graph that dynamically records the addresses where virtual machine data changes; calculating a first verification value corresponding to the data blocks to be backed up using a verification method; when the data blocks to be backed up are successfully backed up, calculating a second verification value of the backup data corresponding to the data blocks to be backed up based on the verification method, and determining the hash values ​​of associated data blocks that are related to the data blocks to be backed up based on the backup chain topology diagram; performing data integrity verification based on the first verification value, the second verification value, and the hash values ​​of the associated data blocks to determine the data integrity result.

[0041] As can be seen from the above technical solution, the beneficial effects of the present invention are as follows: Compared with the current full verification which results in low data integrity verification efficiency, the present invention determines the data blocks to be backed up that have changed based on the backup chain topology diagram corresponding to the virtual machine, and then backs up and verifies the data blocks to be backed up. Since the present invention only verifies the changed data blocks, the time consumption is reduced, the system I / O (input / output) load is reduced, and the verification efficiency can be improved. Moreover, the positioning accuracy based on the block level reaches 4KB, which improves the verification accuracy. Attached Figure Description

[0042] To more clearly illustrate the embodiments of the present invention, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0043] Figure 1 A flowchart of a data integrity verification method provided in an embodiment of the present invention;

[0044] Figure 2A flowchart illustrating a data integrity verification method provided in an embodiment of the present invention;

[0045] Figure 3 This invention provides a system architecture for a data integrity verification method.

[0046] Figure 4 This is a schematic diagram of the structure of a data integrity verification device provided in an embodiment of the present invention;

[0047] Figure 5 This is a structural diagram of a data integrity verification device provided in an embodiment of the present invention. Detailed Implementation

[0048] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of the present invention.

[0049] The terms "comprising" and "having," and any variations thereof, in the specification and accompanying drawings of this invention are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the steps or units listed, but may include steps or units not listed.

[0050] Virtualization platforms (such as VMware, Hyper-V, and KVM) rely on scheduled backups to ensure business continuity. However, the backup process may result in partial data loss or corruption due to network interruptions, storage failures, or software defects. If the backup data itself is corrupted, then restoring the backup is meaningless. In large-scale virtualization environments, massive amounts of data and their backups are generated daily, making it difficult for administrators to manually check the validity of these backups. Traditional verification methods (such as full hashing) require scanning the entire backup image, consuming significant I / O and computing resources. Incremental backup chain dependencies require initiating full-machine verification, which is time-consuming and resource-intensive, and cannot promptly detect whether backup data is complete. Existing solutions (such as Veeam SureBackup) also require initiating full-machine verification, which is time-consuming and resource-intensive.

[0051] To enable those skilled in the art to better understand the present invention, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0052] Next, a data integrity verification method provided by an embodiment of the present invention will be described in detail. Figure 1A flowchart of a data integrity verification method provided in an embodiment of the present invention may include:

[0053] S101, determine the data blocks to be backed up that have changed based on the backup chain topology diagram corresponding to the virtual machine; wherein, the backup chain topology diagram is a graph that dynamically records the addresses where the virtual machine data has changed.

[0054] Each step in this embodiment can be executed by a designated electronic device, which can be the host, server, portable terminal, or other form corresponding to the virtual machine. The backup chain topology diagram in this embodiment is a graph that dynamically records the addresses where virtual machine data has changed. It can be understood that each bit in the backup chain topology diagram corresponds to a data block on the virtual disk, with a bit value of 0 indicating no modification and 1 indicating modification (change), and it can indicate the logical dependencies between backup points. Furthermore, the process of obtaining the backup chain topology diagram in this embodiment involves recording the modification status of data blocks in the virtual disk during backup and synchronously storing this information during incremental backup. Specifically, this may include: recording a bitmap to identify changed block addresses; calculating block-level hash values ​​(SHA-256); and recording backup chain topology relationships (describe dependencies in JSON format) to obtain the backup chain topology diagram. In this embodiment, S101 is triggered by an event-driven mechanism; upon completion of a new incremental backup, verification is initiated to confirm the integrity of the newly generated backup data.

[0055] S102, calculate the first check value corresponding to the data block to be backed up using the check method.

[0056] This embodiment does not limit the specific verification method. For example, the verification method in this embodiment can be a hash verification method, which uses a hash algorithm to compare and confirm the consistency and integrity of the modified block content and the backup data block content; or the verification method in this embodiment can also be a cyclic redundancy check. It should be noted that, at the application layer, this embodiment can inject a lightweight SQL (Structured Query Language) / API (Interface) probe to verify the logical correctness of critical business data.

[0057] S103, when the backup of the data block to be backed up is successful, calculate the second verification value of the backup data corresponding to the data block to be backed up based on the verification method, and determine the hash value of the associated data block that is associated with the data block to be backed up based on the backup chain topology.

[0058] In this embodiment, the verification methods used to calculate the second and first verification values ​​are the same, so they can be compared. The data block to be backed up in this embodiment is backup data from the backup pool. Data blocks that are associated with the data to be backed up are considered associated data blocks. This embodiment only performs hash calculations on modified data blocks (data blocks that have changed) marked on the backup chain topology graph (bitmap), avoiding a full scan. The verification process in this embodiment can be, for example, performing incremental hash calculations; a. The verification engine reads the backup chain topology graph and parses the list of data blocks to be verified; b. The target block data is read in parallel from the backup storage; c. The current hash value is calculated and compared with the historical records in the metadata to determine if they are consistent.

[0059] Pseudocode example: Incremental hash calculation based on CBT bitmap

[0060] def incremental_verify(backup_chain, cbt_bitmap):

[0061] changed_blocks = parse_bitmap(cbt_bitmap) # Parse the backup chain topology to obtain the list of changed blocks;

[0062] for block in changed_blocks:

[0063] block_data = read_backup_block(backup_chain, block) # Read block data from the backup chain;

[0064] current_hash = sha256(block_data)

[0065] stored_hash = fetch_metadata_hash(block.id) # Retrieves the hash of the metadata stored during backup;

[0066] if current_hash != stored_hash:

[0067] trigger_repair(block) # Trigger automatic repair.

[0068] It should be further explained that, based on any of the above embodiments, in order to improve the efficiency of verification while ensuring data integrity, the above-mentioned calculation of the second verification value of the backup data corresponding to the backup data block to be backed up based on the verification method, and the determination of the hash value of the associated data blocks related to the backup data based on the backup chain topology, when the backup data block to be backed up is successfully backed up, may include: determining the number of associated data blocks related to the backup data; when the number is greater than a set maximum threshold, determining four indicators for each associated data block: block risk level (e.g., entropy mutation / high-frequency modification = high risk), time since last verification (the longer the time, the higher the weight), backup chain topology depth (the deeper the depth, the higher the weight), and criticality (whether it belongs to the set critical data block); determining a verification score based on these four indicators; only when the verification score is greater than a set value is the associated data block used as the target associated data block, and determining the hash value of the target associated data block. It is understandable that in this embodiment, when there are a large number of associated data blocks, the verification efficiency is low. This embodiment improves the efficiency of data integrity verification by reducing the number of associated data blocks to be verified.

[0069] S104, perform data integrity verification based on the first check value, the second check value, and the hash value of the associated data block, and determine the data integrity result.

[0070] This embodiment, when determining the integrity verification result, not only verifies the data integrity of the data block to be verified based on the first and second verification values, but also verifies the integrity of the associated data blocks based on their hash values. The data integrity result in this embodiment can include data integrity and data incompleteness. When data is incomplete, automatic repair can be performed, for example, based on an automatic repair mechanism. This automatic repair mechanism can include corrupted block location: accurately locating corrupted data blocks based on the backup chain topology; pulling data blocks from adjacent healthy replicas (cross-replica repair); and triggering incremental re-backup (backing up only corrupted blocks). This embodiment can also determine the alarm level and automatic repair strategy based on the judgment conditions corresponding to the data integrity result.

[0071] It should be further explained that, based on any of the above embodiments, the data integrity verification based on the first check value, the second check value, and the hash value of the associated data block to determine the data integrity result may include: comparing the first check value and the second check value, and comparing the hash value of the associated data block with the hash value recorded after its previous calculation to determine the data integrity result. This embodiment compares the check values ​​of two types of data (the data to be verified and the associated data) simultaneously, thus improving the comprehensiveness of the integrity verification.

[0072] It should be further explained that, based on any of the above embodiments, comparing the first check value and the second check value, and comparing the hash value of the associated data block with the hash value recorded after its last calculation, to determine the data integrity result, may include:

[0073] Step 1: When the first checksum and the second checksum are the same, and the hash value of the associated data block is different from its corresponding hash value, it is determined that the associated block of the data to be backed up is corrupted.

[0074] Step 2: When the first checksum is different from the first checksum, and the hash value of the associated data block is the same as its corresponding hash value, it is determined that the data to be backed up is incomplete.

[0075] Step 3: When the first check value is different from the first check value, and the hash value of the associated data block is different from its corresponding hash value, it is determined that the entire backup chain corresponding to the data to be backed up is incomplete.

[0076] Step 4: When the first check value is the same as the first check value, and the hash value of the associated data block is the same as its corresponding hash value, it is determined that the data to be backed up is complete.

[0077] This embodiment uses two levels of checksums to distinguish different types of errors (such as block-level corruption, incomplete backup chains, etc.). Different failure scenarios correspond to different error types, facilitating targeted repair.

[0078] It should be further explained that after performing data integrity verification based on the first checksum, the second checksum, and the hash value of the associated data block to determine the data integrity result, the process may further include: determining the data integrity corruption type based on the data integrity result; determining an automatic repair strategy based on the data integrity corruption type; and performing integrity repair on the backup data based on the automatic repair strategy. This embodiment can determine the data integrity corruption type based on different data integrity results, thereby determining an automatic repair strategy, and recovering the data based on the automatic repair strategy. This embodiment can improve the efficiency of data repair.

[0079] It should be further explained that, based on any of the above embodiments, determining the automatic repair strategy based on the data integrity corruption type, and performing integrity repair on the backup data based on the automatic repair strategy, may include: when the integrity corruption type is determined to be a first type based on the data integrity result, determining the automatic repair strategy to repair according to the backup pool; the first type is when the number of consecutive damaged blocks is less than a set number of damaged blocks; when the integrity corruption type is determined to be a second type based on the data integrity result, determining the automatic repair strategy to be a re-backup strategy; wherein, the second type is when the number of consecutive damaged blocks is not less than a set number of damaged blocks; when the integrity corruption type is determined to be a third type based on the data integrity result, determining to start a full backup; wherein, the third type is when the backup chain is broken. This embodiment does not limit the specific set number of damaged blocks; for example, the number can be 4 or 3. For ease of understanding, please refer to Table 1, which is a schematic table of an automatic repair strategy provided by an embodiment of the present invention.

[0080] Table 1. Schematic diagram of an automatic repair strategy

[0081]

[0082] It should be further explained that, based on any of the above embodiments, after performing data integrity verification based on the first verification value, the second verification value, and the hash value of the associated data block, and determining the data integrity result, the method further includes: determining the set basic backup data; wherein, the basic backup data is data whose impact on the virtual machine reaches a set level; determining whether to perform repeated detection on the basic backup data according to a detection strategy; wherein, the detection strategy is a strategy for determining the most suitable re-verification time for the basic backup data; when it is determined that repeated detection on the basic backup data should be performed, determining that an overall integrity verification should be performed on the basic backup data and its associated data. Compared with the current method of not verifying the verified data, this embodiment balances verification efficiency and the accuracy of data integrity verification. The basic backup data is verified only when the most suitable re-verification time is reached. This embodiment improves the accuracy of data integrity verification and prevents the verified data from being tampered with by sequentially verifying backups related to the basic backup data according to the backup chain topology.

[0083] This invention provides a data integrity verification method, which may include: S101, determining the data blocks to be backed up whose data has changed based on the backup chain topology diagram corresponding to the virtual machine; wherein, the backup chain topology diagram is a graph that dynamically records the addresses of virtual machine data changes; S102, calculating a first verification value corresponding to the data blocks to be backed up using a verification method; S103, when the data blocks to be backed up are successfully backed up, calculating a second verification value of the backup data corresponding to the data blocks to be backed up based on the verification method, and determining the hash values ​​of associated data blocks related to the data blocks to be backed up based on the backup chain topology diagram; S104, performing data integrity verification based on the first verification value, the second verification value, and the hash values ​​of the associated data blocks to determine the data integrity result. Compared with the current method of performing full verification, which results in low data integrity verification efficiency, this invention determines the data blocks to be backed up whose data has changed based on the backup chain topology diagram corresponding to the virtual machine, thereby backing up and verifying the data blocks to be backed up. Since this invention only verifies the changed data blocks, the time consumption is reduced, the system I / O load is reduced, and the verification efficiency can be improved. Moreover, the block-level positioning accuracy reaches 4KB, which improves the verification accuracy.

[0084] For a clearer understanding of this invention, please refer to the following details. Figure 2 , Figure 2 A flowchart illustrating a data integrity verification method provided in this embodiment of the invention may specifically include:

[0085] S201 uses the backup chain topology diagram to dynamically record the addresses where virtual machine data changes for data backup. During the backup process, the data blocks with data changes are filtered according to the backup chain topology diagram to obtain the data blocks to be verified.

[0086] This embodiment filters data blocks with data changes based on the bitmap during backup, calculates the hash value of the storage blocks with data changes, and records the hash value and backup chain topology. For easier understanding, please refer to... Figure 3 , Figure 3 This is a system architecture diagram of a data integrity verification method provided in an embodiment of the present invention. Figure 3 The virtual machine in this embodiment is a virtual machine that needs to perform data integrity verification. The backup chain topology graph in this embodiment is a bitmap that records the modification status of data blocks. The main task of the backup controller in this embodiment is to obtain the changed data blocks from the backup chain topology graph and divert the changed data blocks to the backup storage pool. The verification engine stores the hash value calculated for the first time in the database. The block verification instruction is to schedule distributed nodes to calculate the real-time hash and compare the real-time hash with the hash value stored in the database.

[0087] S202, determine the first check value of the data block to be checked, and store the first check value to the disk.

[0088] S203, back up the data block to be verified. When the backup is complete, determine the associated data block corresponding to the data block to be verified, and the first hash value corresponding to the associated data block.

[0089] This embodiment can filter out relevant path disks based on the backup chain topology when the virtual machine reissues the backup task, verify whether the hash value of the data block is consistent with the record, and ensure its integrity.

[0090] S204, when the backup of the data block to be backed up is successful, calculate the second check value of the backup data corresponding to the data block to be checked, and calculate the second hash value corresponding to the associated data block.

[0091] S205, determine the data integrity result of the block to be verified based on the first hash value, the second hash value, the first check value, and the second check value;

[0092] S206, determine the corresponding fault level and the corresponding automatic repair strategy based on the data integrity results.

[0093] The beneficial effects of the technical solution of this invention are as follows: Improved efficiency: Compared with the traditional full recovery detection and prevention, this patent only verifies the changed data blocks, which reduces the time consumption and the system I / O load; Accurate detection: Based on block-level positioning accuracy of up to 4KB; Zero business interference: No virtual machine needs to be started during the verification process, so it does not affect the user's production environment.

[0094] The data integrity verification device provided in the embodiments of the present invention will be described below. The data integrity verification device described below can be referred to in correspondence with the data integrity verification method described above.

[0095] Figure 4 A schematic diagram of a data integrity verification device provided in an embodiment of the present invention may include:

[0096] The backup data block determination module 100 is used to determine the backup data blocks whose data has changed based on the backup chain topology map corresponding to the virtual machine; wherein, the backup chain topology map is a map that dynamically records the addresses where the virtual machine data has changed;

[0097] The first verification value generation module 200 is used to calculate the first verification value corresponding to the data block to be backed up using a verification method.

[0098] The second verification value generation module 300 is used to calculate the second verification value of the backup data corresponding to the backup data block based on the verification method when the backup data block is successfully backed up, and to determine the hash value of the associated data block that is associated with the backup data based on the backup chain topology graph.

[0099] The data integrity result determination module 400 is used to perform data integrity verification based on the first verification value, the second verification value and the hash value of the associated data block, and determine the data integrity result.

[0100] Furthermore, based on any of the above embodiments, the data integrity result determination module 400 may include:

[0101] The data integrity result determination unit is used to compare the first verification value and the second verification value, and to compare the hash value of the associated data block with the hash value recorded after its last calculation, in order to determine the data integrity result.

[0102] Furthermore, based on the above embodiments, the data integrity result determination unit may include:

[0103] The first data integrity determination unit is used to determine that the current data to be backed up has a corrupted associated block when the first verification value and the second verification value are the same, and the hash value of the associated data block is different from its corresponding hash value.

[0104] The second data integrity determination unit is used to determine that the current data to be backed up is incomplete when the first check value and the first check value are different, and the hash value of the associated data block is the same as its corresponding hash value.

[0105] The third data integrity determination unit is used to determine that the entire backup chain corresponding to the data to be backed up is incomplete when the first verification value is different from the first verification value and the hash value of the associated data block is different from its corresponding hash value.

[0106] The fourth data integrity determination unit is used to determine the data integrity of the data to be backed up when the first check value is the same as the first check value and the hash value of the associated data block is the same as its corresponding hash value.

[0107] Furthermore, based on any of the above embodiments, the data integrity verification device may further include:

[0108] The damage type determination module is used to determine the type of data integrity damage based on the data integrity result.

[0109] The repair module is used to determine an automatic repair strategy based on the type of data integrity corruption, and to perform integrity repair on the backup data based on the automatic repair strategy.

[0110] Furthermore, based on any of the above embodiments, the repair module may include:

[0111] The first repair unit is configured to determine, when the integrity damage type is determined to be a first type based on the data integrity result, that the automatic repair strategy is to repair based on the backup pool; the first type is when the number of consecutive block damages is lower than a set number of damages.

[0112] The second repair unit is used to determine the automatic repair strategy as a re-backup strategy when the integrity damage type is determined to be the second type based on the data integrity result; wherein, the second type is that the number of consecutive blocks damaged is not less than the set number of damaged blocks;

[0113] The third repair unit is used to determine to start a full backup when the integrity damage type is determined to be the third type based on the data integrity result; wherein the third type is a broken backup chain.

[0114] Furthermore, based on any of the above embodiments, the data integrity verification device may further include:

[0115] The basic backup data determination module is used to determine the set basic backup data; wherein, the basic backup data is data that has an impact on the virtual machine to a set degree;

[0116] The judgment module is used to determine whether to perform repeated detection on the basic backup data according to the detection strategy; wherein, the detection strategy is a strategy to determine the most appropriate time to re-verify the basic backup data;

[0117] The overall integrity verification module is used to determine to perform an overall integrity verification on the basic backup data and its associated data when it is determined that a duplicate detection is to be performed on the basic backup data.

[0118] Furthermore, based on any of the above embodiments, the first verification value generation module 200 may include:

[0119] The first verification value generation unit is used to calculate the first verification value corresponding to the data block to be backed up using a hash verification method.

[0120] It should be noted that the order of the modules and units in the aforementioned data integrity verification device can be changed without affecting the logic.

[0121] Figure 4 The description of the features in the corresponding embodiments can be found in [reference needed]. Figure 4 The relevant descriptions of the corresponding embodiments will not be repeated here.

[0122] An embodiment of the present invention provides a data integrity verification device, which may include: a data block to be backed up determination module 100, used to determine the data blocks to be backed up whose data has changed based on a backup chain topology diagram corresponding to the virtual machine; wherein, the backup chain topology diagram is a diagram that dynamically records the addresses where the virtual machine data has changed; a first verification value generation module 200, used to calculate a first verification value corresponding to the data block to be backed up using a verification method; a second verification value generation module 300, used to calculate a second verification value of the backup data corresponding to the data block to be backed up based on the verification method when the data block to be backed up is successfully backed up, and to determine the hash value of the associated data block that is associated with the data block to be backed up based on the backup chain topology diagram; and a data integrity result determination module 400, used to perform data integrity verification based on the first verification value, the second verification value and the hash value of the associated data block, and determine the data integrity result. Compared to the current method of performing full verification, which results in low efficiency for data integrity verification, this invention determines the data blocks to be backed up that have changed based on the backup chain topology diagram corresponding to the virtual machine. This allows for the backup and verification of the data blocks to be backed up. Since this invention only verifies the changed data blocks, the time consumption is reduced, the system I / O load is decreased, and the verification efficiency can be improved. Furthermore, the block-level positioning accuracy reaches 4KB, which improves the verification accuracy.

[0123] The following describes a data integrity verification device provided by an embodiment of the present invention. The data integrity verification device described below can be referred to in correspondence with the data integrity verification method described above.

[0124] Figure 5 A structural diagram of a data integrity verification device provided in an embodiment of the present invention is shown below. Figure 5 As shown, the data integrity verification device includes: a memory 60 for storing computer programs;

[0125] The processor 61 is used to implement the steps of the data integrity verification method as described in the above embodiments when executing a computer program.

[0126] The data integrity verification device provided in this embodiment may include, but is not limited to, smartphones, tablets, laptops, or desktop computers.

[0127] The processor 61 may include one or more processing cores, such as a quad-core processor or an octa-core processor. The processor 61 may be implemented using at least one hardware form selected from Digital Signal Processing (DSP), Field-Programmable Gate Array (FPGA), and Programmable Logic Array (PLA). The processor 61 may also include a main processor and a coprocessor. The main processor, also known as the Central Processing Unit (CPU), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, the processor 61 may integrate a Graphics Processing Unit (GPU), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, the processor 61 may also include an Artificial Intelligence (AI) processor, which handles computational operations related to machine learning.

[0128] The memory 60 may include one or more computer-readable storage media, which may be non-transitory. The memory 60 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In this embodiment, the memory 60 is used to store at least the following computer program 601, which, after being loaded and executed by the processor 61, is capable of implementing the relevant steps of the data integrity verification method disclosed in any of the foregoing embodiments. In addition, the resources stored in the memory 60 may also include an operating system 602 and data 603, and the storage method may be temporary or permanent storage. The operating system 602 may include Windows, Unix, Linux, etc. The data 603 may include, but is not limited to, data generated during the data integrity verification process.

[0129] In some embodiments, the data integrity verification device may further include a display screen 62, an input / output interface 63, a communication interface 64, a power supply 65, and a communication bus 66.

[0130] Those skilled in the art will understand that Figure 5 The structure shown does not constitute a limitation on the data integrity verification device and may include more or fewer components than shown.

[0131] It is understood that if the data integrity verification method in the above embodiments 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 the present invention, in essence, or the part that contributes to the current technology, or all or 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 executes all or part of the steps of the methods in the various embodiments of the present invention. The aforementioned storage medium includes: USB flash drive, mobile hard drive, read-only memory (ROM), random access memory (RAM), electrically erasable programmable ROM, register, hard disk, removable disk, CD-ROM, magnetic disk, or optical disk, and other media capable of storing program code.

[0132] Based on this, embodiments of the present invention also provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the data integrity verification method described above.

[0133] The data integrity verification method provided by the embodiments of the present invention has been described in detail above. The various embodiments in the specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple, and relevant parts can be referred to the method section.

[0134] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.

[0135] The data integrity verification method, apparatus, device, and readable storage medium provided by the present invention have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The descriptions of the embodiments above are only for the purpose of helping to understand the method and core ideas of the present invention. It should be noted that those skilled in the art can make several improvements and modifications to the present invention without departing from the principles of the present invention, and these improvements and modifications also fall within the protection scope of the present invention.

Claims

1. A data integrity checking method, characterized by, The method comprises: determining a data block to be backed up based on a backup chain topology corresponding to a virtual machine, wherein the backup chain topology is a graph dynamically recording addresses of changed virtual machine data; calculating a first check value corresponding to the data block to be backed up by using a check method; when the data block to be backed up is successfully backed up, calculating a second check value of backup data corresponding to the data block to be backed up based on the check method, and determining a hash value of an associated data block associated with the data block to be backed up based on the backup chain topology; performing data integrity check based on the first check value, the second check value, and the hash value of the associated data block to determine a data integrity result.

2. The data integrity verification method of claim 1, wherein, The method of performing data integrity check based on the first check value, the second check value, and the hash value of the associated data block to determine a data integrity result comprises: comparing the first check value and the second check value, and comparing the hash value of the associated data block with the hash value recorded after the last calculation to determine the data integrity result.

3. The data integrity verification method of claim 2, wherein, The method of comparing the first check value and the second check value, and comparing the hash value of the associated data block with the hash value recorded after the last calculation to determine the data integrity result comprises: when the first check value and the second check value are the same, and the hash value of the associated data block is different from the corresponding hash value, it is determined that the current data block to be backed up is associated with a damaged block; when the first check value and the first check value are different, and the hash value of the associated data block is the same as the corresponding hash value, it is determined that the current data block to be backed up is incomplete; when the first check value and the first check value are different, and the hash value of the associated data block is different from the corresponding hash value, it is determined that the entire backup chain corresponding to the current data block to be backed up is incomplete; when the first check value and the first check value are the same, and the hash value of the associated data block is the same as the corresponding hash value, it is determined that the data of the current data block to be backed up is complete.

4. The data integrity verification method according to any one of claims 1 to 3, characterized in that, After the data integrity result is determined based on the first check value, the second check value, and the hash value of the associated data block, the method further comprises: determining a data integrity damage type based on the data integrity result; determining an automatic repair strategy based on the data integrity damage type, and performing integrity repair on the backup data based on the automatic repair strategy.

5. The data integrity check method of claim 4, wherein, The method of determining an automatic repair strategy based on the data integrity damage type, and performing integrity repair on the backup data based on the automatic repair strategy comprises: when it is determined based on the data integrity result that the integrity damage type is a first type, it is determined that the automatic repair strategy is to repair according to a backup pool; the first type is that the number of continuous damaged blocks is lower than a set damage number; when it is determined based on the data integrity result that the integrity damage type is a second type, it is determined that the automatic repair strategy is a re-backup strategy; wherein the second type is that the number of continuous damaged blocks is not lower than the set damage number. When it is determined that the integrity damage type is a third type based on the data integrity result, it is determined to start a full backup; wherein the third type is a backup chain break.

6. The data integrity checking method of claim 1, wherein, After the data integrity result is determined based on the first check value, the second check value and the hash value of the associated data block, the method further comprises: determining the set basic backup data; wherein the basic backup data is data that has a set degree of influence on the virtual machine; determining whether to perform repeated detection on the basic backup data according to a detection strategy; wherein the detection strategy is a strategy for determining the most appropriate re-checking time for the basic backup data; When it is determined to perform repeated detection on the basic backup data, it is determined to perform overall integrity checking on the basic backup data and its associated data.

7. The data integrity checking method of claim 1, wherein, calculating the first check value corresponding to the data block to be backed up using a check method, comprising: calculating the first check value corresponding to the data block to be backed up using a hash check method.

8. A data integrity check apparatus, characterized by comprising: comprising: a data block to be backed up determination module for determining a data block to be backed up based on a backup chain topology graph corresponding to the virtual machine; wherein the backup chain topology graph is a graph dynamically recording addresses of changed virtual machine data; a first check value generation module for calculating a first check value corresponding to the data block to be backed up using a check method; a second check value generation module for calculating a second check value of the backup data corresponding to the data block to be backed up based on the check method when the data block to be backed up is successfully backed up, and calculating a hash value of an associated data block associated with the data block to be backed up based on the backup chain topology graph; a data integrity result determination module for performing data integrity checking based on the first check value, the second check value and the hash value of the associated data block, and determining a data integrity result.

9. A data integrity check device, characterized by comprising: a memory for storing a computer program; a processor for executing the computer program to implement the steps of the data integrity checking method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, The computer program is stored on the computer readable storage medium and is executed by the processor to implement the steps of the data integrity checking method according to any one of claims 1 to 7.