CN117149724A - 一种云环境系统重复数据删除的方法及系统 - Google Patents
一种云环境系统重复数据删除的方法及系统 Download PDFInfo
- Publication number
- CN117149724A CN117149724A CN202311414079.8A CN202311414079A CN117149724A CN 117149724 A CN117149724 A CN 117149724A CN 202311414079 A CN202311414079 A CN 202311414079A CN 117149724 A CN117149724 A CN 117149724A
- Authority
- CN
- China
- Prior art keywords
- data
- data blocks
- module
- cloud environment
- metadata
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000007726 management method Methods 0.000 claims abstract description 51
- 238000011084 recovery Methods 0.000 claims abstract description 37
- 238000012217 deletion Methods 0.000 claims abstract description 19
- 230000037430 deletion Effects 0.000 claims abstract description 19
- 238000013500 data storage Methods 0.000 claims abstract description 17
- 230000007246 mechanism Effects 0.000 claims abstract description 15
- 230000000737 periodic effect Effects 0.000 claims abstract description 11
- 238000011156 evaluation Methods 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 12
- 238000000926 separation method Methods 0.000 claims description 11
- 230000008901 benefit Effects 0.000 claims description 9
- 230000006835 compression Effects 0.000 claims description 7
- 238000007906 compression Methods 0.000 claims description 7
- 238000004064 recycling Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种云环境系统重复数据删除的方法及系统,包括,将本地文件上传到云环境容器中,将本地文件按照文件块进行拆分组织,生成指纹列表UFR,通过对比指纹的相似性进行去重得到数据块、数据备份信息、以及压缩后的数据块指纹,生成批量重复数据删除模块、元数据管理模块;数据块按照指定的冗余策略备份到不同的网络环境中的容器中,并更新元数据模块中的元数据信息,生成数据备份模块;将数据备份模块中的备份文件通过定期回收机制,生成重复数据回收模块;将重复数据回收模块中新的备份文件按照访问频次分别存储到不同机房的不同存储介质,生成冷热数据存储模块,实现了云环境的重复数据删除中的数据完整性和安全性,提高了工作效率。
Description
技术领域
本发明涉及云环境系统技术领域,此处,尤其涉及一种云环境系统重复数据删除的方法及系统。
背景技术
云平台通过数据备份、冗余和安全措施,对用户提供了更高的数据安全性和可靠性的承诺。传统云上环境重复数据删除系统,从实现角度可以分为两类,客户端去重和服务端去重。客户端去重主要实在与云服务器进行通信的客户端所在的本地机器上去重,在Cloud Tiering(数据分层)和云备份等场景应用较多。服务端去重主要指云服务中的保留同一个文件的唯一副本,往往在资源有限的场景下使用。在现有的技术中云平台通过数据备份、冗余和安全措施依旧会影响用户的使用体验,工作效率较低、以及在数据存储中重复的数据删除占据存储空间。
因此,云环境中的重复数据删除中的数据不够完整、安全以及工作效率较低是需要解决的完善的问题。
发明内容
本申请实施例通过提供一种云环境系统重复数据删除的方法及系统,解决了现有技术中云环境中的重复数据删除中的数据不够完整、安全以及工作效率较低是需要解决的完善的问题,实现了云环境的重复数据删除中的数据完整性和安全性,有效提高了工作效率。
本申请实施例提供了一种云环境系统重复数据删除的方法,包括,
S1、将本地文件上传到云环境容器中,将所述本地文件按照文件块进行拆分、组织,并生成指纹列表UFR,通过对比指纹的相似性进行去重得到数据块、数据备份信息、以及压缩后的数据块指纹,生成批量重复数据删除模块;
S2、将所述批量重复数据删除模块中的数据块、数据备份信息、以及压缩后的数据块指纹上传到云环境中进行管理,生成元数据管理模块;
S3、将所述元数据管理模块中的所述数据块从本地文件上传到云环境中的容器后,所述数据块还会按照指定的冗余策略备份到不同的网络环境中的容器中,并更新元数据模块中的元数据信息,生成数据备份模块;
S4、将所述数据备份模块中的备份文件通过定期回收机制,引用文件元数据来删除不再使用的备份数据块和重复数据块得到新的备份文件,生成重复数据回收模块;
S5、将所述重复数据回收模块中新的备份文件按照访问频次分别存储到不同机房的不同存储介质上,生成冷热数据存储模块。
进一步的,在所述将本地文件上传到云环境容器中,将所述本地文件按照文件块进行拆分、组织,并生成指纹列表UFR,通过对比指纹的相似性进行去重得到数据块、数据备份信息、以及压缩后的数据块指纹,生成批量重复数据删除模块中,还包括,
S11、将所述数据块,按照经典的Rabin指纹算法,通过滑动窗口的方式计算出不同数据块的指纹列表UFR,将所述指纹列表UFR的哈希值按照上传到云环境中的数据块个数进行取模分桶,得到分桶后的指纹列表UFR;
S12、将所述分桶后的指纹列表UFR对应的数据块按照原始文件进行分配,得到分桶后的数据块,并对所述分桶后的数据块按照原始文件中的偏移量进行排序;
S13、当数据块和数据块位置已知,并且将指纹按分桶去除了重复的数据块后,将对文件的元数据进行更新,并发送给元数据管理模块进行压缩存储,获取数据块和云环境的容器地址;
S14、基于获取的所述数据块引用地址和所述云环境的容器地址,对所述数据块进行上传,上传完成后,将新文件在云环境中标记为就绪。
进一步的,所述将所述批量重复数据删除模块中的数据块、数据备份信息、以及压缩后的数据块指纹上传到云环境中进行管理,生成元数据管理模块,还包括,
将所述数据块上传到云环境中,通过数据块自身的指纹信息FingIdx,按照哈希函数进行分桶,得到分桶后的数据块,将所述分桶后的数据块按桶进行重复数据指纹对比。
进一步的,所述将所述元数据管理模块中的所述数据块从本地文件上传到云环境中的容器后,所述数据块会按照默认的冗余策略备份到不同的网络环境中的容器中,并更新元数据模块中的元数据信息,生成数据备份模块,还包括,
根据访问频次增加冗余数据块,冗余数据块增加公式如下所示:
;
其中, freq(x) 表示访问文件x 的频次,file_num表示该存储空间中的文件个数,rep_num表示默认的冗余备份策略的冗余个数,所述冗余策略备份默认副本数的个数为3。
进一步的,所述将所述数据备份模块中的备份文件通过定期回收机制,引用文件元数据来删除不再使用的备份数据块和重复数据块得到新的备份文件,生成重复数据回收模块,还包括,
S41、通过元数据的数据块引用地址,查找出没有被引用的数据块;
S42、解压数据块的指纹,对不同数据块的指纹采用 BloomFilter 算法进行匹配计算,找到重复的数据块;
S43、评估没有被引用的数据块和重复的数据块,若整个容器中所有的数据块都需要删除,则直接删除整个容器;
S44、若重写容器之后, T 天后能收回成本,则重写容器,评估公式如下:
;
当且仅当 x < 1.0时,重写容器比存储 T 天原本需要删除的数据带来的收益更高,此时才会重写,否则保留数据块;
S45,更新被删除的重复的数据块所对应的元数据。
第二方面,一种云环境系统重复数据删除的系统,包括,
批量重复数据删除模块,用于将本地文件上传到云环境容器中,将所述本地文件按照文件块进行拆分、组织,并生成指纹列表UFR,通过对比指纹的相似性进行去重得到数据块、数据备份信息、以及压缩后的数据块指纹,生成批量重复数据删除模块;
元数据管理模块,用于将所述批量重复数据删除模块中的数据块、数据备份信息、以及压缩后的数据块指纹上传到云环境中进行管理,生成元数据管理模块;
数据备份模块,用于将所述元数据管理模块中的所述数据块从本地文件上传到云环境中的容器后,所述数据块还会按照指定的冗余策略备份到不同的网络环境中的容器中,并更新元数据模块中的元数据信息,生成数据备份模块;
重复数据回收模块,用于将所述数据备份模块中的备份文件通过定期回收机制,引用文件元数据来删除不再使用的备份数据块和重复数据块得到新的备份文件,生成重复数据回收模块;
冷热数据存储模块,用于将所述重复数据回收模块中新的备份文件按照访问频次分别存储到不同机房的不同存储介质上,生成冷热数据存储模块。
进一步的,所述批量重复数据删除模块,还包括,
指纹列表UFR得到单元,用于将所述数据块,按照经典的Rabin指纹算法,通过滑动窗口的方式计算出不同数据块的指纹列表UFR,将所述指纹列表UFR的哈希值按照上传到云环境中的数据块个数进行取模分桶,得到分桶后的指纹列表UFR。
分桶后的数据块排序单元,用于将所述分桶后的指纹列表UFR对应的数据块按照原始文件进行分配,得到分桶后的数据块,并对所述分桶后的数据块按照原始文件中的偏移量进行排序;
数据块和云环境的容器地址获取单元,用于当数据块和数据块位置已知,并且将指纹按分桶去除了重复的数据块后,将对文件的元数据进行更新,并发送给元数据管理模块进行压缩存储,获取数据块和云环境的容器地址;
文件标记单元,用于基于获取的所述数据块和所述云环境的容器地址,对所述数据块进行上传,上传完成后,将新文件在云环境中标记为就绪。
进一步的,所述元数据管理模块,还包括,
重复数据指纹对比单元,用于将所述数据块上传到云环境中,通过数据块自身的指纹信息FingIdx,按照哈希函数进行分桶,得到分桶后的数据块,将所述分桶后的数据块按桶进行重复数据指纹对比。
进一步的,在将所述元数据管理模块中的所述数据块从本地文件上传到云环境中的容器后,所述数据块还会按照指定的冗余策略备份到不同的网络环境中的容器中,并更新元数据模块中的元数据信息中,还包括,
冗余数据块增加单元,用于根据访问频次增加冗余数据块;
冗余数据块增加公式如下所示:
;
其中, freq(x) 表示访问文件x 的频次,file_num表示该存储空间中的文件个数,rep_num表示默认的冗余备份策略的冗余个数,所述冗余策略备份默认副本数的个数为3。
进一步的,没有被引用的数据块查找子单元,用于通过元数据的数据块引用地址,查找出没有被引用的数据块;
重复的数据块查找子单元,用于解压数据块的指纹,对不同数据块的指纹采用BloomFilter 算法进行匹配计算,找到重复的数据块;
没有被引用的数据块和重复的数据块评估单元,用于评估没有被引用的数据块和重复的数据块,若整个容器中所有的数据块都需要删除,则直接删除整个容器;若重写容器之后, T 天后能收回成本,则重写容器,评估公式如下:
;
当且仅当 x < 1.0时,重写容器比存储 T 天原本需要删除的数据带来的收益更高,此时才会重写,否则保留数据块;
元数据更新子单元,用于更新被删除的重复的数据块所对应的元数据。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
1、通过设计元数据管理模块,批量重复数据删除模块,数据备份模块,重复数据回收模块和冷热数据存储模块实现了对云环境中重复数据的可靠检测;
2、设计了基于成本的批量重复数据删除模块,采用成本评估的方式,比较重写数据块和保留重复数据之间的成本开销;
3、 设计了冷热存储和数据备份,保证数据安全性和访问效率。
附图说明
图1为本申请一种云环境系统重复数据删除的方法流程图;
图2为本申请种云环境系统重复数据删除的系统模块架构图。
具体实施方式
本申请实施例通过提供一种云环境系统重复数据删除的方法及系统,解决了现有技术中云环境中的重复数据删除中的数据不够完整、安全以及工作效率较低是需要解决的完善的问题,实现了云环境的重复数据删除中的数据完整性和安全性有效提高了工作效率。
本申请实施例中的技术方案为解决上述串扰的问题,总体思路如下:
将本地文件上传到云环境容器中,将所述本地文件按照文件块进行拆分、组织,并生成指纹列表UFR,通过对比指纹的相似性进行去重得到数据块、数据备份信息、以及压缩后的数据块指纹,生成批量重复数据删除模块;
将所述批量重复数据删除模块中的数据块、数据备份信息、以及压缩后的数据块指纹上传到云环境中进行管理,生成元数据管理模块;
将所述元数据管理模块中的所述数据块从本地文件上传到云环境中的容器后,所述数据块还会按照指定的冗余策略备份到不同的网络环境中的容器中,并更新元数据模块中的元数据信息,生成数据备份模块;
将所述数据备份模块中的备份文件通过定期回收机制,引用文件元数据来删除不再使用的备份数据块和重复数据块得到新的备份文件,生成重复数据回收模块;
将所述重复数据回收模块中新的备份文件按照访问频次分别存储到不同机房的不同存储介质上,生成冷热数据存储模块。
通过设计元数据管理模块,批量重复数据删除模块,数据备份模块,重复数据回收模块和冷热数据存储模块实现了对云环境中重复数据的可靠检测;设计了基于成本的批量重复数据删除模块,采用成本评估的方式,比较重写数据块和保留重复数据之间的成本开销;设计了冷热存储和数据备份,保证数据安全性和访问效率。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
参见图1和图2,
S1、将本地文件上传到云环境容器中,将所述本地文件按照文件块进行拆分、组织,并生成指纹列表UFR,通过对比指纹的相似性进行去重得到数据块、数据备份信息、以及压缩后的数据块指纹,生成批量重复数据删除模块;
具体的,在文件数据从本地上传到云环境中时,数据将按照文件数据块的形式进行组织,元数据中包含了整个文件的数据块列表(processed file recipes, PFRs)和用作冗余备份的其他文件块列表的网络地址,而每一个数据块有维护着自身的指纹信息FingIdx,该指纹信息在数据块上传过程中生成,这意味着FingIdx指纹可以按照哈希函数进行分桶,使得同一批次上传的数据块可以按桶进行重复数据指纹对比,降低检测时间。需要注意的是,数据块的指纹信息将会压缩处理降低存储开销;指纹信息使用哈希函数生成后用作批量重复数据删除模块进行去除冗余,由于此时数据还未真正写入云环境中的容器中,容器内的数据块无需进行重写,没有额外的重写开销。
此外,大部分本地的文件系统自身有着冗余机制,加之用户自身的使用习惯也使得重复数据更倾向于出现在同一个本地磁盘上,因此在文件上传到云环境的这一阶段进行去重能有效去除掉大部分的重复数据。
进一步的,所述批量重复数据删除模块,包括,
S11、将所述数据块,按照经典的Rabin指纹算法,通过滑动窗口的方式计算出不同数据块的指纹列表UFR,将所述指纹列表UFR的哈希值按照上传到云环境中的数据块个数进行取模分桶,得到分桶后的指纹列表UFR。
S12、将所述分桶后的指纹列表UFR对应的数据块按照原始文件进行分配,得到分桶后的数据块,并对所述分桶后的数据块按照原始文件中的偏移量进行排序;
S13、当数据块和数据块位置已知,并且将指纹按分桶去除了重复的数据块后,将对文件的元数据进行更新,并发送给元数据管理模块进行压缩存储,获取数据块和云环境的容器地址;
S14、基于获取的所述数据块引用地址和所述云环境的容器地址,对所述数据块进行上传,上传完成后,将新文件在云环境中标记为就绪。
S2、将所述批量重复数据删除模块中的数据块、数据备份信息、以及压缩后的数据块指纹上传到云环境中进行管理,生成元数据管理模块;
具体的,元数据管理模块维护了云环境中文件的数据块列表元数据信息和指纹信息,数据块列表元数据记录了文件名和数据块的映射关系,用作读写等交互操作。每一个数据块都有其自身的指纹信息,用作进行重复数据检测。
在云环境中,存储结构往往是按照容器的形式进行组织的,因此文件数据需要按照数据块的形式进行组织,并实际存储到云环境的容器中,数据块的大小受制于云厂商的环境设置,本发明所提系统对此不存在限制,可以广泛适用于不同云厂商的环境。
其中,在文件数据从本地上传到云环境中时,数据将按照文件数据块的形式进行组织,元数据中包含了整个文件的数据块列表(processed file recipes, PFRs)和用作冗余备份的其他文件块列表的网络地址,而每一个数据块有维护着自身的指纹信息FingIdx,该指纹信息在数据块上传过程中生成,这意味着FingIdx指纹可以按照哈希函数进行分桶,使得同一批次上传的数据块可以按桶进行重复数据指纹对比,降低检测时间。需要注意的是,数据块的指纹信息将会压缩处理降低存储开销。
S3、将所述元数据管理模块中的所述数据块从本地文件上传到云环境中的容器后,所述数据块还会按照指定的冗余策略备份到不同的网络环境中的容器中,并更新元数据模块中的元数据信息,生成数据备份模块;
具体的,数据存储在云环境中的一大优势便是在于,云环境可以很方便的进行容灾备份,将数据块存储到不同机房的网络节点上,不仅有利于容灾安全,并且可以使网络请求更为分散,避免请求过于集中导致机器负载过高。
在数据块从本地上传到云环境中的容器后,数据块还会按照指定的冗余策略备份到不同的网络环境中的容器中,并更新元数据模块中的元数据信息。数据备份模块进行的数据块冗余备份与批量重复数据删除模块中进行的去重行为二者并不冲突,原因在于,上传阶段去重删除的是本地机器上冗余策略或者用户行为导致的重复数据,这些冗余数据数目不一,难以整合,并且需要产生不同的元数据,无法用作容灾备份处理。
除了上传过程中的容灾冗余产生备份数据块外,本发明还设计了按照访问频次增加冗余数据块的机制,以实现访问请求尽可能分散,这一机制将按照用户策略定期执行。冗余数据块增加公式如下所示:
(1);
其中 freq(x) 表示访问文件x 的频次,file_num表示该存储空间中的文件个数,rep_num表示默认的冗余备份策略的冗余个数,所述冗余策略备份默认副本数的个数为 3。
S4、将所述数据备份模块中的备份文件通过定期回收机制,引用文件元数据来删除不再使用的备份数据块和重复数据块得到新的备份文件,生成重复数据回收模块;
具体的,重复数据回收模块负责删除不再有元数据引用的数据块以及因为非备份策略的其他云上数据操作产生的重复数据块。需要注意的是,删除重复数据块涉及容器的重写以及元数据的更新,这一操作本身会带来不小的计算和写入的额外开销,因此重复数据回收模块需要具备成本意识,并定期执行。主要步骤如下:
S41、通过元数据的数据块引用地址,查找出没有被引用的数据块;
S42、解压数据块的指纹,对不同数据块的指纹采用 BloomFilter 算法进行匹配计算,找到重复的数据块;
S43、评估没有被引用的数据块和重复的数据块,若整个容器中所有的数据块都需要删除,则直接删除整个容器;
S44、若重写容器之后, T 天后能收回成本,则重写容器,评估公式如下:
;
当且仅当 x < 1.0时,重写容器比存储 T 天原本需要删除的数据带来的收益更高,此时才会重写,否则保留数据块;
S45,更新被删除的重的数据块对应的元数据。
S5、将所述重复数据回收模块中新的备份文件按照访问频次分别存储到不同机房的不同存储介质上,生成冷热数据存储模块。
具体的,冷热数据存储模块负责将数据块分布在不同的存储介质,对于数据备份模块产生的备份数据块,将会存储到冷数据 HDD盘中用作容灾,而从本地磁盘上云时的原始数据块和数据备份模块跟进访问频次产出的用作分散热点请求的数据块将存储到热数据 SSD盘中,通过冷热存储机制能有效的将云上数据的容灾能力和高效访问性能进行结合,并降低存储开销。
通过过设计元数据管理模块,批量重复数据删除模块,数据备份模块,重复数据回收模块和冷热数据存储模块实现了对云环境中重复数据的可靠检测;设计了基于成本的批量重复数据删除模块,采用成本评估的方式,比较重写数据块和保留重复数据之间的成本开销;设计了冷热存储和数据备份,保证数据安全性和访问效率。
参见图2,一种云环境系统重复数据删除的系统,包括,
批量重复数据删除模块,用于将本地文件上传到云环境容器中,将所述本地文件按照文件块进行拆分、组织,并生成指纹列表UFR,通过对比指纹的相似性进行去重得到数据块、数据备份信息、以及压缩后的数据块指纹,生成批量重复数据删除模块;
元数据管理模块,用于将所述批量重复数据删除模块中的数据块、数据备份信息、以及压缩后的数据块指纹上传到云环境中进行管理,生成元数据管理模块;
数据备份模块,用于将所述元数据管理模块中的所述数据块从本地文件上传到云环境中的容器后,所述数据块还会按照指定的冗余策略备份到不同的网络环境中的容器中,并更新元数据模块中的元数据信息,生成数据备份模块;
重复数据回收模块,用于将所述数据备份模块中的备份文件通过定期回收机制,引用文件元数据来删除不再使用的备份数据块和重复数据块得到新的备份文件,生成重复数据回收模块;
冷热数据存储模块,用于将所述重复数据回收模块中新的备份文件按照访问频次分别存储到不同机房的不同存储介质上,生成冷热数据存储模块。
进一步的,所述批量重复数据删除模块,还包括,
指纹列表UFR得到单元,用于将所述数据块,按照经典的Rabin指纹算法,通过滑动窗口的方式计算出不同数据块的指纹列表UFR,将所述指纹列表UFR的哈希值按照上传到云环境中的数据块个数进行取模分桶,得到分桶后的指纹列表UFR。
分桶后的数据块排序单元,用于将所述分桶后的指纹列表UFR对应的数据块按照原始文件进行分配,得到分桶后的数据块,并对所述分桶后的数据块按照原始文件中的偏移量进行排序;
数据块和云环境的容器地址获取单元,用于当数据块和数据块位置已知,并且将指纹按分桶去除了重复的数据块后,将对文件的元数据进行更新,并发送给元数据管理模块进行压缩存储,获取数据块和云环境的容器地址;
文件标记单元,用于基于获取的所述数据块和所述云环境的容器地址,对所述数据块进行上传,上传完成后,将新文件在云环境中标记为就绪。
进一步的,所述元数据管理模块,还包括,
重复数据指纹对比单元,用于将所述数据块上传到云环境中,通过数据块自身的指纹信息FingIdx,按照哈希函数进行分桶,得到分桶后的数据块,将所述分桶后的数据块按桶进行重复数据指纹对比。
进一步的,在将所述元数据管理模块中的所述数据块从本地文件上传到云环境中的容器后,所述数据块还会按照指定的冗余策略备份到不同的网络环境中的容器中,并更新元数据模块中的元数据信息中,还包括,
冗余数据块增加单元,用于根据访问频次增加冗余数据块;
冗余数据块增加公式如下所示:
;
其中, freq(x) 表示访问文件x 的频次,file_num表示该存储空间中的文件个数,rep_num表示默认的冗余备份策略的冗余个数,所述冗余策略备份默认副本数的个数为3。
进一步的,没有被引用的数据块查找子单元,用于通过元数据的数据块引用地址,查找出没有被引用的数据块;
重复的数据块查找子单元,用于解压数据块的指纹,对不同数据块的指纹采用BloomFilter 算法进行匹配计算,找到重复的数据块;
没有被引用的数据块和重复的数据块评估单元,用于评估没有被引用的数据块和重复的数据块,若整个容器中所有的数据块都需要删除,则直接删除整个容器;若重写容器之后, T 天后能收回成本,则重写容器,评估公式如下:
;
当且仅当 x < 1.0时,重写容器比存储 T 天原本需要删除的数据带来的收益更高,此时才会重写,否则保留数据块;
元数据更新子单元,用于更新被删除的重的数据块对应的元数据。
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:本发明设计并实现了一种云环境中可靠的重复数据删除系统,通过设计元数据管理模块,批量重复数据删除模块,数据备份模块,重复数据回收模块和冷热数据存储模块实现了对云环境中重复数据的可靠检测。元数据管理模块主要负责管理管理文件的元数据,文件实际存储的数据块,数据备份信息,以及经过压缩后的数据块指纹。批量重复数据删除模块通过比较指纹相似性来对数据块进行高效去重。数据备份模块的目的是对热点数据进行标记和增加副本数,避免请求热点影响整个系统的效率。重复数据回收模块采用定期回收的机制,按照文件元数据的引用来删除不再使用的数据块和重复数据块。冷热数据存储模块将数据块的备份数据按照访问频次分别存储到不同机房的不同存储介质上,以节省存储成本。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种云环境系统重复数据删除的方法,其特征在于,包括,
S1、将本地文件上传到云环境容器中,将所述本地文件按照文件块进行拆分、组织,并生成指纹列表UFR,通过对比指纹的相似性进行去重得到数据块、数据备份信息、以及压缩后的数据块指纹,生成批量重复数据删除模块;
S2、将所述批量重复数据删除模块中的数据块、数据备份信息、以及压缩后的数据块指纹上传到云环境中进行管理,生成元数据管理模块;
S3、将所述元数据管理模块中的所述数据块从本地文件上传到云环境中的容器后,所述数据块会按照默认的冗余策略备份到不同的网络环境中的容器中,并更新元数据模块中的元数据信息,生成数据备份模块;
S4、将所述数据备份模块中的备份文件通过定期回收机制,引用文件元数据来删除不再使用的备份数据块和重复数据块得到新的备份文件,生成重复数据回收模块;
S5、将所述重复数据回收模块中新的备份文件按照访问频次分别存储到不同机房的不同存储介质上,生成冷热数据存储模块。
2.根据权利要求1所述的一种云环境系统重复数据删除的方法,其特征在于,在所述将本地文件上传到云环境容器中,将所述本地文件按照文件块进行拆分、组织,并生成指纹列表UFR,通过对比指纹的相似性进行去重得到数据块、数据备份信息、以及压缩后的数据块指纹,生成批量重复数据删除模块中,还包括,
S11、将所述数据块,按照经典的Rabin指纹算法,通过滑动窗口的方式计算出不同数据块的指纹列表UFR,将所述指纹列表UFR的哈希值按照上传到云环境中的数据块个数进行取模分桶,得到分桶后的指纹列表UFR;
S12、将所述分桶后的指纹列表UFR对应的数据块按照原始文件进行分配,得到分桶后的数据块,并对所述分桶后的数据块按照原始文件中的偏移量进行排序;
S13、当数据块和数据块位置已知,并且将指纹按分桶去除了重复的数据块后,将对文件的元数据进行更新,并发送给元数据管理模块进行压缩存储,获取数据块和云环境的容器地址;
S14、基于获取数据块和云环境的容器地址,对所述数据块进行上传,上传完成后,将新文件在云环境中标记为就绪。
3.根据权利要求1所述的一种云环境系统重复数据删除的方法,其特征在于,所述将所述批量重复数据删除模块中的数据块、数据备份信息、以及压缩后的数据块指纹上传到云环境中进行管理,生成元数据管理模块,还包括,
将所述数据块上传到云环境中,通过数据块自身的指纹信息FingIdx,按照哈希函数进行分桶,得到分桶后的数据块,将所述分桶后的数据块按桶进行重复数据指纹对比。
4.根据权利要求1所述的一种云环境系统重复数据删除的方法,其特征在于,所述将所述元数据管理模块中的所述数据块从本地文件上传到云环境中的容器后,所述数据块会按照默认的冗余策略备份到不同的网络环境中的容器中,并更新元数据模块中的元数据信息,生成数据备份模块,还包括,
根据访问频次增加冗余数据块,冗余数据块增加公式如下所示:
;
其中, freq(x) 表示访问文件x 的频次,file_num表示该存储空间中的文件个数,rep_num表示默认的冗余备份策略的冗余个数,冗余策略备份默认副本数的个数为 3。
5.根据权利要求2所述的一种云环境系统重复数据删除的方法,其特征在于,所述将所述数据备份模块中的备份文件通过定期回收机制,引用文件元数据来删除不再使用的备份数据块和重复数据块得到新的备份文件,生成重复数据回收模块,还包括,
S41、通过元数据的数据块引用地址,查找出没有被引用的数据块;
S42、解压数据块的指纹,对不同数据块的指纹采用 BloomFilter 算法进行匹配计算,找到重复的数据块;
S43、评估没有被引用的数据块和重复的数据块,若整个容器中所有的数据块都需要删除,则直接删除整个容器;
S44、若重写容器之后, T 天后能收回成本,则重写容器,评估公式如下:
;
在公式中,Tdays表示距离下一次进行回收评估的时间,该值是一个可以由用户设置的超参数,默认为 1,CAPACITYto_be_reclaimed为重复数据块的存储大小,COSTbyte_per_day为云存储的价格,该值受到云平台的存储定价影响, COSTrewrite表示回收时重写容器消耗的 CPU 资源占比,该值受到云平台的计算定价影响;
当且仅当 x < 1.0时,重写容器比存储 T 天原本需要删除的数据带来的收益更高,此时才会重写,否则保留数据块;
S45,更新被删除的重复数据块所对应的元数据。
6.一种云环境系统重复数据删除的系统,其特征在于,包括,
批量重复数据删除模块,用于将本地文件上传到云环境容器中,将所述本地文件按照文件块进行拆分、组织,并生成指纹列表UFR,通过对比指纹的相似性进行去重得到数据块、数据备份信息、以及压缩后的数据块指纹;
元数据管理模块,用于将所述批量重复数据删除模块中的数据块、数据备份信息、以及压缩后的数据块指纹上传到云环境中进行管理;
数据备份模块,用于将所述元数据管理模块中的所述数据块从本地文件上传到云环境中的容器后,所述数据块还会按照指定的冗余策略备份到不同的网络环境中的容器中,并更新元数据模块中的元数据信息;
重复数据回收模块,用于将所述数据备份模块中的备份文件通过定期回收机制,引用文件元数据来删除不再使用的备份数据块和重复数据块得到新的备份文件;
冷热数据存储模块,用于将所述重复数据回收模块中新的备份文件按照访问频次分别存储到不同机房的不同存储介质上。
7.根据权利要求6所述的一种云环境系统重复数据删除的系统,其特征在于,所述批量重复数据删除模块,还包括,
指纹列表UFR得到单元,用于将所述数据块,按照经典的Rabin指纹算法,通过滑动窗口的方式计算出不同数据块的指纹列表UFR,将所述指纹列表UFR的哈希值按照上传到云环境中的数据块个数进行取模分桶,得到分桶后的指纹列表UFR;
分桶后的数据块排序单元,用于将所述分桶后的指纹列表UFR对应的数据块按照原始文件进行分配,得到分桶后的数据块,并对所述分桶后的数据块按照原始文件中的偏移量进行排序;
数据块和云环境的容器地址获取单元,用于当数据块和数据块位置已知,并且将指纹按分桶去除了重复的数据块后,将对文件的元数据进行更新,并发送给元数据管理模块进行压缩存储,获取数据块和云环境的容器地址;
文件标记单元,用于基于获取的所述数据块和所述云环境的容器地址,对所述数据块进行上传,上传完成后,将新文件在云环境中标记为就绪。
8.根据权利要求6所述的一种云环境系统重复数据删除的系统,其特征在于,所述元数据管理模块,还包括,
重复数据指纹对比单元,用于将所述数据块上传到云环境中,通过数据块自身的指纹信息FingIdx,按照哈希函数进行分桶,得到分桶后的数据块,将所述分桶后的数据块按桶进行重复数据指纹对比。
9.根据权利要求6述的一种云环境系统重复数据删除的系统,其特征在于,所述数据备份模块,还包括,
冗余数据块增加单元,用于根据访问频次增加冗余数据块;
冗余数据块增加公式如下所示:
;
其中, freq(x) 表示访问文件x 的频次,file_num表示该存储空间中的文件个数,rep_num表示默认的冗余备份策略的冗余个数,冗余策略备份默认副本数的个数为 3。
10.根据权利要求7所述的一种云环境系统重复数据删除的系统,其特征在于,所述批量重复数据删除模块,包括,
没有被引用的数据块查找子单元,用于通过元数据的数据块引用地址,查找出没有被引用的数据块;
重复的数据块查找子单元,用于解压数据块的指纹,对不同数据块的指纹采用BloomFilter 算法进行匹配计算,找到重复的数据块;
没有被引用的数据块和重复的数据块评估单元,用于评估没有被引用的数据块和重复的数据块,若整个容器中所有的数据块都需要删除,则直接删除整个容器;若重写容器之后, T 天后能收回成本,则重写容器,评估公式如下:
;
在公式中,Tdays表示距离下一次进行回收评估的时间,该值是一个可以由用户设置的超参数,默认为 1,CAPACITYto_be_reclaimed为重复数据块的存储大小,COSTbyte_per_day为云存储的价格,该值受到云平台的存储定价影响, COSTrewrite表示回收时重写容器消耗的 CPU 资源占比,该值受到云平台的计算定价影响;
当且仅当 x < 1.0时,重写容器比存储 T 天原本需要删除的数据带来的收益更高,此时才会重写,否则保留数据块;
元数据更新子单元,用于更新被删除的重复数据块所对应的元数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311414079.8A CN117149724B (zh) | 2023-10-30 | 2023-10-30 | 一种云环境系统重复数据删除的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311414079.8A CN117149724B (zh) | 2023-10-30 | 2023-10-30 | 一种云环境系统重复数据删除的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117149724A true CN117149724A (zh) | 2023-12-01 |
CN117149724B CN117149724B (zh) | 2024-03-15 |
Family
ID=88899101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311414079.8A Active CN117149724B (zh) | 2023-10-30 | 2023-10-30 | 一种云环境系统重复数据删除的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117149724B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103944988A (zh) * | 2014-04-22 | 2014-07-23 | 南京邮电大学 | 一种适用于云存储的重复数据删除系统和方法 |
CN104331525A (zh) * | 2014-12-01 | 2015-02-04 | 国家计算机网络与信息安全管理中心 | 基于重复数据删除的共享方法 |
US20190034295A1 (en) * | 2017-07-25 | 2019-01-31 | Hubstor Inc. | Methods and systems relating to network based storage |
CN114371959A (zh) * | 2021-12-30 | 2022-04-19 | 上海爱数信息技术股份有限公司 | 一种基于重复数据删除的数据备份上云和恢复系统及方法 |
-
2023
- 2023-10-30 CN CN202311414079.8A patent/CN117149724B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103944988A (zh) * | 2014-04-22 | 2014-07-23 | 南京邮电大学 | 一种适用于云存储的重复数据删除系统和方法 |
CN104331525A (zh) * | 2014-12-01 | 2015-02-04 | 国家计算机网络与信息安全管理中心 | 基于重复数据删除的共享方法 |
US20190034295A1 (en) * | 2017-07-25 | 2019-01-31 | Hubstor Inc. | Methods and systems relating to network based storage |
CN114371959A (zh) * | 2021-12-30 | 2022-04-19 | 上海爱数信息技术股份有限公司 | 一种基于重复数据删除的数据备份上云和恢复系统及方法 |
Non-Patent Citations (1)
Title |
---|
熊金波等: ""云环境中数据安全去重研究进展"", 《通信学报》, vol. 36, no. 11, 25 November 2016 (2016-11-25), pages 169 - 180 * |
Also Published As
Publication number | Publication date |
---|---|
CN117149724B (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10705919B2 (en) | Data backup using metadata mapping | |
EP3532935B1 (en) | Snapshot metadata arrangement for cloud integration | |
EP3125119B1 (en) | A method for restoring files from a continuous recovery system | |
US8185554B1 (en) | Storage of data with composite hashes in backup systems | |
US8504529B1 (en) | System and method for restoring data to a storage device based on a backup image | |
US8904137B1 (en) | Deduplication system space recycling through inode manipulation | |
US20200167238A1 (en) | Snapshot format for object-based storage | |
EP2780796B1 (en) | Method of and system for merging, storing and retrieving incremental backup data | |
US8315985B1 (en) | Optimizing the de-duplication rate for a backup stream | |
US20230394010A1 (en) | File system metadata deduplication | |
US11409766B2 (en) | Container reclamation using probabilistic data structures | |
CN113728303B (zh) | 用于重复数据删除云分层的垃圾收集 | |
US10776321B1 (en) | Scalable de-duplication (dedupe) file system | |
US11580015B2 (en) | Garbage collection for a deduplicated cloud tier using functions | |
CN112817962B (zh) | 基于对象存储的数据存储方法、装置和计算机设备 | |
US11669545B2 (en) | Any point in time replication to the cloud | |
CN117149724B (zh) | 一种云环境系统重复数据删除的方法及系统 | |
US20230359529A1 (en) | Object store data management container with integrated snapshot difference interface for cataloging snapshots while resident in object store |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |