# Dynamic Deduplication Algorithm for Cross-User Duplicate Data in Hybrid Cloud Storage

Authors: Feng Gang; DaHuan Wei
Journal: Security and Communication Networks
 (2022)

---

## Abstract

The escalating growth of distributed big data in hybrid cloud storage architecture introduces a new set of challenges. Constantly, content enrichment puts pressure on capacity. Nonetheless, the explosion of user data places a significant strain on broadband and storage capacity. Consequently, many cloud storage providers will implement deduplication to compress data, reduce transfer bandwidth, and reduce cloud storage space. In cloud storage systems, it is a data compression and storage optimization method. By locating and removing redundant data, it can save storage space and bandwidth. An MTHDedup deduplication strategy based on the Merkle hash tree is presented in a hybrid cloud environment to address the issue of convergent encryption algorithms being susceptible to brute-force attacks and ciphertext computation time overhead. Merkle hash trees are constructed using additional encryption algorithms to generate encryption keys during file- and block-level deduplication, ensuring that generated ciphertexts are unpredictable. The method is effective against both internal and external brute-force attacks, thereby increasing data security. Our method reduces the computational burden of ciphertext generation and the key storage space, and the performance advantage increases with the number of privilege sets.


---

## Body

## 1. Introduction

With the continued growth of cloud storage, the data volume of cloud-based systems has exploded [1]. As a method of lossless compression at the system level, data deduplication can effectively reduce redundant data and improve system utilization and performance. Nonetheless, due to the sharing of data between different users and between different files, the cloud storage system faces numerous security issues during data deduplication [2].The deduplication operation for big data is advantageous to reduce the system operation and maintenance cost and consumption, thereby reducing the system operation process’s network bandwidth usage; however, the current redundant data elimination technology still faces enormous problems, such as more complex data structure, high data similarity, and diverse data types and must also pay close attention to two competing goals of redundant data elimination throughput and accuracy.Researchers in related fields have examined the data deduplication techniques utilized by storage systems. The paper[3] proposes an adaptive fast data deduplication method based on the multinode sample theory. Initially, the method extracts redundant data characteristics and classifies them based on the linear spectrum of redundant data. The nodal spline theory reduces the bias within the classification procedure. A wavelet function is established to eliminate noise in the data, and a fast method is designed to eliminate redundant data, which has a faster deduplication speed; however, the effect of duplication rate elimination requires further investigation. The literature [4] proposes a method for eliminating redundant data from stored data. Using the most frequently accessed data in the fog node as test data, the cyclic redundancy code technique is implemented to determine if the data blocks are duplicated in real time. If the result of the evaluation is data duplication, the duplicate data is placed in the chain table structure and then removed to complete the design of the data deredundancy method that corresponds to the actual circumstances of the fog node. Although the cost of data storage is low, the redundancy deduplication rate is not optimal, and there are still redundant data in the network resource collection. For this reason, a hash-based redundancy elimination algorithm for large data sets is proposed. Prior to data deduplication, the weight value of redundant data are calculated, and data with higher access are distinguished based on the weight value. In addition, the judgment and elimination of redundant data are combined using the hashing method. It not only increases the rate of redundant data elimination but also ensures data throughput and resolves the conflict between data throughput and redundant data elimination rate in the process of redundant data elimination in big data storage systems.To reduce the computational burden of deduplicating tags and ciphertexts and to implement a data deduplication system that supports access control in an efficient manner. In this paper, we propose the data security deduplication scheme MTHDedup [5] based on the Merkle hash tree [6]. The primary contributions of the scheme proposed in this paper are listed as follows:(1)
This scheme adds a key management server and a permission management server to the existing hybrid cloud system model and calculates the deduplication labels using the permission level function T and the deduplication coefficient. This ensures that duplicate data can be detected while reducing the computation overhead of deduplication labels.(2)
Generating encryption keys by constructing Merkle hash trees ensures that the generated ciphertext becomes unpredictable, effectively thwarting brute-force attacks launched by internal and external attackers and reducing the computational burden of ciphertext generation to some extent.(3)
Effectively supports file- and block-level dedup to increase the rate of data deduplication, and implements a secure data deduplication system that supports access control.


## 2. Related Work

### 2.1. Analysis of Hybrid Cloud Storage Architecture

On the basis of the significant characteristics of distributed big data in terms of volume, diversity, and spatiality, an architecture for hybrid cloud storage suited to these characteristics is proposed. Under the hybrid cloud storage architecture, the cloud storage environment is comprised of two cloud platforms, a private cloud platform, and a public cloud platform, which combine the benefits of the two platforms to create a storage platform with higher performance [7]. How to migrate big data asynchronously is the key to system efficiency under hybrid cloud storage architecture, and a formal description of the factors involved is required to conduct a more in-depth study of distributed big data layout and asynchronous migration of data under hybrid cloud storage architecture [8]. The hybrid cloud storage architecture consists of multiple distributed big data centers, including both public and private clouds, and the layout and object migration of distributed big data centers in the hybrid cloud storage architecture [9] are executed independently. As shown in Figure 1, the hybrid cloud storage architecture comprises public cloud storage devices and private cloud storage devices. Hybrid cloud storage is mainly divided into five parts, namely, Data Private Cloud, Cloud Storage Service Center, IDC1, IDC2, and IDC3.Figure 1
Hybrid cloud storage architecture.


### 2.2. Data De-duplication Model

Deduplication is a method that tries to make things like key management, fault tolerance, or confidentiality more efficient and secure for users. It has three main parts: the user, the key management server (KMS), and the CSS. It also assumes that the KMS and CSS are “honest and curious” [10]. It means that both types of servers are honest and curious, which means that both follow the rules and do not misuse the data sent to them. They also try to get private information about shared files [11]. As shown in Figure 2, it is the data deduplication model.Figure 2
Data de-duplication model.


#### 2.2.1. User

A user is an entity that uploads content or data to a content service provider (CSP). The user desires to outsource content or data with minimal key management, communication, and storage overhead, and to store only unique copies of data at the CSP. The model assumes that the initial content uploader is secure and trustworthy; the subsequent content uploader is “honest and curious,” meaning that it will run the scheme protocol honestly, but will collude with the attacker to provide key and tag information that it knows. The initial content uploader encodes a key block using a secret sharing method based on the Chinese residual theorem (CRT) and a permutation ordered binary (POB) coding system [12]. Subsequent content uploaders do not need to compute and upload key blocks and content blocks; they only need to perform Proof of Ownership (PoW) to gain access to the content [13]. By executing the PoW protocol with the CSS, content downloaders demonstrate that they are the owner of the content and obtain the required content from the CSS.


#### 2.2.2. KMS

KMS is preserving user keys and minimizing user overhead. The user can divide the key into multiple random blocks using a CRT-based secret sharing algorithm and send them to the corresponding KMS. In addition, the model provides fault tolerance so that even if some KMS fails or goes down, the user can obtain key blocks from other KMSs and reconstruct the key for legitimate users who have stored their keys in the KMS [14].


#### 2.2.3. CSS

CSS is responsible for storing and delivering the user’s outsourced content over the network. The user generates multiple obfuscated shares of the content using a POB encoding system and sends them to multiple CSSs. Every CSS has a unique data block that corresponds to its identity [15].The data deduplication model supports both file-level data deduplication and block-level data deduplication. In the actual execution process, the CSS verifies files and bypasses block-level data deduplication if identical files exist; otherwise, block-level data deduplication is performed at a more granular level. Compared to file-level data deduplication, block-level data deduplication can save a lot of space in cloud storage. Content block length can be either fixed or variable. When the content block length is fixed, it is simple and computationally efficient to locate the content block’s boundaries. In content blocks with variable length, the computational burden is greater.


## 2.1. Analysis of Hybrid Cloud Storage Architecture

On the basis of the significant characteristics of distributed big data in terms of volume, diversity, and spatiality, an architecture for hybrid cloud storage suited to these characteristics is proposed. Under the hybrid cloud storage architecture, the cloud storage environment is comprised of two cloud platforms, a private cloud platform, and a public cloud platform, which combine the benefits of the two platforms to create a storage platform with higher performance [7]. How to migrate big data asynchronously is the key to system efficiency under hybrid cloud storage architecture, and a formal description of the factors involved is required to conduct a more in-depth study of distributed big data layout and asynchronous migration of data under hybrid cloud storage architecture [8]. The hybrid cloud storage architecture consists of multiple distributed big data centers, including both public and private clouds, and the layout and object migration of distributed big data centers in the hybrid cloud storage architecture [9] are executed independently. As shown in Figure 1, the hybrid cloud storage architecture comprises public cloud storage devices and private cloud storage devices. Hybrid cloud storage is mainly divided into five parts, namely, Data Private Cloud, Cloud Storage Service Center, IDC1, IDC2, and IDC3.Figure 1
Hybrid cloud storage architecture.


## 2.2. Data De-duplication Model

