CN117369731B - 一种数据的缩减处理方法、装置、设备及介质 - Google Patents
一种数据的缩减处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117369731B CN117369731B CN202311669185.0A CN202311669185A CN117369731B CN 117369731 B CN117369731 B CN 117369731B CN 202311669185 A CN202311669185 A CN 202311669185A CN 117369731 B CN117369731 B CN 117369731B
- Authority
- CN
- China
- Prior art keywords
- data block
- data
- fingerprint
- sub
- data blocks
- 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.)
- Active
Links
- 230000009467 reduction Effects 0.000 title claims abstract description 62
- 238000003672 processing method Methods 0.000 title claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 188
- 238000000034 method Methods 0.000 claims abstract description 68
- 238000000605 extraction Methods 0.000 claims description 44
- 238000013507 mapping Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012217 deletion Methods 0.000 claims description 6
- 230000037430 deletion Effects 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 238000011084 recovery Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 8
- 238000013500 data storage Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 17
- 230000011218 segmentation Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011946 reduction process Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
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)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据的缩减处理方法、装置、设备及介质,适用于数据存储技术领域。当前的重删技术会将重删指纹库内不存在的写入数据块的指纹值加入至库内,本发明会再次对该写入数据块拼凑处理得到第一数据块,在相似指纹库内通过与其他数据块的相似指纹值组进行相似度处理确定第一数据块与其他数据块相似,根据相似的情况确定第一数据块与其他数据块内相同的目标数据块,将写入数据块内找到的目标数据块加入重删指纹库。相对于当前将写入数据块的指纹值加入至重删指纹库来说,本发明保留高价值的指纹信息,提高存储阵列内的重删价值,减小重删指纹库的数据量,节省重删指纹库的占用空间,同时提高查找和更新重删指纹库的效率。
Description
技术领域
本发明涉及数据存储技术领域,特别是涉及一种数据的缩减处理方法、装置、设备及介质。
背景技术
在数据存储空间内,对应存储的数据量成爆炸式增长,存储成本相应提高。为了应对这种情况,数据缩减技术成为存储阵列的关键技术,以此减少数据存储空间。数据缩减技术中较为经典的处理方式是重删技术,基于多份重复的数据只保存其中的一份数据,其他数据无需存储。
当前重删技术需要将存储数据进行分块,并对每个分块计算得到指纹值,待新的数据到来时,基于上述操作确定新的数据的指纹值后,在指纹库内查询是否已存储该指纹对应的数据,如果存在,则说明新的数据是重复数据。由于存储阵列容量较大,相应的指纹库的指纹值也较多,导致每次查询相同指纹的效率较低。另外,对于存储阵列内的数据大多只有引用1次的情况,即,只有一次的数据,在指纹库内也会存储该数据的相应指纹值,但不会起到重删的作用,导致指纹库内存储的大部分指纹无价值或者低价值,未能起到指纹库的真正存在的意义。
因此,如何在存储阵列内提高重删价值以及提高查询指纹的效率是本领域技术人员亟需要解决的技术问题。
发明内容
本发明的目的是提供一种数据的缩减处理方法、装置、设备及介质,以解决当前的重删指纹库内存储的指纹价值较低且数据量较大的情况下,查询指纹的效率降低的问题。
为解决上述技术问题,本发明提供一种数据的缩减处理方法,包括:
获取重删指纹库内不存在的写入数据块,其中,所述写入数据块的数量为多个;
根据合并规则对所述写入数据块进行拼凑处理得到第一数据块;将所述第一数据块进行特征提取处理确定对应的相似指纹值组以加入相似指纹库内;
在所述相似指纹库内根据所述第一数据块与其他数据块对应的相似指纹值组进行相似度处理确定所述第一数据块与所述其他数据块内相同的目标数据块;
将所述目标数据块的指纹值加入所述重删指纹库以完成所述写入数据块的缩减处理。
一方面,所述写入数据块的确定过程,包括:
获取当前写入数据;
根据预设粒度对所述当前写入数据进行分割为多个数据块;
将多个所述数据块分别进行加密处理得到对应的指纹值;
调用所述重删指纹库,查找所述重删指纹库内是否存在与多个所述数据块对应的指纹值相同的指纹值;
若至少一个不存在,则将不存在相同指纹值对应的所述数据块确定为所述重删指纹库内不存在的所述写入数据块。
另一方面,所述合并规则由预设拼凑个数和所述写入数据块的生成时间确定,所述根据合并规则对所述写入数据块进行拼凑处理得到第一数据块,包括:
获取所述预设拼凑个数、所述写入数据块的所述生成时间和写入数量;
根据所述生成时间的先后顺序排序得到排序后的所述写入数据块;
判断所述写入数量是否为所述预设拼凑个数的整倍数;
若是,则根据所述预设拼凑个数对排序后的所述写入数据块进行拼凑得到所述第一数据块;
若否,则确定所述写入数量和所述预设拼凑个数进行相除处理之后的余数;
根据所述余数确定排序后的所述写入数据块对应的末尾写入数据块;
将所述末尾写入数据块进行保存以便于和下一次获取的所述写入数据块拼凑处理;
根据所述预设拼凑个数对排序后的所述写入数据块除所述末尾写入数据块之外的其他写入数据块进行拼凑处理得到所述第一数据块。
另一方面,所述合并规则由写入地址、写入优先级和写入紧急优先级确定,所述根据合并规则对所述写入数据块进行拼凑处理得到第一数据块,包括:
获取所述写入数据块对应的所述写入地址和所述写入优先级,其中,所述写入优先级由所述写入数据块对应的数据的写入数据量确定;
获取预先设置的数据写入地址列表;
根据所述数据写入地址列表和所述写入地址对所述写入数据块进行写入地址分类得到各写入地址类型内的分类后的所述写入数据块;
确定各写入地址类型内的分类后的所述写入数据块的写入数量;
判断所述写入数量是否小于预设拼凑个数;
若不小于,则根据所述写入优先级和所述预设拼凑个数对分类后的所述写入数据块进行拼凑合并得到相同的写入地址内对应的所述第一数据块;
若小于,则获取所述写入数据块的所述写入紧急优先级,其中,所述写入紧急优先级由所述写入数据块对应的数据的请求任务级别确定;
判断所述写入数据块的所述写入紧急优先级是否为第一优先级;
若是第一优先级,则降低所述预设拼凑个数得到新的预设拼凑个数;
根据所述新的预设拼凑个数对分类后的所述写入数据块进行拼凑处理得到所述第一数据块;
若不是第一优先级,则将分类后的所述写入数据块进行保存以便于和下一次获取的所述写入数据块拼凑处理。
另一方面,所述将所述第一数据块进行特征提取处理确定对应的相似指纹值组,包括:
获取特征提取方式对应的各特征参数;
根据各所述特征参数对所述第一数据块进行特征提取处理得到对应的特征值;
将所述特征值组合得到所述第一数据块的所述相似指纹值组。
另一方面,所述在所述相似指纹库内根据所述第一数据块与其他数据块对应的相似指纹值组进行相似度处理确定所述第一数据块与所述其他数据块内相同的目标数据块,包括:
获取与所述第一数据块进行两两相似度处理的所述其他数据块内对应的第二数据块;
将所述第一数据块的所述相似指纹值组与所述第二数据块的所述相似指纹值组分别进行交集处理和并集处理对应得到第一交集组和第一并集组;
将所述第一交集组和所述第一并集组进行除法处理确定所述第一数据块与所述第二数据块的相似度;
在所述第一数据块与所述第二数据块的所述相似度大于预设的相似度阈值的情况下,确定所述第一数据块与所述第二数据块相似;
分别对所述第一数据块和所述第二数据块进行分割处理得到各第一子数据块和各第二子数据块;
分别将各所述第一子数据块和各所述第二子数据块进行加密处理得到对应的指纹值;
判断各所述第一子数据块和各所述第二子数据块对应的指纹值是否存在相同;
若存在相同,则将相同的所述指纹值对应的所述第一子数据块和所述第二子数据块确定为所述目标数据块。
另一方面,所述在所述相似指纹库内根据所述第一数据块与其他数据块对应的相似指纹值组进行相似度处理确定所述第一数据块与所述其他数据块内相同的目标数据块,包括:
获取与所述第一数据块进行两两相似度处理的所述其他数据块内对应的第二数据块;
将所述第一数据块的所述相似指纹值组与所述第二数据块的所述相似指纹值组对应的特征值进行比较确定相同的特征值的个数;
若所述相同的特征值的个数大于预设个数时,则确定所述第一数据块与所述第二数据块相似;
分别对所述第一数据块和所述第二数据块进行分割处理得到各第一子数据块和各第二子数据块;
分别将各所述第一子数据块和各所述第二子数据块进行加密处理得到对应的指纹值;
判断各所述第一子数据块和各所述第二子数据块对应的指纹值是否存在相同;
若存在相同,则将相同的所述指纹值对应的所述第一子数据块和所述第二子数据块确定为所述目标数据块。
另一方面,所述将所述目标数据块的指纹值加入所述重删指纹库,包括:
在所述目标数据块内对应的所述第一子数据块和所述第二子数据块中选择任意其中一个子数据块进行删除回收;
将选择后剩余的所述目标数据块内对应的所述第一子数据块和所述第二子数据块中的另一个子数据块建立指纹值与写入地址的映射关系;
将所述另一个子数据块的指纹值和所述映射关系加入至所述重删指纹库。
另一方面,在所述将所述目标数据块的指纹值加入所述重删指纹库之后,还包括:
获取所述第一数据块内各所述第一子数据块的第一初始个数和在所述第一数据块内除所述目标数据块对应的第一子数据块之外剩余的第一子数据块个数;
获取所述其他数据块内各所述第二子数据块的第二初始个数和在所述第二数据块内除所述目标数据块对应的第二子数据块之外剩余的第二子数据块个数;
根据所述第一数据块的所述第一初始个数和所述剩余的第一子数据块个数确定当前第一剩余比例;
根据所述第二数据块的所述第二初始个数和所述剩余的第二子数据块个数确定当前第二剩余比例;
在所述当前第一剩余比例小于预设剩余比例的情况下,将所述第一数据块对应的所述相似指纹值组从所述相似指纹库内删除;
在所述当前第二剩余比例小于所述预设剩余比例的情况下,将所述第二数据块对应的所述相似指纹值组从所述相似指纹库内删除。
另一方面,在所述重删指纹库内存在与多个所述数据块对应的指纹值相同的指纹值时,还包括:
获取所述当前写入数据对应的输入输出请求;
保存相同的指纹值对应的数据块的指针引用和对应写入地址的引用;
响应主机完成对应的所述输入输出请求。
另一方面,在所述获取重删指纹库内不存在的写入数据块之后,在所述根据合并规则对所述写入数据块进行拼凑处理得到第一数据块之前,还包括:
获取所述写入数据块对应的输入输出请求;
标记所述写入数据块的数据和所述输入输出请求保存至预设的存储空间,并进入至所述根据合并规则对所述写入数据块进行拼凑处理得到第一数据块的步骤。
另一方面,在将所述第一数据块的所述相似指纹值组加入所述相似指纹库内之后,在所述相似指纹库内根据所述第一数据块与其他数据块对应的相似指纹值组进行相似度处理确定所述第一数据块与所述其他数据块内相同的目标数据块之前,还包括:
保存所述第一数据块的指针引用和对应写入地址的引用;
响应主机完成对应的所述输入输出请求。
另一方面,在所述将所述另一个子数据块的指纹值和所述映射关系加入至所述重删指纹库之后,还包括:
获取所述其中一个子数据块的指针引用和对应写入地址的引用;
将所述其中一个子数据块的指针引用和对应写入地址的引用和所述另一个子数据块建立新的引用关系;
将所述新的引用关系在所述重删指纹库内进行更新以得到更新后的所述重删指纹库。
为解决上述技术问题,本发明还提供了一种数据的缩减处理装置,包括:
获取模块,用于获取重删指纹库内不存在的写入数据块,其中,所述写入数据块的数量为多个;
拼凑和特征提取处理模块,用于根据合并规则对所述写入数据块进行拼凑处理得到第一数据块;将所述第一数据块进行特征提取处理确定对应的相似指纹值组以加入相似指纹库内;
相似度处理模块,用于在所述相似指纹库内根据所述第一数据块与其他数据块对应的相似指纹值组进行相似度处理确定所述第一数据块与所述其他数据块内相同的目标数据块;
加入模块,用于将所述目标数据块的指纹值加入所述重删指纹库以完成所述写入数据块的缩减处理。
为解决上述技术问题,本发明还提供了一种数据的缩减处理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述的数据的缩减处理方法的步骤。
为解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的数据的缩减处理方法的步骤。
本发明提供的一种数据的缩减处理方法,通过重删指纹库内不存在的写入数据块基于合并规则进行拼凑处理得到一个比写入数据块较大的第一数据块,将第一数据块进行特征提取得到对应的相似指纹值组,在相似指纹库中通过与其他数据块的相似指纹值组的相似度处理确定其他数据块与该第一数据块相似,并得到两个数据块内相同的目标数据块以便于将该目标数据块的指纹值加入重删指纹库。本发明的有益效果在于该目标数据块是相似指纹库内查找到的具有重删价值的数据块,通过相似指纹对应于多个写入数据块组成的大块,相似指纹较多,后续发挥重删价值的可能性较大。由于确定重删指纹库内不存在的写入数据块,当前的重删技术会将其该写入数据块的指纹值加入至库内,本发明会再次对该写入数据块拼凑处理得到第一数据块,在相似指纹库内通过与其他数据块的相似指纹值组进行相似度处理确定第一数据块与其他数据块相似,根据相似的情况确定第一数据块与其他数据块内相同的目标数据块,将写入数据块内找到的目标数据块加入重删指纹库。相对于当前将写入数据块的指纹值加入至重删指纹库来说,本发明保留高价值的指纹信息(目标数据块对应的指纹值),提高存储阵列内的重删价值,减小重删指纹库的数据量,节省重删指纹库的占用空间,同时提高查找和更新重删指纹库的效率。
其次,本发明实施例提供的获取重删指纹库内不存在的写入数据块的过程,需要明确与重删指纹库内的指纹组不同的前提下才可以进行本发明的数据缩减处理,为后续数据的缩减处理奠定了基础;重删指纹库内存在相同指纹值的数据块时,仅记录地址和指针的引用关系,以便于后续响应IO请求;根据不同的合并规则对写入数据块进行拼凑处理得到第一数据块,以此实现拼凑处理生成的第一数据块的灵活性和多样性;对第一数据块进行特征提取处理确定对应的相似指纹值组,便于后续与相似指纹库内的其他数据块进行相似度处理,通过特征提取方式更能直观展示第一数据块的特征值,以作为与其他数据块相同的主要依据。不同相似度处理确定的目标数据块,提高确定目标数据块的准确性、灵活性和多样性;目标数据块的指纹值如何加入重删指纹库、重删指纹库加入目标数据块的更新和验证,实现了当前重删指纹库内的指纹值的重删价值的提高,同时指纹值的数量远远少于所有分块数量。相似指纹库内的第一数据块的剩余比例小于预设剩余比例的情况时,将其第一数据块的相似指纹值组删除,以提高相似指纹库内的数据块的相似指纹组价值。将写入数据块暂存至预设的存储空间以起到缓存作用。
另外,本发明还提供了一种数据的缩减处理装置、设备及介质,具有如上述数据的缩减处理方法相同的有益效果。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据的缩减处理方法的流程图;
图2为本发明实施例提供的一种数据的缩减处理装置的结构图;
图3为本发明实施例提供的一种数据的缩减处理设备的结构图;
图4为本发明实施例提供的一种选取目标数据块的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明的核心是提供一种数据的缩减处理方法、装置、设备及介质,以解决当前的重删指纹库内存储的指纹价值较低且数据量较大的情况下,查询指纹的效率降低的问题。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
在存储阵列中,通过数据缩减的技术减少数据存储的空间。对应数据缩减主要处理方法为重复数据删除和数据压缩。重复数据删除是基于多份重复的数据,仅保存一份,对应其他份数据进行删除,只需要建立到以保存数据的映射关系即可。
具体地,重删技术是需要判断数据是否和已保存数据重复,常用方式对存储数据分块,对每个分块利用加密函数计算哈希指纹值,根据计算的哈希指纹值代表该分块,以建立指纹库,用于记录哈希指纹值和该分块存储文职的映射关系。在新的数据到来时,继续判断,若该指纹库内没有新的数据分块后对应的哈希指纹值,则加入,若存在相同的哈希指纹值,则删除,无需存储。
由于存储阵列容量较大,导致指纹库内的指纹值较多,故每次从指纹库内查询指纹值是否存在,其查询效率较低。在指纹库中增加、删除、修改指纹的操作也会比较慢和复杂,由于指纹库较大,所以会占用较大的空间,内存中放不下,会有很大一部分需要存储在访问性能比内存差很多的硬盘等介质上,进一步降低指纹查找和更新时的效率,也进一步影响存储阵列对数据进行重删处理的效率。而实际上,并非阵列中所有的数据都能起到重删的作用,大部分数据一直不会起到重删的效果,其被引用次数始终为1,也即指纹库中存储的大部分指纹为无价值或低价值的,反而增加指纹库的大小和复杂度,降低真正有价值的指纹的操作效率。本发明提供的数据的缩减处理方法,可以解决上述技术问题。
图1为本发明实施例提供的一种数据的缩减处理方法的流程图,如图1所示,该方法包括:
S11:获取重删指纹库内不存在的写入数据块,其中,写入数据块的数量为多个;
S12:根据合并规则对写入数据块进行拼凑处理得到第一数据块;将第一数据块进行特征提取处理确定对应的相似指纹值组以加入相似指纹库内;
S13:在相似指纹库内根据第一数据块与其他数据块对应的相似指纹值组进行相似度处理确定第一数据块与其他数据块内相同的目标数据块;
S14:将目标数据块的指纹值加入重删指纹库以完成写入数据块的缩减处理。
具体地,重删指纹库和当前重删技术内的指纹库相同,存储各个块数据的指纹值和记录该指纹值与块数据的存储位置的映射关系。步骤S11中的获取重删指纹库内不存在的写入数据块,在当前重删技术中,会将该写入数据块加入至重删指纹库,以便于为后续新的数据块到来时提供重删价值。本实施例是将该写入数据块在放入重删指纹库之前,需要将该写入数据块继续进行处理以找到真正重删价值的目标数据块。
当前写入数据块的数量为多个,需要说明的是,此时的写入数据块在接收到新的数据进行分块形成的数据块,统称为写入数据块。写入数据块可以和新的数据分块形成的数据块完全相同,也可以部分相同。若为完全相同,则说明重删指纹库内没有一个数据块的指纹值与新的数据分块形成的数据块相同,若部分相同,则说明重删指纹库内存在与该新的数据分块形成的数据块的指纹值有相同的。
另外,需要说明的是,写入数据块的生成时间不做限定,可以是相同的时间,也可以是不同的间隔时间,但是在同一时间获取,也就是说,本实施例中的获取时间,基于一定的时间间隔,或者随时获取。
对于随时获取的情况下,可以在步骤S12中的拼凑处理实时拼凑,也可以在写入数据块满足一定数量后进行拼凑处理,以减少操作频率。
根据合并规则对写入数据块进行拼凑处理得到第一数据块,可以理解的是,各写入数据块的长度小于第一数据块的长度,也就是说,通过合并规则对写入数据块拼凑得到一个大的第一数据块。合并规则不做限定,可以是基于要写入的地址相同的写入数据块进行拼凑,也可以是基于写入数据块的指纹值相似或者相差较小的数据块进行拼凑,还可以是仅基于拼凑得到的第一数据块的数据块个数随机拼凑等,在此不做限定,根据实际情况设定即可。
本实施例中的拼凑处理,是将几个写入数据块合并在一起凑成一个大的数据块(第一数据块),对应写入数据块的合并顺序,在此不做限定,可以随机默认,也可以基于写入数据库块生成的时间先后顺序确定,可根据实际情况设定即可。
在得到第一数据块之后,进行特征提取处理确定该第一数据块的相似指纹值组,需要说明的是,第一数据块的相似指纹值组是通过特征值成员组成后,代表该第一数据块,用于和其他数据块的相似指纹值组比较以确定第一数据块和其他数据块是否相同。本实施例中的特征提取处理,可以利用具体的特征提取算法提取,也可以基于第一数据块的具体特征进行划分,不做限定。若通过具体特征划分,例如第一数据块为0101011的数据,其特征值可以是具体存在几个0或者几个1的数据等。
相似指纹库内包含多个指纹值和相似指纹值组,相似指纹库内的指纹值作为其他数据块内的小数据块的指纹值,其他数据块的相似指纹值组内包括一个或者多个特征值成员,以便于与第一数据块的相似指纹值组内的特征值成员进行相似度处理。
若第一数据块和其他数据块的相似指纹值组相同,则确定第一数据块和其他数据块存在相似性。两个大的数据块相似,在对应各自数据块分割的小的数据块内存在相同的数据块的可能性较大,故将两种数据块的相似指纹值组进行相似度处理可以确定两种数据块内对应的各小数据块之间的相同的目标数据块。本实施例中的相似度处理,可以求取对应的相似度数据,基于该相似度数据来确定两个大的数据块相似,以此可以找到对应相同的小的数据块。相似度处理可以和当前的相似度算法相同,也可以是建立新的相似度算法,还可以基于各相似指纹值组内的特征值进行对比,若存在一定数据量的特征值相同的情况下,则确定两个大的数据块相似。
由于重删指纹库内存储的具体指纹值,故将目标数据块的指纹值加入重删指纹库,以确定该目标数据块相对于待写入的数据块来说,该目标数据块的指纹值具有重删价值。
本发明提供的一种数据的缩减处理方法,通过重删指纹库内不存在的写入数据块基于合并规则进行拼凑处理得到一个比写入数据块较大的第一数据块,将第一数据块进行特征提取得到对应的相似指纹值组,在相似指纹库中通过与其他数据块的相似指纹值组的相似度处理确定其他数据块与该第一数据块相似,并得到两个数据块内相同的目标数据块以便于将该目标数据块的指纹值加入重删指纹库。本发明的有益效果在于该目标数据块是相似指纹库内查找到的具有重删价值的数据块,通过相似指纹对应于多个写入数据块组成的大块,相似指纹较多,后续发挥重删价值的可能性较大。由于确定重删指纹库内不存在的写入数据块,当前的重删技术会将其该写入数据块的指纹值加入至库内,本发明会再次对该写入数据块拼凑处理得到第一数据块,在相似指纹库内通过与其他数据块的相似指纹值组进行相似度处理确定第一数据块与其他数据块相似,根据相似的情况确定第一数据块与其他数据块内相同的目标数据块,将写入数据块内找到的目标数据块加入重删指纹库。相对于当前将写入数据块的指纹值加入至重删指纹库来说,本发明保留高价值的指纹信息(目标数据块对应的指纹值),提高存储阵列内的重删价值,减小重删指纹库的数据量,节省重删指纹库的占用空间,同时提高查找和更新重删指纹库的效率。
在上述实施例的基础上,在一些实施例中,步骤S11中的写入数据块的确定过程,包括:
获取当前写入数据;
根据预设粒度对当前写入数据进行分割为多个数据块;
将多个数据块分别进行加密处理得到对应的指纹值;
调用重删指纹库,查找重删指纹库内是否存在与多个数据块对应的指纹值相同的指纹值;
若至少一个不存在,则将不存在相同指纹值对应的数据块确定为重删指纹库内不存在的写入数据块。
具体地,获取当前写入数据,也就是在存储阵列中接收新的数据,具体的获取方式是接收主机应用的写输入输出(InputOutput,IO)请求,对应写IO请求下的写入数据。根据预设粒度对当前写入数据进行分割为多个数据块,例如,按照预设粒度(8KB)分割。将多个数据块分别进行加密处理得到对应的指纹值。本实施例中的加密处理可以基于哈希加密,如sha256算法,也可以通过其他加密算法确定各数据块的指纹值。本实施例中的指纹值,可以是摘要值,若采用哈希加密,主要是哈希值。
调用重删指纹库,查找该指纹库内是否存在与多个数据块对应的指纹值相同的指纹值,包括三种情况,一种是全都不存在,一种是全部存在,最后一种是部分存在。故只要至少一个不存在,则需要将不存在重删指纹库内的相同指纹值对应的数据块作为步骤S11中的写入数据块。
本实施例中的获取重删指纹库内不存在的写入数据块的过程,需要明确与重删指纹库内的指纹组不同的前提下才可以进行本发明步骤S12-S14的数据缩减处理,为后续数据的缩减处理奠定了基础。
在上述实施例的基础上,在一些实施例中,在重删指纹库内存在与多个数据块对应的指纹值相同的指纹值时,还包括:
获取当前写入数据对应的输入输出请求;
保存相同的指纹值对应的数据块的指针引用和对应写入地址的引用;
响应主机完成对应的输入输出请求。
可以理解的是,在重删指纹库内存在与多个数据块对应的指纹值相同的指纹值时,说明无需对相同的指纹值对应的数据块保存,但是需要建立和保存相同的指纹值对应的数据块的数据指针引用和对写入地址的引用。数据块的数据指针引用是逻辑区块地址(Logical Block Address,LBA)到物理区块地址(Physical Block Address,PBA)的映射指针应用,写入地址的引用是相同的指纹值对应的数据块对写IO对应地址的PBA到LBA引用,之后响应主机应用完成IO请求。仅是记录相同的指纹值对应的数据块的存储位置的映射关系,并增加对应数据的引用计数。
例如,相同的指纹值对应的数据块的数据A,是从C盘写入的数据和从D盘写入的数据,也就是底层数据A写入的地址不同,此时的重删只保存一个数据,其余与数据A相同的数据进行删除,但是需要记录对应的存储位置,在后续的引用该数据A的时候需要记录写入具体的地址和计入引用的次数,以便于对该数据A管理。
本实施例提供的重删指纹库内存在相同指纹值的数据块时,仅记录地址和指针的引用关系,以便于后续响应IO请求。
在一些实施例中,合并规则由预设拼凑个数和写入数据块的生成时间确定,根据合并规则对写入数据块进行拼凑处理得到第一数据块,包括:
获取预设拼凑个数、写入数据块的生成时间和写入数量;
根据生成时间的先后顺序排序得到排序后的写入数据块;
判断写入数量是否为预设拼凑个数的整倍数;
若是,则根据预设拼凑个数对排序后的写入数据块进行拼凑得到第一数据块;
若否,则确定写入数量和预设拼凑个数进行相除处理之后的余数;
根据余数确定排序后的写入数据块对应的末尾写入数据块;
将末尾写入数据块进行保存以便于和下一次获取的写入数据块拼凑处理;
根据预设拼凑个数对排序后的写入数据块除末尾写入数据块之外的其他写入数据块进行拼凑处理得到第一数据块。
具体地,合并规则基于预设拼凑个数和数据块的生成时间确定,在这里数据块的生成时间可以是上述实施例中步骤S11中的写入数据块在进行重删指纹库内的指纹值对比时分割生成的时间,也可以是写入数据块在重删指纹库内的指纹值对比过程中确定的时间等,在此不做限定。
预设拼凑个数,是第一数据块相对比写入数据块,第一数据块是限定拼凑的个数组成一个比写入数据块较大的数据块。为了后续与相似指纹库内的其他数据块的相似指纹值组进行对比,可以与其他数据块的小数据块的个数相同,或者特征提取处理方便,将拼凑的各第一数据块内的小数据块的个数相同,即限定预设拼凑个数。
本实施例中的写入数量,是步骤S11中获取的所有写入数据块的总体数量。可以理解的是,写入数据量可能是预设拼凑个数的整倍数,若为整倍数的情况下,此时获取的写入数据拼凑生成的第一数据块内的各小数据块的个数相同。若不为整数倍的情况下,可以将不足预设拼凑个数的写入数据块等待下一次获取的写入数据块拼凑成为第一数据块。例如,预设拼凑个数为10,写入数据块为50个,则当前获取的所有写入数据块可以完整生成5个相同小数据块数量的第一数据块;若写入数据块为54个,在强制所有当前获取的写入数据块拼凑生成第一数据块的前提下,会有一个第一数据块内的小数据块个数无法满足预设拼凑个数。在本实施例中,需要将剩余的4个小数据块等待下一次获取的写入数据块结合进行拼凑。
另外,对于拼凑生成的第一数据块内的多个写入数据块的顺序如何确定,可以是基于写入数据块的生成时间的先后顺序排序确定排序后的写入数据块。
在写入数量为预设拼凑个数的整倍数时,根据预设拼凑个数对排序后的写入数据块顺位拼凑得到对应的第一数据块。在写入数量不为预设拼凑个数的整倍数时,则需要确定剩下的余数以确定排序后的写入数据块对应的末尾写入数据块,以上段的实施例中,剩余的4个数据块,则末尾写入数据块为第51-54位的写入数据块。将其保存与下一次获取的写入数据块拼凑处理。
再次,基于生成顺序的先后顺序,说明排在末尾的写入数据块为最新生成的,相对于排在靠前的写入数据块可以有较多的时间等待下一次获取的写入数据块。最后,根据预设拼凑个数对其他写入数据块进行拼凑处理以确定各第一数据块。
在一些实施例中,合并规则由写入地址、写入优先级和写入紧急优先级确定,根据合并规则对写入数据块进行拼凑处理得到第一数据块,包括:
获取写入数据块对应的写入地址和写入优先级,其中,写入优先级由写入数据块对应的数据的写入数据量确定;
获取预先设置的数据写入地址列表;
根据数据写入地址列表和写入地址对写入数据块进行写入地址分类得到各写入地址类型内的分类后的写入数据块;
确定各写入地址类型内的分类后的写入数据块的写入数量;
判断写入数量是否小于预设拼凑个数;
若不小于,则根据写入优先级和预设拼凑个数对分类后的写入数据块进行拼凑合并得到相同的写入地址内对应的第一数据块;
若小于,则获取写入数据块的写入紧急优先级,其中,写入紧急优先级由写入数据块对应的数据的请求任务级别确定;
判断写入数据块的写入紧急优先级是否为第一优先级;
若是第一优先级,则降低预设拼凑个数得到新的预设拼凑个数;
根据新的预设拼凑个数对分类后的写入数据块进行拼凑处理得到第一数据块;
若不是第一优先级,则将分类后的写入数据块进行保存以便于和下一次获取的写入数据块拼凑处理。
具体地,合并规则基于写入地址、写入优先级和写入紧急优先级确定。写入地址,是对应不同的写入地址内分类,将相同写入地址的写入数据块拼凑在一起确定第一数据块,由于写入地址相同,其对应后续的特征值,基于不同的特征值组成相似指纹值组,以便于与相似指纹库内的其他数据块进行相似度处理。写入优先级可以基于写入数据量的多少确定对应的优先级,也可以通过其他方面的情况确定,如写入地址的优先级等,在此可以根据实际情况设定即可。
获取预先设置的数据写入地址列表,基于该数据写入地址列表和写入地址对写入数据块进行写入地址的分类处理以确定各写入地址类型内的分类后的写入数据块,例如,对应C盘写入的数据和D盘写入的数据。继续确认各写入地址类型下的分类后的写入数据块的写入数量,若写入数据量小于预设拼凑个数,则说明待拼凑处理得到的第一数据块的小数据块的数量较少,但是考虑到写入数据块在后续写入的紧急程度,确定写入紧急优先级的具体级别,若为第一优先级,则说明该写入数据块对应的数据请求任务级别较为紧急,则需要按照当前写入地址类型内的分类后的写入数据块有多少直接拼凑成第一数据块,具体地降低预设拼凑个数得到新的预设拼凑个数,此时的新的预设拼凑个数可以按照当前的剩余分类后的写入数据块的多少进行设定,需要说明的是,在下一次写入数据块到来时,还需要切换至原来的预设拼凑个数。若不为第一优先级,则说明该写入数据块对应的数据请求任务级别不紧急,则将该分类后的写入数据保存等待下一次获取的写入数据块进行拼凑处理。
在写入数量大于或者等于预设拼凑个数时,根据写入优先级和预设拼凑个数对分类后的写入数据块进行拼凑合并得到相同的写入地址内对应的第一数据块。
另外,对于合并规则还也可以为其他规则,在此不做限定。
本实施例中的根据不同的合并规则对写入数据块进行拼凑处理得到第一数据块,以此实现拼凑处理生成的第一数据块的灵活性和多样性。
在上述实施例的基础上,在一些实施例中,步骤S12中的将第一数据块进行特征提取处理确定对应的相似指纹值组,包括:
获取特征提取方式对应的各特征参数;
根据各特征参数对第一数据块进行特征提取处理得到对应的特征值;
将特征值组合得到第一数据块的相似指纹值组。
具体地,获取第一数据块的各特征参数,本实施例中的特征参数可以基于第一数据块本身设置,也可以依据相似指纹库内的其他数据块对应的相似指纹值组内的特征值成员对应的特征参数,在此不做限定,根据实际情况设定即可。
在本实施例中,各特征参数分别对第一数据块和其他数据块进行特征提取处理得到对应的特征值。本实施例中的特征提取处理可以采用原有的特征提取算法,或者建立新的特征提取算法,在此不做限定。
将第一数据块对应的特征值进行组合确定第一数据块的相似指纹值组。本实施例中的特征值的数量为一个或者多个均可。
本实施例中对第一数据块进行特征提取处理确定对应的相似指纹值组,便于后续与相似指纹库内的其他数据块进行相似度处理,通过特征提取方式更能直观展示第一数据块的特征值,以作为与其他数据块相同的主要依据。
在一些实施例中,在相似指纹库内根据第一数据块与其他数据块对应的相似指纹值组进行相似度处理确定第一数据块与其他数据块内相同的目标数据块,包括:
获取与第一数据块进行两两相似度处理的其他数据块内对应的第二数据块;
将第一数据块的相似指纹值组与第二数据块的相似指纹值组分别进行交集处理和并集处理对应得到第一交集组和第一并集组;
将第一交集组和第一并集组进行除法处理确定第一数据块与第二数据块的相似度;
在第一数据块与第二数据块的相似度大于预设的相似度阈值的情况下,确定第一数据块与第二数据块相似;
分别对第一数据块和第二数据块进行分割处理得到各第一子数据块和各第二子数据块;
分别将各第一子数据块和各第二子数据块进行加密处理得到对应的指纹值;
判断各第一子数据块和各第二子数据块对应的指纹值是否存在相同;
若存在相同,则将相同的指纹值对应的第一子数据块和第二子数据块确定为目标数据块。
具体地,由于相似指纹库内其他数据块为多个,因此,第一数据块需要和多个其他数据块一一进行相似度处理,本实施例中将其他数据块的各个数据块作为第二数据块,将第一数据块的相似指纹值组与第二数据块的相似指纹值组进行交集和并集处理对应得到第一交集组和第一并集组,再通过第一交集组和第一并集组进行除法处理确定两个数据块(第一数据块和第二数据块)的相似度。
其公式如下:
相似度=∣Min(A)k∩Min(B)k∣/∣Min(A)k∪Min(B)k∣;
其中,第一数据块的相似指纹值组Min(A)k={a1,a2,……,ak},第二数据块的相似指纹值组Min(B)k={b1,b2,……,bk},在各相似指纹值组内的元素为对应的特征值,k为相似指纹值组内的特征值的个数。
在相似度大于预设的相似度阈值的情况下,说明第一数据块和第二数据块相似,大概率对应分割得到的各小数据块存在相同的指纹值。将第一数据块和第二数据块分别进行分割处理确定各自对应的各第一子数据块和各第二子数据块,分别对第一子数据块和第二子数据块进行加密处理确定指纹值。本实施例中的加密处理得到的指纹值可以和上述实施例指纹值的确定过程相同,也可以不同,在此不做限定。对于预设的相似度阈值的具体值,在本实施例中不做限定,可以根据经验阈值确定,也可以基于某种算法确定具体的阈值等。
将各第一子数据块和各第二子数据块两两对比确定是否存在相同的指纹值,若存在相同,则将相同的指纹值对应的第一子数据块和第二子数据块确定为目标数据块。
在一些实施例中,在相似指纹库内根据第一数据块与其他数据块对应的相似指纹值组进行相似度处理确定第一数据块与其他数据块内相同的目标数据块,包括:
获取与第一数据块进行两两相似度处理的其他数据块内对应的第二数据块;
将第一数据块的相似指纹值组与第二数据块的相似指纹值组对应的特征值进行比较确定相同的特征值的个数;
若相同的特征值的个数大于预设个数时,则确定第一数据块与第二数据块相似;
分别对第一数据块和第二数据块进行分割处理得到各第一子数据块和各第二子数据块;
分别将各第一子数据块和各第二子数据块进行加密处理得到对应的指纹值;
判断各第一子数据块和各第二子数据块对应的指纹值是否存在相同;
若存在相同,则将相同的指纹值对应的第一子数据块和第二子数据块确定为目标数据块。
具体地,本实施例中的相似度处理,是基于各自的相似指纹值组内的特征值比较,先确定相同的特征值的个数,若相同的特征值的个数大于预设个数的情况下,则确定第一数据块和第二数据块相似。预设个数大于1,满足一个或者多个特征值相同时,确定第一数据块和第二数据块相似。
后续确定的目标数据块的过程和上述实施例中相同,在此不再赘述,可以参考上述实施例。
本发明提供的不同相似度处理确定的目标数据块,提高确定目标数据块的准确性、灵活性和多样性。
在上述实施例的基础上,在一些实施例中,步骤S14中的将目标数据块的指纹值加入重删指纹库,包括:
在目标数据块内对应的第一子数据块和第二子数据块中选择任意其中一个子数据块进行删除回收;
将选择后剩余的目标数据块内对应的第一子数据块和第二子数据块中的另一个子数据块建立指纹值与写入地址的映射关系;
将另一个子数据块的指纹值和映射关系加入至重删指纹库。
具体地,在目标数据块内选择任意其中的一个子数据块进行删除回收,以节省相似指纹库内的资源空间。另外,留下另一个子数据块建立指纹值与写入地址的映射关系,在上述实施例中可以知晓,重删数据库内保存指纹值和映射关系,不保存具体数据。
在一些实施例中,在将另一个数据子块的指纹值和映射关系加入至重删指纹库之后,还包括:
获取其中一个子数据块的指针引用和对应写入地址的引用;
将其中一个子数据块的指针引用和对应写入地址的引用和另一个子数据块建立新的引用关系;
将新的引用关系在重删指纹库内进行更新以得到更新后的重删指纹库。
具体地,将其加入重删指纹库后,需要更新重删指纹库,本实施例中的更新过程,需要更新数据块的指针引用和写入地址的引用,由于在上述实施例中对其中一个子数据块删除,为了后续的数据处理,将其中一个子数据块的指针引用和对应写入地址的引用与另一个子数据块均建立新的引用关系,以完成重删指纹库的更新。本实施例中对应目标数据块的指纹值如何加入重删指纹库、重删指纹库加入目标数据块的更新,实现了当前重删指纹库内的指纹值的重删价值的提高,同时指纹值的数量远远少于所有分块数量。
在上述实施例的基础上,作为一种实施例,在将目标数据块的指纹值加入重删指纹库之后,还包括:
获取第一数据块内各第一子数据块的第一初始个数和在第一数据块内除目标数据块对应的第一子数据块之外剩余的第一子数据块个数;
获取其他数据块内各第二子数据块的第二初始个数和在第二数据块内除目标数据块对应的第二子数据块之外剩余的第二子数据块个数;
根据第一数据块的第一初始个数和剩余的第一子数据块个数确定当前第一剩余比例;
根据第二数据块的第二初始个数和剩余的第二子数据块个数确定当前第二剩余比例;
在当前第一剩余比例小于预设剩余比例的情况下,将第一数据块对应的相似指纹值组从相似指纹库内删除;
在当前第二剩余比例小于预设剩余比例的情况下,将第二数据块对应的相似指纹值组从相似指纹库内删除。
具体地,第一数据块内各第一子数据块的第一初始个数以及除目标数据块对应的第一子数据块之外剩余的第一子数据块个数,根据剩余的第一子数据块与第一初始个数的关系确定当前第一剩余比例。其他数据块的第二数据块内各第二子数据块的第二初始个数以及除目标数据块对应的第二子数据块之外剩余的第二子数据块个数,根据剩余的第二子数据块与第二初始个数的关系确定当前第二剩余比例。在当前第一剩余比例或者当前第二剩余比例小于预设剩余比例的情况时,也就说明被重删掉的第一子数据块的个数或者第二子数据块的个数较多,此时对应相似指纹库内保留的第一数据块的相似指纹值组和第二数据块的相似指纹值组的参考价值较低,需要将第一数据块对应的相似指纹值组和第二数据块对应的相似指纹值组从相似指纹库内删除。需要说明的是,本实施例中当前第一剩余比例和当前第二剩余比例只要有一个小于预设剩余比例时,则需要对应将小于预设剩余比例的对应剩余比例所属的相似指纹值组从相似指纹库内删除。
本实施例提供的相似指纹库内的第一数据块的第一剩余比例或者第二数据块的第二剩余比例小于预设剩余比例的情况时,将其第一数据块的相似指纹值组或者第二数据块对应的相似指纹值组对应删除,以提高相似指纹库内的数据块的相似指纹组价值。
在上述实施例的基础上,在获取重删指纹库内不存在的写入数据块之后,在根据合并规则对写入数据块进行拼凑处理得到第一数据块之前,还包括:
获取写入数据块对应的输入输出请求;
标记写入数据块的数据和输入输出请求保存至预设的存储空间,并进入至根据合并规则对写入数据块进行拼凑处理得到第一数据块的步骤。
具体地,获取写入数据块对应的输入输出请求,将写入数据块的数据和输入输出请求暂存至预设的存储空间,并进入步骤S12中。
本实施例中提供的将写入数据块暂存至预设的存储空间以起到缓存作用。
在一些实施例中,在将第一数据块的相似指纹值组加入相似指纹库内之后,在相似指纹库内根据第一数据块与其他数据块对应的相似指纹值组进行相似度处理确定第一数据块与其他数据块内相同的目标数据块之前,还包括:
保存第一数据块的指针引用和对应写入地址的引用;
响应主机完成对应的输入输出请求。
具体地,将相似指纹值组加入相似指纹库内,相似指纹库内中记录第一数据块和其他数据块的保存地址,同时建立和保存主机IO请求对应第一数据块的指针引用和对应写入地址的引用,之后响应主机应用完成IO请求。第一数据块的数据指针引用是LBA到PBA的映射指针应用,写入地址的引用是第一数据块对写IO对应地址的PBA到LBA的引用。
上述详细描述了数据的缩减处理方法对应的各个实施例,在此基础上,本发明还公开与上述方法对应的数据的缩减处理装置,图2为本发明实施例提供的一种数据的缩减处理装置的结构图。如图2所示,数据的缩减处理装置包括:
获取模块11,用于获取重删指纹库内不存在的写入数据块,其中,写入数据块的数量为多个;
拼凑和特征提取处理模块12,用于根据合并规则对写入数据块进行拼凑处理得到第一数据块;将第一数据块进行特征提取处理确定对应的相似指纹值组以加入相似指纹库内;
相似度处理模块13,用于在相似指纹库内根据第一数据块与其他数据块对应的相似指纹值组进行相似度处理确定第一数据块与其他数据块内相同的目标数据块;
加入模块14,用于将目标数据块的指纹值加入重删指纹库以完成写入数据块的缩减处理。
在一些实施例中,获取模块11包括:
第一获取子模块,用于获取当前写入数据;
第一分割子模块,用于根据预设粒度对当前写入数据进行分割为多个数据块;
第一加密处理子模块,用于将多个数据块分别进行加密处理得到对应的指纹值;
第一调用子模块,用于调用重删指纹库,查找重删指纹库内是否存在与多个数据块对应的指纹值相同的指纹值;若至少一个不存在,则触发第一确定子模块;
第一确定子模块,用于将不存在相同指纹值对应的数据块确定为重删指纹库内不存在的写入数据块。
在一些实施例中,合并规则由预设拼凑个数和写入数据块的生成时间确定,拼凑和特征提取处理模块12的根据合并规则对写入数据块进行拼凑处理得到第一数据块,包括:
第二获取子模块,用于获取预设拼凑个数、写入数据块的生成时间和写入数量;
第一排序子模块,用于根据生成时间的先后顺序排序得到排序后的写入数据块;
第一判断子模块,用于判断写入数量是否为预设拼凑个数的整倍数;容是,则触发第一拼凑子模块;若否,则触发第二确定子模块;
第一拼凑子模块,用于根据预设拼凑个数对排序后的写入数据块进行拼凑得到第一数据块;
第二确定子模块,用于确定写入数量和预设拼凑个数进行相除处理之后的余数;
第三确定子模块,用于根据余数确定排序后的写入数据块对应的末尾写入数据块;
第一保存子模块,用于将末尾写入数据块进行保存以便于和下一次获取的写入数据块拼凑处理;
第二拼凑子模块,用于根据预设拼凑个数对排序后的写入数据块除末尾写入数据块之外的其他写入数据块进行拼凑处理得到第一数据块。
在一些实施例中,合并规则由写入地址、写入优先级和写入紧急优先级确定,拼凑和特征提取处理模块12的根据合并规则对写入数据块进行拼凑处理得到第一数据块,包括:
第三获取子模块,用于获取写入数据块对应的写入地址和写入优先级,其中,写入优先级由写入数据块对应的数据的写入速度确定;
第四获取子模块,用于获取预先设置的数据写入地址列表;
第一分类子模块,用于根据数据写入地址列表和写入地址对写入数据块进行写入地址分类得到各写入地址类型内的分类后的写入数据块;
第四确定子模块,用于确定各写入地址类型内的分类后的写入数据块的写入数量;
第二判断子模块,用于判断写入数量是否小于预设拼凑个数;若不小于,则触发第三拼凑子模块,若小于,则触发第五获取子模块;
第三拼凑子模块,用于根据写入优先级和预设拼凑个数对分类后的写入数据块进行拼凑合并得到相同的写入地址内对应的第一数据块;
第五获取子模块,用于获取写入数据块的写入紧急优先级,其中,写入紧急优先级由写入数据块对应的数据的请求任务级别确定;
第三判断子模块,用于判断写入数据块的写入紧急优先级是否为第一优先级;若是,则触发第一降低子模块,若否,则触发第二保存子模块;
第一降低子模块,用于降低预设拼凑个数得到新的预设拼凑个数;
第四拼凑子模块,用于根据新的预设拼凑个数对分类后的写入数据块进行拼凑处理得到第一数据块;
第二保存子模块,用于将分类后的写入数据块进行保存以便于和下一次获取的写入数据块拼凑处理。
在一些实施例中,拼凑和特征提取处理模块12的将第一数据块进行特征提取处理确定对应的相似指纹值组,包括:
第六获取子模块,用于获取特征提取方式对应的各特征参数;
第一特征提取子模块,用于根据各特征参数对第一数据块进行特征提取处理得到对应的特征值;
第一组合子模块,用于将特征值组合得到第一数据块的相似指纹值组。
在一些实施例中,相似度处理模块13包括:
第七获取子模块,用于获取与第一数据块进行两两相似度处理的其他数据块内对应的第二数据块;
第一处理子模块,用于将第一数据块的相似指纹值组与第二数据块的相似指纹值组分别进行交集处理和并集处理对应得到第一交集组和第一并集组;
第五确定子模块,用于将第一交集组和第一并集组进行除法处理确定第一数据块与第二数据块的相似度;
第六确定子模块,用于在第一数据块与第二数据块的相似度大于预设的相似度阈值的情况下,确定第一数据块与第二数据块相似;
第二分割子模块,用于分别对第一数据块和第二数据块进行分割处理得到各第一子数据块和各第二子数据块;
第二加密处理子模块,用于分别将各第一子数据块和各第二子数据块进行加密处理得到对应的指纹值;
第四判断子模块,用于判断各第一子数据块和各第二子数据块对应的指纹值是否存在相同;若存在相同,则触发第七确定子模块;
第七确定子模块,用于将相同的指纹值对应的第一子数据块和第二子数据块确定为目标数据块。
在一些实施例中,相似度处理模块13包括:
第八确定子模块,用于获取与第一数据块进行两两相似度处理的其他数据块内对应的第二数据块;
第一比较子模块,用于将第一数据块的相似指纹值组与第二数据块的相似指纹值组对应的特征值进行比较确定相同的特征值的个数;
第九确定子模块,用于若相同的特征值的个数大于预设个数时,则确定第一数据块与第二数据块相似;
第三分割子模块,用于分别对第一数据块和第二数据块进行分割处理得到各第一子数据块和各第二子数据块;
第三加密处理子模块,用于分别将各第一子数据块和各第二子数据块进行加密处理得到对应的指纹值;
第五判断子模块,用于判断各第一子数据块和各第二子数据块对应的指纹值是否存在相同;若存在相同,则触发第十确定子模块;
第十确定子模块,用于将相同的指纹值对应的第一子数据块和第二子数据块确定为目标数据块。
在一些实施例中,加入模块14包括:
第一删除回收模块,用于在目标数据块内对应的第一子数据块和第二子数据块中选择任意其中一个子数据块进行删除回收;
第一建立子模块,用于将选择后剩余的目标数据块内对应的第一子数据块和第二子数据块中的另一个子数据块建立指纹值与写入地址的映射关系;
第一加入子模块,用于将另一个子数据块的指纹值和映射关系加入至重删指纹库。
在一些实施例中,在加入模块14之后,还包括:
第八获取子模块,用于获取第一数据块内各第一子数据块的第一初始个数和在第一数据块内除目标数据块对应的第一子数据块之外剩余的第一子数据块个数;
第九获取子模块,用于获取其他数据块内各第二子数据块的第二初始个数和在第二数据块内除目标数据块对应的第二子数据块之外剩余的第二子数据块个数;
第十一确定子模块,用于根据第一数据块的第一初始个数和剩余的第一子数据块个数确定当前第一剩余比例;
第十二确定子模块,用于根据第二数据块的第二初始个数和剩余的第二子数据块个数确定当前第二剩余比例;
第一删除子模块,用于在当前第一剩余比例小于预设剩余比例的情况下,将第一数据块对应的相似指纹值组从相似指纹库内删除;
第二删除子模块,用于在当前第二剩余比例小于预设剩余比例的情况下,将第二数据块对应的相似指纹值组从相似指纹库内删除。
在一些实施例中,在重删指纹库内存在与多个数据块对应的指纹值相同的指纹值时,还包括:
第十获取子模块,用于获取当前写入数据对应的输入输出请求;
第二保存子模块,用于保存相同的指纹值对应的数据块的指针引用和对应写入地址的引用;
第一响应子模块,用于响应主机完成对应的输入输出请求。
在一些实施例中,在获取模块11之后,在拼凑和特征提取处理模块12的根据合并规则对写入数据块进行拼凑处理得到第一数据块之前,还包括:
第十一获取子模块,用于获取写入数据块对应的输入输出请求;
第一标记子模块,用于标记写入数据块的数据和输入输出请求保存至预设的存储空间,并进入至根据合并规则对写入数据块进行拼凑处理得到第一数据块的步骤。
在一些实施例中,在拼凑和特征提取处理模块12之后,在相似度处理模块13之前,还包括:
第三保存子模块,用于保存第一数据块的指针引用和对应写入地址的引用;
第二响应子模块,用于响应主机完成对应的输入输出请求。
在一些实施例中,在第一加入子模块之后,还包括:
第十二获取子模块,用于获取其中一个子数据块的指针引用和对应写入地址的引用;
第二建立子模块,用于将其中一个子数据块的指针引用和对应写入地址的引用和另一个子数据块建立新的引用关系;
第一更新子模块,用于将新的引用关系在重删指纹库内进行更新以得到更新后的重删指纹库。
由于装置部分的实施例与上述的实施例相互对应,因此装置部分的实施例请参照上述方法部分的实施例描述,在此不再赘述。
对于本发明提供的一种数据的缩减处理装置的介绍请参照上述方法实施例,本发明在此不再赘述,其具有上述数据的缩减处理方法相同的有益效果。
图3为本发明实施例提供的一种数据的缩减处理设备的结构图,如图3所示,该装置包括:
存储器21,用于存储计算机程序;
处理器22,用于执行计算机程序时实现数据的缩减处理方法的步骤。
本实施例提供的数据的缩减处理设备可以包括但不限于智能手机、平板电脑、笔记本电脑或者台式电脑等。
其中,处理器22可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器22可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器22也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器22可以集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器22还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器21可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器21还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器21至少用于存储以下计算机程序211,其中,该计算机程序被处理器22加载并执行之后,能够实现前述任一实施例公开的数据的缩减处理方法的相关步骤。另外,存储器21所存储的资源还可以包括操作系统212和数据213等,存储方式可以是短暂存储或者永久存储。其中,操作系统212可以包括Windows、Unix、Linux等。数据213可以包括但不限于数据的缩减处理方法所涉及到的数据等等。
在一些实施例中,数据的缩减处理设备还可包括有显示屏23、输入输出接口24、通信接口25、电源26以及通信总线27。
领域技术人员可以理解,图3中示出的结构并不构成对数据的缩减处理设备的限定,可以包括比图示更多或更少的组件。
处理器22通过调用存储于存储器21中的指令以实现上述任一实施例所提供的数据的缩减处理方法。
对于本发明提供的一种数据的缩减处理设备的介绍请参照上述方法实施例,本发明在此不再赘述,其具有上述数据的缩减处理方法相同的有益效果。
进一步的,本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器22执行时实现如上述数据的缩减处理方法的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本发明提供的一种计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不再赘述,其具有上述数据的缩减处理方法相同的有益效果。
图4为本发明实施例提供的一种选取目标数据块的示意图,如图4所示,将多个无法重删的小数据分块作为一个大块,在图4中为第一个大分块、第二个大分块和第三个大分块,计算大块数据的多个特征值组成特征值数组,并为每个大分块的相似指纹值组,以加入相似指纹库。在相似指纹库内存储相似指纹值组(相似指纹值组1-3)以及每个大分块的存储地址(地址1-3),再将该大块数据中的多个小数据分块的指纹值和数据、以及该大块的相似指纹数组一起存储到存储空间。因为相似指纹库中保存的是大块数据的相似指纹值,数据块比较大,所以相似指纹库大小较小,占用空间较小,查找和更新效率较高。
然后存储阵列后台在相似指纹库中找到有相似指纹的多个大块,并读取相似指纹对应大块中各小分块的指纹,将其中相同的指纹值(目标数据块的指纹值)加入指纹库,并将重复的小分块重删掉。如图4所示,本实施例中的指纹库内对应多个大分块内相同指纹值,若基于3个大分块来说,相同的指纹值为指纹值1-指纹值14,将其加入指纹库内,若基于第一个大分块和第二个大分块来说,相同的指纹值为指纹值1-指纹值15;若基于第二个大分块和第三个大分块来说,相同的指纹值为指纹值1-指纹值14、指纹值16。基于不同的大分块比较,确定的相同的指纹值也可能不同,需要根据实际情况设定即可。在指纹库内除了保存相同的指纹值之外,还需要保存相同的指纹值对应的小块数据的地址信息,如地址1_1至地址1_16。因为指纹库中的指纹是已经有重删效果的有更大重删价值的数据块的指纹,所以指纹后续再次发挥重删价值的可能性也更大。同时指纹量也会远远少于所有分块数量,占用空间更小,查找和更新效率更高。
以上对本发明所提供的一种数据的缩减处理方法、装置、设备及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (16)
1.一种数据的缩减处理方法,其特征在于,包括:
获取重删指纹库内不存在的写入数据块,其中,所述写入数据块的数量为多个;
根据合并规则对所述写入数据块进行拼凑处理得到第一数据块;将所述第一数据块进行特征提取处理确定对应的相似指纹值组以加入相似指纹库内;
在所述相似指纹库内根据所述第一数据块与其他数据块对应的相似指纹值组进行相似度处理确定所述第一数据块与所述其他数据块内相同的目标数据块,其中,所述第一数据块和所述其他数据块对应的相似指纹值组包含特征值成员,所述特征值成员基于特征提取处理后确定得到;
将所述目标数据块的指纹值加入所述重删指纹库以完成所述写入数据块的缩减处理;
其中,所述相似度处理的具体处理过程,包括:
获取与所述第一数据块进行两两相似度处理的所述其他数据块内对应的第二数据块;
将所述第一数据块的所述相似指纹值组与所述第二数据块的所述相似指纹值组分别进行交集处理和并集处理对应得到第一交集组和第一并集组;
将所述第一交集组和所述第一并集组进行除法处理确定所述第一数据块与所述第二数据块的相似度;
或者,获取与所述第一数据块进行两两相似度处理的所述其他数据块内对应的第二数据块;
基于所述第一数据块的所述相似指纹值组与所述第二数据块的所述相似指纹值组对应的特征值比较以确定所述目标数据块。
2.根据权利要求1所述的数据的缩减处理方法,其特征在于,所述写入数据块的确定过程,包括:
获取当前写入数据;
根据预设粒度对所述当前写入数据进行分割为多个数据块;
将多个所述数据块分别进行加密处理得到对应的指纹值;
调用所述重删指纹库,查找所述重删指纹库内是否存在与多个所述数据块对应的指纹值相同的指纹值;
若至少一个不存在,则将不存在相同指纹值对应的所述数据块确定为所述重删指纹库内不存在的所述写入数据块。
3.根据权利要求2所述的数据的缩减处理方法,其特征在于,所述合并规则由预设拼凑个数和所述写入数据块的生成时间确定,所述根据合并规则对所述写入数据块进行拼凑处理得到第一数据块,包括:
获取所述预设拼凑个数、所述写入数据块的所述生成时间和写入数量;
根据所述生成时间的先后顺序排序得到排序后的所述写入数据块;
判断所述写入数量是否为所述预设拼凑个数的整倍数;
若是,则根据所述预设拼凑个数对排序后的所述写入数据块进行拼凑得到所述第一数据块;
若否,则确定所述写入数量和所述预设拼凑个数进行相除处理之后的余数;
根据所述余数确定排序后的所述写入数据块对应的末尾写入数据块;
将所述末尾写入数据块进行保存以便于和下一次获取的所述写入数据块拼凑处理;
根据所述预设拼凑个数对排序后的所述写入数据块除所述末尾写入数据块之外的其他写入数据块进行拼凑处理得到所述第一数据块。
4.根据权利要求2所述的数据的缩减处理方法,其特征在于,所述合并规则由写入地址、写入优先级和写入紧急优先级确定,所述根据合并规则对所述写入数据块进行拼凑处理得到第一数据块,包括:
获取所述写入数据块对应的所述写入地址和所述写入优先级,其中,所述写入优先级由所述写入数据块对应的数据的写入数据量确定;
获取预先设置的数据写入地址列表;
根据所述数据写入地址列表和所述写入地址对所述写入数据块进行写入地址分类得到各写入地址类型内的分类后的所述写入数据块;
确定各写入地址类型内的分类后的所述写入数据块的写入数量;
判断所述写入数量是否小于预设拼凑个数;
若不小于,则根据所述写入优先级和所述预设拼凑个数对分类后的所述写入数据块进行拼凑合并得到相同的写入地址内对应的所述第一数据块;
若小于,则获取所述写入数据块的所述写入紧急优先级,其中,所述写入紧急优先级由所述写入数据块对应的数据的请求任务级别确定;
判断所述写入数据块的所述写入紧急优先级是否为第一优先级;
若是第一优先级,则降低所述预设拼凑个数得到新的预设拼凑个数;
根据所述新的预设拼凑个数对分类后的所述写入数据块进行拼凑处理得到所述第一数据块;
若不是第一优先级,则将分类后的所述写入数据块进行保存以便于和下一次获取的所述写入数据块拼凑处理。
5.根据权利要求3或4所述的数据的缩减处理方法,其特征在于,所述将所述第一数据块进行特征提取处理确定对应的相似指纹值组,包括:
获取特征提取方式对应的各特征参数;
根据各所述特征参数对所述第一数据块进行特征提取处理得到对应的特征值;
将所述特征值组合得到所述第一数据块的所述相似指纹值组。
6.根据权利要求5所述的数据的缩减处理方法,其特征在于,所述在所述相似指纹库内根据所述第一数据块与其他数据块对应的相似指纹值组进行相似度处理确定所述第一数据块与所述其他数据块内相同的目标数据块,包括:
在所述第一数据块与所述第二数据块的所述相似度大于预设的相似度阈值的情况下,确定所述第一数据块与所述第二数据块相似;
分别对所述第一数据块和所述第二数据块进行分割处理得到各第一子数据块和各第二子数据块;
分别将各所述第一子数据块和各所述第二子数据块进行加密处理得到对应的指纹值;
判断各所述第一子数据块和各所述第二子数据块对应的所述指纹值是否存在相同;
若存在相同,则将相同的所述指纹值对应的所述第一子数据块和所述第二子数据块确定为所述目标数据块。
7.根据权利要求5所述的数据的缩减处理方法,其特征在于,所述在所述相似指纹库内根据所述第一数据块与其他数据块对应的相似指纹值组进行相似度处理确定所述第一数据块与所述其他数据块内相同的目标数据块,包括:
将所述第一数据块的所述相似指纹值组与所述第二数据块的所述相似指纹值组对应的特征值进行比较确定相同的特征值的个数;
若所述相同的特征值的个数大于预设个数时,则确定所述第一数据块与所述第二数据块相似;
分别对所述第一数据块和所述第二数据块进行分割处理得到各第一子数据块和各第二子数据块;
分别将各所述第一子数据块和各所述第二子数据块进行加密处理得到对应的指纹值;
判断各所述第一子数据块和各所述第二子数据块对应的所述指纹值是否存在相同;
若存在相同,则将相同的所述指纹值对应的所述第一子数据块和所述第二子数据块确定为所述目标数据块。
8.根据权利要求7所述的数据的缩减处理方法,其特征在于,所述将所述目标数据块的指纹值加入所述重删指纹库,包括:
在所述目标数据块内对应的所述第一子数据块和所述第二子数据块中选择任意其中一个子数据块进行删除回收;
将选择后剩余的所述目标数据块内对应的所述第一子数据块和所述第二子数据块中的另一个子数据块建立指纹值与写入地址的映射关系;
将所述另一个子数据块的指纹值和所述映射关系加入至所述重删指纹库。
9.根据权利要求8所述的数据的缩减处理方法,其特征在于,在所述将所述目标数据块的指纹值加入所述重删指纹库之后,还包括:
获取所述第一数据块内各所述第一子数据块的第一初始个数和在所述第一数据块内除所述目标数据块对应的第一子数据块之外剩余的第一子数据块个数;
获取所述其他数据块内各所述第二子数据块的第二初始个数和在所述第二数据块内除所述目标数据块对应的第二子数据块之外剩余的第二子数据块个数;
根据所述第一数据块的所述第一初始个数和所述剩余的第一子数据块个数确定当前第一剩余比例;
根据所述第二数据块的所述第二初始个数和所述剩余的第二子数据块个数确定当前第二剩余比例;
在所述当前第一剩余比例小于预设剩余比例的情况下,将所述第一数据块对应的所述相似指纹值组从所述相似指纹库内删除;
在所述当前第二剩余比例小于所述预设剩余比例的情况下,将所述第二数据块对应的所述相似指纹值组从所述相似指纹库内删除。
10.根据权利要求2所述的数据的缩减处理方法,其特征在于,在所述重删指纹库内存在与多个所述数据块对应的指纹值相同的指纹值时,还包括:
获取所述当前写入数据对应的输入输出请求;
保存相同的指纹值对应的数据块的指针引用和对应写入地址的引用;
响应主机完成对应的所述输入输出请求。
11.根据权利要求2所述的数据的缩减处理方法,其特征在于,在所述获取重删指纹库内不存在的写入数据块之后,在所述根据合并规则对所述写入数据块进行拼凑处理得到第一数据块之前,还包括:
获取所述写入数据块对应的输入输出请求;
标记所述写入数据块的数据和所述输入输出请求保存至预设的存储空间,并进入至所述根据合并规则对所述写入数据块进行拼凑处理得到第一数据块的步骤。
12.根据权利要求11所述的数据的缩减处理方法,其特征在于,在将所述第一数据块的所述相似指纹值组加入所述相似指纹库内之后,在所述相似指纹库内根据所述第一数据块与其他数据块对应的相似指纹值组进行相似度处理确定所述第一数据块与所述其他数据块内相同的目标数据块之前,还包括:
保存所述第一数据块的指针引用和对应写入地址的引用;
响应主机完成对应的所述输入输出请求。
13.根据权利要求8所述的数据的缩减处理方法,其特征在于,在所述将所述另一个子数据块的指纹值和所述映射关系加入至所述重删指纹库之后,还包括:
获取所述其中一个子数据块的指针引用和对应写入地址的引用;
将所述其中一个子数据块的指针引用和对应写入地址的引用和所述另一个子数据块建立新的引用关系;
将所述新的引用关系在所述重删指纹库内进行更新以得到更新后的所述重删指纹库。
14.一种数据的缩减处理装置,其特征在于,包括:
获取模块,用于获取重删指纹库内不存在的写入数据块,其中,所述写入数据块的数量为多个;
拼凑和特征提取处理模块,用于根据合并规则对所述写入数据块进行拼凑处理得到第一数据块;将所述第一数据块进行特征提取处理确定对应的相似指纹值组以加入相似指纹库内;
相似度处理模块,用于在所述相似指纹库内根据所述第一数据块与其他数据块对应的相似指纹值组进行相似度处理确定所述第一数据块与所述其他数据块内相同的目标数据块,其中,所述第一数据块和所述其他数据块对应的相似指纹值组包含特征值成员,所述特征值成员基于特征提取处理后确定得到;
加入模块,用于将所述目标数据块的指纹值加入所述重删指纹库以完成所述写入数据块的缩减处理;
其中,所述相似度处理的具体处理过程,包括:
获取与所述第一数据块进行两两相似度处理的所述其他数据块内对应的第二数据块;
将所述第一数据块的所述相似指纹值组与所述第二数据块的所述相似指纹值组分别进行交集处理和并集处理对应得到第一交集组和第一并集组;
将所述第一交集组和所述第一并集组进行除法处理确定所述第一数据块与所述第二数据块的相似度;
或者,获取与所述第一数据块进行两两相似度处理的所述其他数据块内对应的第二数据块;
基于所述第一数据块的所述相似指纹值组与所述第二数据块的所述相似指纹值组对应的特征值比较以确定所述目标数据块。
15.一种数据的缩减处理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至13任一项所述的数据的缩减处理方法的步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至13任一项所述的数据的缩减处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311669185.0A CN117369731B (zh) | 2023-12-07 | 2023-12-07 | 一种数据的缩减处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311669185.0A CN117369731B (zh) | 2023-12-07 | 2023-12-07 | 一种数据的缩减处理方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117369731A CN117369731A (zh) | 2024-01-09 |
CN117369731B true CN117369731B (zh) | 2024-02-27 |
Family
ID=89406310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311669185.0A Active CN117369731B (zh) | 2023-12-07 | 2023-12-07 | 一种数据的缩减处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117369731B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117931092B (zh) * | 2024-03-20 | 2024-05-24 | 苏州元脑智能科技有限公司 | 数据重删调整方法、装置、设备、存储系统及存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102323958A (zh) * | 2011-10-27 | 2012-01-18 | 上海文广互动电视有限公司 | 重复数据删除方法 |
CN102831222A (zh) * | 2012-08-24 | 2012-12-19 | 华中科技大学 | 一种基于重复数据删除的差量压缩方法 |
CN102982180A (zh) * | 2012-12-18 | 2013-03-20 | 华为技术有限公司 | 数据存储方法及设备 |
US10037337B1 (en) * | 2015-09-14 | 2018-07-31 | Cohesity, Inc. | Global deduplication |
CN108415669A (zh) * | 2018-03-15 | 2018-08-17 | 深信服科技股份有限公司 | 存储系统的数据去重方法及装置、计算机装置及存储介质 |
CN109800218A (zh) * | 2019-01-04 | 2019-05-24 | 平安科技(深圳)有限公司 | 分布式存储系统、存储节点设备和数据去重方法 |
CN110941605A (zh) * | 2019-11-07 | 2020-03-31 | 北京浪潮数据技术有限公司 | 重复数据的在线删除方法、装置及可读存储介质 |
CN111198857A (zh) * | 2018-10-31 | 2020-05-26 | 深信服科技股份有限公司 | 一种基于全闪存阵列的数据压缩方法及系统 |
CN111324750A (zh) * | 2020-02-29 | 2020-06-23 | 上海爱数信息技术股份有限公司 | 一种大规模文本相似度计算及文本查重方法 |
CN111881065A (zh) * | 2020-07-30 | 2020-11-03 | 北京浪潮数据技术有限公司 | 数据重删操作的物理地址处理方法、装置、设备及介质 |
CN112286457A (zh) * | 2020-10-28 | 2021-01-29 | 杭州宏杉科技股份有限公司 | 对象重删方法、装置、电子设备及机器可读存储介质 |
CN112544038A (zh) * | 2019-07-22 | 2021-03-23 | 华为技术有限公司 | 存储系统数据压缩的方法、装置、设备及可读存储介质 |
CN113672170A (zh) * | 2021-07-23 | 2021-11-19 | 复旦大学附属肿瘤医院 | 一种冗余数据标记及去除方法 |
CN114442931A (zh) * | 2021-12-23 | 2022-05-06 | 天翼云科技有限公司 | 一种数据重删方法及系统、电子设备、存储介质 |
CN115981575A (zh) * | 2023-03-20 | 2023-04-18 | 北京和升达信息安全技术有限公司 | 一种分布式网络数据的销毁方法、系统、装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11144227B2 (en) * | 2017-09-07 | 2021-10-12 | Vmware, Inc. | Content-based post-process data deduplication |
-
2023
- 2023-12-07 CN CN202311669185.0A patent/CN117369731B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102323958A (zh) * | 2011-10-27 | 2012-01-18 | 上海文广互动电视有限公司 | 重复数据删除方法 |
CN102831222A (zh) * | 2012-08-24 | 2012-12-19 | 华中科技大学 | 一种基于重复数据删除的差量压缩方法 |
CN102982180A (zh) * | 2012-12-18 | 2013-03-20 | 华为技术有限公司 | 数据存储方法及设备 |
US10037337B1 (en) * | 2015-09-14 | 2018-07-31 | Cohesity, Inc. | Global deduplication |
CN108415669A (zh) * | 2018-03-15 | 2018-08-17 | 深信服科技股份有限公司 | 存储系统的数据去重方法及装置、计算机装置及存储介质 |
CN111198857A (zh) * | 2018-10-31 | 2020-05-26 | 深信服科技股份有限公司 | 一种基于全闪存阵列的数据压缩方法及系统 |
CN109800218A (zh) * | 2019-01-04 | 2019-05-24 | 平安科技(深圳)有限公司 | 分布式存储系统、存储节点设备和数据去重方法 |
CN112544038A (zh) * | 2019-07-22 | 2021-03-23 | 华为技术有限公司 | 存储系统数据压缩的方法、装置、设备及可读存储介质 |
CN110941605A (zh) * | 2019-11-07 | 2020-03-31 | 北京浪潮数据技术有限公司 | 重复数据的在线删除方法、装置及可读存储介质 |
CN111324750A (zh) * | 2020-02-29 | 2020-06-23 | 上海爱数信息技术股份有限公司 | 一种大规模文本相似度计算及文本查重方法 |
CN111881065A (zh) * | 2020-07-30 | 2020-11-03 | 北京浪潮数据技术有限公司 | 数据重删操作的物理地址处理方法、装置、设备及介质 |
CN112286457A (zh) * | 2020-10-28 | 2021-01-29 | 杭州宏杉科技股份有限公司 | 对象重删方法、装置、电子设备及机器可读存储介质 |
CN113672170A (zh) * | 2021-07-23 | 2021-11-19 | 复旦大学附属肿瘤医院 | 一种冗余数据标记及去除方法 |
CN114442931A (zh) * | 2021-12-23 | 2022-05-06 | 天翼云科技有限公司 | 一种数据重删方法及系统、电子设备、存储介质 |
CN115981575A (zh) * | 2023-03-20 | 2023-04-18 | 北京和升达信息安全技术有限公司 | 一种分布式网络数据的销毁方法、系统、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117369731A (zh) | 2024-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109254733B (zh) | 用于存储数据的方法、装置和系统 | |
CN107038206B (zh) | Lsm树的建立方法、lsm树的数据读取方法和服务器 | |
US9317519B2 (en) | Storage system for eliminating duplicated data | |
CN103020255B (zh) | 分级存储方法和装置 | |
CN117369731B (zh) | 一种数据的缩减处理方法、装置、设备及介质 | |
KR20160003682A (ko) | 플레이스홀더에 의한 하이드레이션 및 디하이드레이션 기법 | |
US8850148B2 (en) | Data copy management for faster reads | |
US10983909B2 (en) | Trading off cache space and write amplification for Bε-trees | |
US20220253222A1 (en) | Data reduction method, apparatus, computing device, and storage medium | |
CN115114232A (zh) | 一种历史版本对象列举方法、装置及其介质 | |
US9213759B2 (en) | System, apparatus, and method for executing a query including boolean and conditional expressions | |
US20180011897A1 (en) | Data processing method having structure of cache index specified to transaction in mobile environment dbms | |
CN113836116A (zh) | 数据迁移方法、装置、电子设备及可读存储介质 | |
CN108205559B (zh) | 一种数据管理方法及其设备 | |
CN116226681A (zh) | 一种文本相似性判定方法、装置、计算机设备和存储介质 | |
US9507794B2 (en) | Method and apparatus for distributed processing of file | |
CN115576947A (zh) | 一种数据管理方法、装置、组合库、电子设备及存储介质 | |
CN107291541A (zh) | 面向Key‑Value系统的compaction粗粒度进程级并行优化方法及系统 | |
US10997144B2 (en) | Reducing write amplification in buffer trees | |
CN114443583A (zh) | 一种碎片空间整理方法、装置、设备及存储介质 | |
CN111143232B (zh) | 用于存储元数据的方法、设备和计算机可读介质 | |
CN113805787A (zh) | 数据写入方法、装置、设备及存储介质 | |
CN112000289A (zh) | 全闪存储服务器系统数据管理方法及相关组件 | |
CN105302495B (zh) | 数据存储方法及装置 | |
CN113806249B (zh) | 一种对象存储有序列举方法、装置、终端及存储介质 |
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 |