Deduplication is a method that tries to make things like key management, fault tolerance, or confidentiality more efficient and secure for users. It has three main parts: the user, the key management server (KMS), and the CSS. It also assumes that the KMS and CSS are “honest and curious” [10]. It means that both types of servers are honest and curious, which means that both follow the rules and do not misuse the data sent to them. They also try to get private information about shared files [11]. As shown in Figure 2, it is the data deduplication model.Figure 2
Data de-duplication model.


### 2.2.1. User

A user is an entity that uploads content or data to a content service provider (CSP). The user desires to outsource content or data with minimal key management, communication, and storage overhead, and to store only unique copies of data at the CSP. The model assumes that the initial content uploader is secure and trustworthy; the subsequent content uploader is “honest and curious,” meaning that it will run the scheme protocol honestly, but will collude with the attacker to provide key and tag information that it knows. The initial content uploader encodes a key block using a secret sharing method based on the Chinese residual theorem (CRT) and a permutation ordered binary (POB) coding system [12]. Subsequent content uploaders do not need to compute and upload key blocks and content blocks; they only need to perform Proof of Ownership (PoW) to gain access to the content [13]. By executing the PoW protocol with the CSS, content downloaders demonstrate that they are the owner of the content and obtain the required content from the CSS.


### 2.2.2. KMS

KMS is preserving user keys and minimizing user overhead. The user can divide the key into multiple random blocks using a CRT-based secret sharing algorithm and send them to the corresponding KMS. In addition, the model provides fault tolerance so that even if some KMS fails or goes down, the user can obtain key blocks from other KMSs and reconstruct the key for legitimate users who have stored their keys in the KMS [14].


### 2.2.3. CSS

CSS is responsible for storing and delivering the user’s outsourced content over the network. The user generates multiple obfuscated shares of the content using a POB encoding system and sends them to multiple CSSs. Every CSS has a unique data block that corresponds to its identity [15].The data deduplication model supports both file-level data deduplication and block-level data deduplication. In the actual execution process, the CSS verifies files and bypasses block-level data deduplication if identical files exist; otherwise, block-level data deduplication is performed at a more granular level. Compared to file-level data deduplication, block-level data deduplication can save a lot of space in cloud storage. Content block length can be either fixed or variable. When the content block length is fixed, it is simple and computationally efficient to locate the content block’s boundaries. In content blocks with variable length, the computational burden is greater.


## 2.2.1. User

A user is an entity that uploads content or data to a content service provider (CSP). The user desires to outsource content or data with minimal key management, communication, and storage overhead, and to store only unique copies of data at the CSP. The model assumes that the initial content uploader is secure and trustworthy; the subsequent content uploader is “honest and curious,” meaning that it will run the scheme protocol honestly, but will collude with the attacker to provide key and tag information that it knows. The initial content uploader encodes a key block using a secret sharing method based on the Chinese residual theorem (CRT) and a permutation ordered binary (POB) coding system [12]. Subsequent content uploaders do not need to compute and upload key blocks and content blocks; they only need to perform Proof of Ownership (PoW) to gain access to the content [13]. By executing the PoW protocol with the CSS, content downloaders demonstrate that they are the owner of the content and obtain the required content from the CSS.


## 2.2.2. KMS

KMS is preserving user keys and minimizing user overhead. The user can divide the key into multiple random blocks using a CRT-based secret sharing algorithm and send them to the corresponding KMS. In addition, the model provides fault tolerance so that even if some KMS fails or goes down, the user can obtain key blocks from other KMSs and reconstruct the key for legitimate users who have stored their keys in the KMS [14].


## 2.2.3. CSS

CSS is responsible for storing and delivering the user’s outsourced content over the network. The user generates multiple obfuscated shares of the content using a POB encoding system and sends them to multiple CSSs. Every CSS has a unique data block that corresponds to its identity [15].The data deduplication model supports both file-level data deduplication and block-level data deduplication. In the actual execution process, the CSS verifies files and bypasses block-level data deduplication if identical files exist; otherwise, block-level data deduplication is performed at a more granular level. Compared to file-level data deduplication, block-level data deduplication can save a lot of space in cloud storage. Content block length can be either fixed or variable. When the content block length is fixed, it is simple and computationally efficient to locate the content block’s boundaries. In content blocks with variable length, the computational burden is greater.


## 3. Method

### 3.1. Architecture of the Improved de-duplication Strategy

The improved strategy for secure deduplication based on content encryption proposed in this study can effectively avoid the problems of computational complexity and excessive overhead for users, as well as the problem of a single point of failure for third-party servers. As shown in Figure3, it is the architecture of the improved strategy.Figure 3
Basic architecture.Existing data deduplication key management algorithms have high management overhead and low system performance. A multilevel key management algorithm can be used to address these issues. The keys are separated into three levels: file, data block, and slice.Using the message lock encryption algorithm, the user generates the file-level key KF for the file F.For file F, the user divides the file into blocks Bi and generates the key Ki using the block key generation function. On the cloud storage disk, the block-level key is encrypted with the file-level key and stored. Slice level key: for file-level key KF, the KF is partitioned inton slice level keys using a secret sharing scheme and then stored on multiple key servers.The algorithm for multilevel key management dynamically updates the key management and retains a single key for duplicate files, thereby reducing the key storage space. The secret shared key divides the file-level key inton pieces and stores them in multiple key servers, which increases the key’s reliability and eliminates the issue of a single point of failure [16]. To prevent local data loss, the ciphertexts of all block-level keys are uploaded to the cloud server. Consequently, multi-level key management employs key deduplication and secret sharing to reduce key redundancy, respectively, to ensure the security of keys and achieve a balance between key management overhead and reliability [17].


#### 3.1.1. Data Upload Process

The existing data deduplication encryption algorithm is improved by combining the interuser file-level and intrauser data block-level security deduplication strategies. The user first computes the file-level key using hash convergence encryption, then computes the ciphertext by the hash function to get the file fingerprint and sends it to the cloud, which uses the file fingerprint index to query whether the files are identical. If the file exists, the file metadata is updated; if the file does not exist, the file is divided into several data blocks using the chunking algorithm. The user then uses block-level convergence encryption to calculate the key and fingerprint of the data block, queries whether it is a duplicate data block in the same way, and stores the metadata for nonduplicate data blocks.


#### 3.1.2. Data Download Process

The user sends an authentication and download request to the cloud storage server, and if the authentication is successful, the server returns the requested file spectrum and data blocks. To recover file-level keys, the user connects to multiple key servers and obtains a predetermined number of slice keys from each server. The user utilizes the file-level key to decrypt the data block key, decrypts the corresponding data block using the data block key, and then recovers the file in file spectrum sequence.


### 3.2. Data Classification

For complex data and data with high similarity, it is necessary to classify sample data before eliminating redundant data in order to reduce the time and energy consumption of deduplication [18].The weight value of the sample data in the big data storage system is determined in order to reflect the degree to which the sample data is located on the edge of the data set in the data set. The specific calculation process is shown in the following equation:(1)w=k+∑i=1zixiλ,where k is the number of virtual nodes in the data; zi is the length of the i data string; xi is the frequency of the i data in the sample data being accessed; λ is the virtual node key value. The category classification of large-scale data is realized according to the weight value, and the number of categories c is divided as in the following equation:(2)c=∑i=1zixiλw−∂ik,where, ∂i is the data redundancy threshold, so that the data with higher access frequency is divided into separate categories and the classification of data is completed.


### 3.3. Redundant Data Elimination

Based on the classification results of the data, the judgment and elimination of redundant data in high access frequency data are performed. In order to improve the speed of the algorithm, the hash method computes the data block's hash value [19], as shown in the following equation:(3)U=minSQR1−Hk,where H denotes the fixed-length hash value; G denotes the hash function, and the formula can improve the judgment speed of duplicated data blocks.To improve the deduplication effect, the similarity between the data is judged by calculating the hash value of the data, and the theorem is described in the following equation:(4)H=G∑i=1zixilc−∂i,where U denotes the data hash value; SQ denotes the redundant data set; and the similarity of data is R. When the set similarity is 70%, it means that 70% of the data in the set are with the same attributes at the same position [20].Thus, redundant data extraction from similar data can be achieved by the following equation:(5)T=U+∑i=1Pbi,where bi represents the data with the highest degree of similarity; P is the internal discrete value of the data set.In addition to the deduplication problem of similar data, it is also necessary to achieve redundancy elimination in complex data, so it is necessary to calculate the entropy in this similar data set, as in the following equation:(6)Y=TlgR−∑i=1siα,where si is the data node with the highest structural complexity; α is the data size.The data output of the storage system after removing redundant data can be obtained by fusing the data similarity operation of equation (5) with the data complexity operation of equation (6) as the following equation:(7)L=TlgR−Y∑i=1Pbi−∑i=1siα.As a result, the information set’s similarity and entropy value are reduced, and the elimination of redundant data from the network resources is achieved.


### 3.4. Algorithm Execution Step Design

Effective elimination of redundant data can reduce the memory occupied by data, thus effectively improving the efficiency of storage space utilization and avoiding data loss due to system failure. As shown in Figure4, it is the specific execution steps of the proposed algorithm.Figure 4
Redundancy elimination algorithm for big data.According to Figure4, it can be seen that the redundancy elimination algorithm for big data based on hash calculation does not need to calculate the characteristic values of data frequently and can use the existing data to detect the similarity and entropy values between data blocks, eliminate redundant and duplicate data in big data, and reduce the storage space occupied by data.


## 3.1. Architecture of the Improved de-duplication Strategy

The improved strategy for secure deduplication based on content encryption proposed in this study can effectively avoid the problems of computational complexity and excessive overhead for users, as well as the problem of a single point of failure for third-party servers. As shown in Figure3, it is the architecture of the improved strategy.Figure 3
Basic architecture.Existing data deduplication key management algorithms have high management overhead and low system performance. A multilevel key management algorithm can be used to address these issues. The keys are separated into three levels: file, data block, and slice.Using the message lock encryption algorithm, the user generates the file-level key KF for the file F.For file F, the user divides the file into blocks Bi and generates the key Ki using the block key generation function. On the cloud storage disk, the block-level key is encrypted with the file-level key and stored. Slice level key: for file-level key KF, the KF is partitioned inton slice level keys using a secret sharing scheme and then stored on multiple key servers.The algorithm for multilevel key management dynamically updates the key management and retains a single key for duplicate files, thereby reducing the key storage space. The secret shared key divides the file-level key inton pieces and stores them in multiple key servers, which increases the key’s reliability and eliminates the issue of a single point of failure [16]. To prevent local data loss, the ciphertexts of all block-level keys are uploaded to the cloud server. Consequently, multi-level key management employs key deduplication and secret sharing to reduce key redundancy, respectively, to ensure the security of keys and achieve a balance between key management overhead and reliability [17].


### 3.1.1. Data Upload Process

The existing data deduplication encryption algorithm is improved by combining the interuser file-level and intrauser data block-level security deduplication strategies. The user first computes the file-level key using hash convergence encryption, then computes the ciphertext by the hash function to get the file fingerprint and sends it to the cloud, which uses the file fingerprint index to query whether the files are identical. If the file exists, the file metadata is updated; if the file does not exist, the file is divided into several data blocks using the chunking algorithm. The user then uses block-level convergence encryption to calculate the key and fingerprint of the data block, queries whether it is a duplicate data block in the same way, and stores the metadata for nonduplicate data blocks.


### 3.1.2. Data Download Process

The user sends an authentication and download request to the cloud storage server, and if the authentication is successful, the server returns the requested file spectrum and data blocks. To recover file-level keys, the user connects to multiple key servers and obtains a predetermined number of slice keys from each server. The user utilizes the file-level key to decrypt the data block key, decrypts the corresponding data block using the data block key, and then recovers the file in file spectrum sequence.


## 3.1.1. Data Upload Process

The existing data deduplication encryption algorithm is improved by combining the interuser file-level and intrauser data block-level security deduplication strategies. The user first computes the file-level key using hash convergence encryption, then computes the ciphertext by the hash function to get the file fingerprint and sends it to the cloud, which uses the file fingerprint index to query whether the files are identical. If the file exists, the file metadata is updated; if the file does not exist, the file is divided into several data blocks using the chunking algorithm. The user then uses block-level convergence encryption to calculate the key and fingerprint of the data block, queries whether it is a duplicate data block in the same way, and stores the metadata for nonduplicate data blocks.


## 3.1.2. Data Download Process

The user sends an authentication and download request to the cloud storage server, and if the authentication is successful, the server returns the requested file spectrum and data blocks. To recover file-level keys, the user connects to multiple key servers and obtains a predetermined number of slice keys from each server. The user utilizes the file-level key to decrypt the data block key, decrypts the corresponding data block using the data block key, and then recovers the file in file spectrum sequence.


## 3.2. Data Classification

For complex data and data with high similarity, it is necessary to classify sample data before eliminating redundant data in order to reduce the time and energy consumption of deduplication [18].The weight value of the sample data in the big data storage system is determined in order to reflect the degree to which the sample data is located on the edge of the data set in the data set. The specific calculation process is shown in the following equation:(1)w=k+∑i=1zixiλ,where k is the number of virtual nodes in the data; zi is the length of the i data string; xi is the frequency of the i data in the sample data being accessed; λ is the virtual node key value. The category classification of large-scale data is realized according to the weight value, and the number of categories c is divided as in the following equation:(2)c=∑i=1zixiλw−∂ik,where, ∂i is the data redundancy threshold, so that the data with higher access frequency is divided into separate categories and the classification of data is completed.


## 3.3. Redundant Data Elimination

Based on the classification results of the data, the judgment and elimination of redundant data in high access frequency data are performed. In order to improve the speed of the algorithm, the hash method computes the data block's hash value [19], as shown in the following equation:(3)U=minSQR1−Hk,where H denotes the fixed-length hash value; G denotes the hash function, and the formula can improve the judgment speed of duplicated data blocks.To improve the deduplication effect, the similarity between the data is judged by calculating the hash value of the data, and the theorem is described in the following equation:(4)H=G∑i=1zixilc−∂i,where U denotes the data hash value; SQ denotes the redundant data set; and the similarity of data is R. When the set similarity is 70%, it means that 70% of the data in the set are with the same attributes at the same position [20].Thus, redundant data extraction from similar data can be achieved by the following equation:(5)T=U+∑i=1Pbi,where bi represents the data with the highest degree of similarity; P is the internal discrete value of the data set.In addition to the deduplication problem of similar data, it is also necessary to achieve redundancy elimination in complex data, so it is necessary to calculate the entropy in this similar data set, as in the following equation:(6)Y=TlgR−∑i=1siα,where si is the data node with the highest structural complexity; α is the data size.The data output of the storage system after removing redundant data can be obtained by fusing the data similarity operation of equation (5) with the data complexity operation of equation (6) as the following equation:(7)L=TlgR−Y∑i=1Pbi−∑i=1siα.As a result, the information set’s similarity and entropy value are reduced, and the elimination of redundant data from the network resources is achieved.


## 3.4. Algorithm Execution Step Design

Effective elimination of redundant data can reduce the memory occupied by data, thus effectively improving the efficiency of storage space utilization and avoiding data loss due to system failure. As shown in Figure4, it is the specific execution steps of the proposed algorithm.Figure 4
Redundancy elimination algorithm for big data.According to Figure4, it can be seen that the redundancy elimination algorithm for big data based on hash calculation does not need to calculate the characteristic values of data frequently and can use the existing data to detect the similarity and entropy values between data blocks, eliminate redundant and duplicate data in big data, and reduce the storage space occupied by data.


## 4. Experimental Results and Analysis

### 4.1. Experimental Environment and Data Preparation

The required devices for the experimental process are three processors, one storage server, and one backup server [21–23]. The hardware configuration includes 20 GB storage memory, E5606 microprocessor, 16 TB disk array, 150 GB flash memory, and Ubuntu 12.05 operating system. The connection between different devices is realized through a 100-gigabit switch, and the specific experimental environment is shown in Table 1.Table 1
Experimental environment setup.
EquipmentModelRemarksStorage serverYB-CA266intel1200 series chipset, 64 bit to strong 4 core processor SATA 2 TB hard diskBackup serverSystemx3650M3CPU model: Xeon E5506 2.13 GHz maximum support for 16 2.5-inch 4 × PCI-E second-generation slotProcessors 11intel®xeone55064 MB level 3 cacheProcessor 2Windows server 2016 enterpriseIntel core i7CPU930Processor 3Windows 7Pentium dual CoreCPUE6500The analysis of the experimental data was conducted in accordance with the experimental conditions of Table1. The ten data set files used for the experiments have a total size of 130 GB, and the network resources are listed in the following order: DA-1, DA-2, DA-3, DA-4, DA-5, and DA. The data resources are deduplicated using the algorithms of [3, 4], and the proposed algorithm, respectively, and the deduplication effects of the three methods are compared and analyzed, along with the validation results.


### 4.2. Comparison of Storage Space Occupation

The main purpose of redundant data elimination is to reduce the storage system space memory occupied by the data, so it is necessary to compare the storage system space occupied by different algorithms after eliminating the redundant data in big data as a criterion to evaluate the effectiveness of the deduplication algorithm. The comparison results are shown in Figure5.Figure 5
Comparison of system storage space after de-duplication by 3 algorithms.As shown in Figure5, after deduplication by the three methods, the remaining data of the algorithm of literature [3] occupy the most storage space in the system, followed by the algorithm of literature [4], and finally the proposed method, the remaining data occupy very little storage space in the system, which is due to the hash calculation method used in the proposed method to identify and eliminate redundant data according to the data similarity, which can distil the redundant data.


### 4.3. Network Bandwidth Comparison

Network bandwidth usage is an important indicator to evaluate the system performance, and the network bandwidth occupied by a high performance system is low. For this reason, the network bandwidth occupied during computing is compared among the three methods. The specific comparison results are shown in Figure6.Figure 6
Comparison of the network bandwidth occupied by the 3 algorithms.As shown in Figure6, the algorithm of [3] consumes the greatest amount of network bandwidth, followed by the algorithm of [4]. The proposed algorithm uses the least bandwidth. This is because the proposed algorithm generates virtual nodes through the hashing algorithm and maps the data into the Hash for judgment and elimination process, which utilizes less server network resources.


### 4.4. Comparison of Redundant Data de-duplication Rate

In order to further illustrate the deduplication effect of the proposed algorithm, the redundant data deduplication rates of the algorithm in literature [3], literature [4], and the proposed algorithm for large data resources are compared under different data blocks, and the results are shown in Table 2.Table 2
De-duplication rates of redundant data for the three methods.
Data blockLiterature [3] algorithm (%)Literature [4] algorithm (%)OursMultiuserSingle-userMultiuserSingle-userMultiuserSingle-userDa-1468247819599Da-2457742759799Da-3579058889599Da-4528554819998Da-5517350709699Da-6396937629298Da-7387932859799Da-8418444809598Da-9328631839999Da-10368337889998In the case of multiuser backup, the proposed algorithm achieves a maximum deduplication rate of 99 percent, whereas the other two compared algorithms achieve a maximum deduplication rate of 57 percent; in the case of single-user backup, the proposed algorithm achieves a maximum deduplication rate of 99 percent, whereas the traditional algorithm achieves a maximum deduplication rate of 90 percent. Since the proposed algorithm can recognize complex data structures and highlight data with high similarity by calculating and reducing the entropy value of the data, it is capable of highlighting data with high similarity.


### 4.5. Throughput Comparison

Analysis of the comparison results in terms of data deduplication rate shows that the proposed method has a good deduplication effect, but since the deduplication effect of redundant data and data throughput are conflicting, if the data deduplication rate is high, it will affect the data deduplication speed. Therefore, the data throughput of the proposed algorithm needs to be verified. The specific comparison results are shown in Table3.Table 3
Redundant data throughput of the three methods.
Data blockLiterature [3] algorithm (%)Literature [4] algorithm (%)OursMultiuserSingle-userMultiuserSingle-userMultiuserSingle-userDa-115169122124Da-2141710132023Da-3141510131922Da-4131511141825Da-5111412151826Da-6141312151922Da-7121513142027Da-8121310132223Da-9141511121824Da-10131611122126According to Table3, the data throughput of the proposed algorithm can reach up to 26 MB/s, while the data throughput of the algorithms in literature [3] and literature [4] is lower, up to 16 MB/s. This is due to the fact that the proposed method does not need to repeatedly extract the feature points of the data, which can be directly calculated for the similarity of the data, and the data preclassification operation is performed before the data deduplication, which improves the computing efficiency [24].


## 4.1. Experimental Environment and Data Preparation

The required devices for the experimental process are three processors, one storage server, and one backup server [21–23]. The hardware configuration includes 20 GB storage memory, E5606 microprocessor, 16 TB disk array, 150 GB flash memory, and Ubuntu 12.05 operating system. The connection between different devices is realized through a 100-gigabit switch, and the specific experimental environment is shown in Table 1.Table 1
Experimental environment setup.
EquipmentModelRemarksStorage serverYB-CA266intel1200 series chipset, 64 bit to strong 4 core processor SATA 2 TB hard diskBackup serverSystemx3650M3CPU model: Xeon E5506 2.13 GHz maximum support for 16 2.5-inch 4 × PCI-E second-generation slotProcessors 11intel®xeone55064 MB level 3 cacheProcessor 2Windows server 2016 enterpriseIntel core i7CPU930Processor 3Windows 7Pentium dual CoreCPUE6500The analysis of the experimental data was conducted in accordance with the experimental conditions of Table1. The ten data set files used for the experiments have a total size of 130 GB, and the network resources are listed in the following order: DA-1, DA-2, DA-3, DA-4, DA-5, and DA. The data resources are deduplicated using the algorithms of [3, 4], and the proposed algorithm, respectively, and the deduplication effects of the three methods are compared and analyzed, along with the validation results.


## 4.2. Comparison of Storage Space Occupation

The main purpose of redundant data elimination is to reduce the storage system space memory occupied by the data, so it is necessary to compare the storage system space occupied by different algorithms after eliminating the redundant data in big data as a criterion to evaluate the effectiveness of the deduplication algorithm. The comparison results are shown in Figure5.Figure 5
Comparison of system storage space after de-duplication by 3 algorithms.As shown in Figure5, after deduplication by the three methods, the remaining data of the algorithm of literature [3] occupy the most storage space in the system, followed by the algorithm of literature [4], and finally the proposed method, the remaining data occupy very little storage space in the system, which is due to the hash calculation method used in the proposed method to identify and eliminate redundant data according to the data similarity, which can distil the redundant data.


## 4.3. Network Bandwidth Comparison

Network bandwidth usage is an important indicator to evaluate the system performance, and the network bandwidth occupied by a high performance system is low. For this reason, the network bandwidth occupied during computing is compared among the three methods. The specific comparison results are shown in Figure6.Figure 6
Comparison of the network bandwidth occupied by the 3 algorithms.As shown in Figure6, the algorithm of [3] consumes the greatest amount of network bandwidth, followed by the algorithm of [4]. The proposed algorithm uses the least bandwidth. This is because the proposed algorithm generates virtual nodes through the hashing algorithm and maps the data into the Hash for judgment and elimination process, which utilizes less server network resources.


## 4.4. Comparison of Redundant Data de-duplication Rate

In order to further illustrate the deduplication effect of the proposed algorithm, the redundant data deduplication rates of the algorithm in literature [3], literature [4], and the proposed algorithm for large data resources are compared under different data blocks, and the results are shown in Table 2.Table 2
De-duplication rates of redundant data for the three methods.
Data blockLiterature [3] algorithm (%)Literature [4] algorithm (%)OursMultiuserSingle-userMultiuserSingle-userMultiuserSingle-userDa-1468247819599Da-2457742759799Da-3579058889599Da-4528554819998Da-5517350709699Da-6396937629298Da-7387932859799Da-8418444809598Da-9328631839999Da-10368337889998In the case of multiuser backup, the proposed algorithm achieves a maximum deduplication rate of 99 percent, whereas the other two compared algorithms achieve a maximum deduplication rate of 57 percent; in the case of single-user backup, the proposed algorithm achieves a maximum deduplication rate of 99 percent, whereas the traditional algorithm achieves a maximum deduplication rate of 90 percent. Since the proposed algorithm can recognize complex data structures and highlight data with high similarity by calculating and reducing the entropy value of the data, it is capable of highlighting data with high similarity.


## 4.5. Throughput Comparison

Analysis of the comparison results in terms of data deduplication rate shows that the proposed method has a good deduplication effect, but since the deduplication effect of redundant data and data throughput are conflicting, if the data deduplication rate is high, it will affect the data deduplication speed. Therefore, the data throughput of the proposed algorithm needs to be verified. The specific comparison results are shown in Table3.Table 3
Redundant data throughput of the three methods.
Data blockLiterature [3] algorithm (%)Literature [4] algorithm (%)OursMultiuserSingle-userMultiuserSingle-userMultiuserSingle-userDa-115169122124Da-2141710132023Da-3141510131922Da-4131511141825Da-5111412151826Da-6141312151922Da-7121513142027Da-8121310132223Da-9141511121824Da-10131611122126According to Table3, the data throughput of the proposed algorithm can reach up to 26 MB/s, while the data throughput of the algorithms in literature [3] and literature [4] is lower, up to 16 MB/s. This is due to the fact that the proposed method does not need to repeatedly extract the feature points of the data, which can be directly calculated for the similarity of the data, and the data preclassification operation is performed before the data deduplication, which improves the computing efficiency [24].


## 5. Conclusion

In this paper, we propose a Merkle hash tree-based data security deduplication scheme MTHDedup in a hybrid cloud environment to effectively support file-level and block-level encrypted data deduplication detection and improve the data deduplication rate. The Merkle hash tree is used to construct encryption keys, which reduces the computational overhead associated with ciphertext generation. The security analysis demonstrates that the MTHDedup scheme can effectively resist brute-force attacks launched by external and internal adversaries, thereby enhancing data security; simulation experimental results demonstrate that the scheme can effectively reduce the computational overhead of generating ciphertexts. Future research will concentrate on verifying the integrity of data in cloud storage systems based on multiuser participation and collaboration, as well as safeguarding the data of each participant.Although the effect of redundancy elimination is improved, there are still areas for improvement in this method, and it can only be implemented in the process of network resource backup in terms of achieving global redundancy data elimination, which is risky. Therefore, the next step is to implement the global redundancy data elimination function based on global redundancy. In the future, we will study how to extend the method proposed in this paper to large-scale cloud computing to reduce the resource waste rate of cloud computing.



---

*Source: 8354903-2022-07-22.xml*