一种冗余数据标记及去除方法

文档序号:1860766 发布日期:2021-11-19 浏览:3次 >En<

阅读说明:本技术 一种冗余数据标记及去除方法 (Redundant data marking and removing method ) 是由 朱敏俊 王奕 黄宗浩 李渊 张晖 厉励 张逸鲁 高宇 戴梅 黄麒玮 蔡云飞 曹 于 2021-07-23 设计创作,主要内容包括:本发明涉及一种冗余数据标记及去除方法,属于数据存储技术领域。所述方法包括:写入文件时,对所述文件进行动态可变长分割,形成不同长度的多个数据块;对所述多个数据块进行分组,得到数据块组,并计算每个数据块以及所述数据块组的布隆值;对所述数据块的布隆值进行处理,形成所述数据块的特征值;判断所述数据块的特征值是否存在于元数据库中;若所述元数据库中已存在所述数据块的特征值,则再次计算所述数据块的布隆值,将其与元数据库中各个数据块组的布隆值进行比较,定位所述数据块的相似组,确定冗余数据块;标记所述冗余数据块,并根据预定的策略删除或保留所述冗余数据块。本方法具有冗余识别率高、高可靠性、高鲁棒性、资源占用少的优点。(The invention relates to a redundant data marking and removing method, and belongs to the technical field of data storage. The method comprises the following steps: when a file is written, the file is subjected to dynamic variable-length segmentation to form a plurality of data blocks with different lengths; grouping the data blocks to obtain data block groups, and calculating bloom values of each data block and the data block groups; processing the bloom value of the data block to form a characteristic value of the data block; judging whether the characteristic value of the data block exists in a metadata base or not; if the characteristic values of the data blocks exist in the metadata base, calculating the bloom values of the data blocks again, comparing the bloom values with the bloom values of all data block groups in the metadata base, positioning similar groups of the data blocks, and determining redundant data blocks; marking the redundant data blocks and deleting or retaining the redundant data blocks according to a predetermined strategy. The method has the advantages of high redundancy recognition rate, high reliability, high robustness and less resource occupation.)

一种冗余数据标记及去除方法

技术领域

本发明属于数据存储技术领域,尤其涉及一种冗余数据标记及去除方法。

背景技术

冗余数据标记(Duplication-mark)是一种数据缩减技术,旨在减少存储系统中使用的存储容量。它通过查找不同文件中不同位置的冗余可变大小数据块,标记及删除数据存储系统中的冗余数据,只保留必要的一份或几份,从而消除过度的冗余数据。冗余数据标记技术可以很大程度上减少对物理存储空间的消耗,也提高了检索等服务的效率,还可以节省传输带宽,允许用户的不同站点之间进行高效、经济的备份数据复制。

冗余数据标记及去除技术根据数据处理的阶段不同,可分为预处理(Pre-Process)、在线处理(Online-Process)与后处理(Post-Process)。

预处理方式的冗余数据标记及去除是在数据写入系统前,进行冗余度检测,标记或删除冗余数据。预处理可有效减轻后端存储系统的负载压力,有效避免不必要的数据冗余写入。但同时也增加了数据写入的延时,降低了系统的响应速度。

在线处理方式的冗余数据删除方法是在数据写入磁盘的同时,抽取一定的特征值,执行冗余数据标记算法。在线处理的冗余数据删除在一定程度上减少了数据量,但同时也存在一个问题,去重操作本身会降低数据吞吐速率,造成业务性能的降低。

后处理方式的冗余数据删除方法是在数据写到磁盘后再执行冗余数据删除。数据先被写入到临时的磁盘空间,之后再开始冗余数据删除,最后将经过冗余数据删除的数据写入磁盘。由于冗余数据删除是数据写入磁盘后再在单独的存储设备上执行的,因此一般对正常业务处理几乎不产生影响。但由于目前的后处理方式不能对系统资源的占用进行动态调整,也不具备优先保障在线业务性能的功能,当系统占用率过大时,还是会对系统在线业务造成影响。

冗余数据标记及去除技术根据冗余识别目标的粒度可以分为文件级、块级、字节级。

文件级别的冗余数据标记及去除以文件为基本识别单元来识别和去除冗余数据。该方式的优点是识别算法相对简单,工程上容易实现,识别效率高速度快,缺点是针对场景有限,对于大文件的场景,冗余识别率很低。

块级的冗余数据标记及去除按照存储系统的最小块为识别单元,进行冗余检测。该方法的优点是操作系统底层库对识别算法的支持比较完善,且计算速度较快、对数据变化敏感,适用于动态文件检测。

块级冗余数据标记及去除按照分块方式的不同又分为定长分块与变长分块方式。

请参阅图1,定长分块方式将文件划分为固定长度的块,但此方法对数据的插入和删除过于敏感,实际应用中动态数据的冗余度随时间变化较大,冗余识别的时效性明显,识别的效果比较有限。

字节级的冗余数据标记及去除从以字节为基本单元查找和标记冗余的数据,一般通过差异标记策略生成差异部分内容。字节级去重的优点是去重率较高,缺点是去重效率低、速度慢,且差异内容占内容比例较大,也会占用系统大量存储资源,通常在后去冗余方法中使用。

另外,考虑到分布式存储系统的广泛使用,传统冗余数据识别方法在性能和准确率都无法适用,存在一定缺陷。

发明内容

本发明的主要目的在于克服现有技术的缺点与不足,提供一种冗余数据标记及去除方法,可根据系统状态,自适应的调整识别算法及去重操作对系统资源的影响,并可设定冗余标记颗粒度及优先级,优先保障系统正常业务的资源使用,将对系统正常服务的影响降至最低,具有冗余识别率高、高可靠性、高鲁棒性、资源占用少的优点。

根据本发明的一个方面,本发明提供了一种冗余数据标记及去除方法,所述方法包括以下步骤:

写入文件时,对所述文件进行动态可变长分割,形成不同长度的多个数据块;

对所述多个数据块进行分组,得到数据块组,并计算每个数据块以及所述数据块组的布隆值;

对所述数据块的布隆值进行处理,形成所述数据块的特征值;

判断所述数据块的特征值是否存在于元数据库中;

若所述元数据库中已存在所述数据块的特征值,则再次计算所述数据块的布隆值,将其与元数据库中各个数据块组的布隆值进行比较,定位所述数据块的相似组,确定冗余数据块;

标记所述冗余数据块,并根据预定的策略删除或保留所述冗余数据块。

优选地,若所述元数据库中不存在所述数据块的特征值,则将所述数据块写入某一数据块组中,同时将所述数据块的特征值作为所述数据块的索引保存在元数据库中。

优选地,采用内存自动映射的特征图技术,根据文件的属性对所述文件进行动态可变长分割。

优选地,当计算所述数据块的特征值时,通过滑动窗口,根据所述数据块的原特征值,特征值滑入值和滑出值,计算滑动区间的数据特征值。

优选地,所述对所述多个数据块进行分组,得到数据块组,包括:

对数据块的特征值进行提取,将获取到的所述数据块的特征值与元数据库中数据块的特征值进行相似性拟合,将所述数据块归类到不同的相似组中,在每个相似组中,建立相似组文件数据块索引。

优选地,所述将其与元数据库中各个数据块组的布隆值进行比较,定位所述数据块的相似组,包括:

根据布隆值计算所述数据块与元数据库中数据块组之间的相似值,若所述相似值超过系统设定的相似度阈值,则将当前文件数据块的抽样数据对应的数据块组作为所述数据块的相似组。

优选地,动态调整所述相似度阈值。

优选地,每个相似组中,各文件的抽样特征值构成了该组的特征值索引,同一相似组中的所有数据块的特征值保存在该分组的元数据中。

优选地,所述元数据库存储有数据块和数据块组的相关属性信息,包含读写时间、冗余标记、对象大小、存放路径。

优选地,当系统收到对目标文件的操作请求时,执行以下处理步骤:

判断目标文件是否为经过冗余标记的文件;

若所述目标文件未经过冗余标记操作,则直接对所述目标文件执行所请求的操作;

若所述目标文件经过冗余标记操作,且有冗余内容,则获取所述目标文件的元文件数据,确定操作请求的目标数据块组及目标数据块的路径;

执行并完成对所述目标文件所请求的操作。

有益效果:本发明提供的冗余数据标记及去除方法,优先保障系统正常业务服务的资源使用,将对系统正常服务的影响降至最低,具有冗余识别率高、高可靠性、高鲁棒性、资源占用少的优点。

通过参照以下附图及对本发明的

具体实施方式

的详细描述,本发明的特征及优点将会变得清楚。

附图说明

图1是现有技术的定长分块技术原理图;

图2为本发明的一种冗余数据标记及去除方法的流程图;

图3为本发明的变长分块技术原理图。

具体实施方式

下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图2为本发明的一种冗余数据标记及去除方法的流程图。如图2所示,本发明提供了一种冗余数据标记及去除方法,所述方法包括以下步骤:

写入文件时,对所述文件进行动态可变长分割,形成不同长度的多个数据块;

对所述多个数据块进行分组,得到数据块组,并计算每个数据块以及所述数据块组的布隆值;

对所述数据块的布隆值进行处理,形成所述数据块的特征值;

判断所述数据块的特征值是否存在于元数据库中;

若所述元数据库中已存在所述数据块的特征值,则再次计算所述数据块的布隆值,将其与元数据库中各个数据块组的布隆值进行比较,定位所述数据块的相似组,确定冗余数据块;

标记所述冗余数据块,并根据预定的策略删除或保留所述冗余数据块。

优选地,若所述元数据库中不存在所述数据块的特征值,则将所述数据块写入某一数据块组中,同时将所述数据块的特征值作为所述数据块的索引保存在元数据库中。

具体地,首先进行系统环境识别和参数设定,然后识别文件的类型,计算数据块的布隆值,在元数据库中查询是否已存在数据块的布隆值,若不存在,则表明该数据块为非冗余数据块,将其写入系统中的某一数据块组中,若在元数据库中查询已存在数据块的布隆值,则表明该数据块为冗余数据块,然后定位冗余数据块的相似组,生成标记数据,并存储为元数据,最后生成数据库记录或日志记录备查。

其中,对布隆值进行处理,包括利用滤波器对布隆值进行过滤。示例性地,滤波器可以是布隆过滤器,布隆过滤器由一个长的二进制向量和若干哈希函数组成,可用于快速检索一个元素是否属于一个集合。

当一个元素加入布隆过滤器中的时候,会进行如下操作:使用布隆过滤器中的哈希函数对元素值进行计算,得到哈希值,有几个哈希函数得到几个哈希值。根据得到的哈希值,在位数组中把对应下标的值置为1。

当需要判断一个元素是否存在于布隆过滤器的时候,会进行如下操作:对给定元素再次进行相同的哈希计算,得到哈希值之后判断位数组中的每个元素是否都为1,如果值都为1,那么说明这个元素在布隆过滤器中,如果存在一个值不为1,说明该元素不在布隆过滤器中。

优选地,采用内存自动映射的特征图技术,根据文件的属性对所述文件进行动态可变长分割。

参见图3,上述可变长分块采用内存自动映射的特征图技术,根据文件对象的属性进行动态可变长切分,该技术对文件对象的变化不敏感,文件对象增加或删除部分数据只会影响到部分数据块,且通过动态调整特征范围,将受影响数据块再次分割,使得受影响数据块最小化。

优选地,当计算所述数据块的特征值时,通过滑动窗口,根据所述数据块的原特征值,特征值滑入值和滑出值,计算滑动区间的数据特征值。

当计算上述数据块的特征值时,通过所述文件对象中原特征值,特征值滑入值和滑出值,可快速计算所述滑动区间的数据特征值,提高了冗余数据标记操作的执行效率。

优选地,所述对所述多个数据块进行分组,得到数据块组,包括:

对数据块的特征值进行提取,将获取到的所述数据块的特征值与元数据库中数据块的特征值进行相似性拟合,将所述数据块归类到不同的相似组中,在每个相似组中,建立相似组文件数据块索引。

本方法通过特定的算法对文件数据块的特征值进行提取,将获取到的特征值与元索引中文件数据块的特征值进行相似性拟合,将文件数据块归类到不同的相似组中,在每个相似组中,建立相似组文件数据块索引,以提高查询速度。

优选地,所述将其与元数据库中各个数据块组的布隆值进行比较,定位所述数据块的相似组,包括:

根据布隆值计算所述数据块与元数据库中数据块组之间的相似值,若所述相似值超过系统设定的相似度阈值,则将当前文件数据块的抽样数据对应的数据块组作为所述数据块的相似组。

若文件数据块的相似值超过系统设定的阈值,则将当前文件数据块的抽样数据对应的数据组为文件的相似组。

进一步地,通过比较文件的布隆值和元索引中相似组的布隆值,定位到冗余数据块并进行冗余标记,并更新相应的元数据。可以有效降低识别冗余数据过程中的数据查询时间及查询频次,与传统的冗余删除,大大提升了冗余数据标记及去除的性能。

优选地,动态调整所述相似度阈值。每个相似组中,各文件的抽样特征值构成了该组的特征值索引,同一相似组中的所有数据块的特征值保存在该分组的元数据中。

优选地,所述元数据库存储有数据块和数据块组的相关属性信息,包含读写时间、冗余标记、对象大小、存放路径。

优选地,当系统收到对目标文件的操作请求时,执行以下处理步骤:

判断目标文件是否为经过冗余标记的文件;

若所述目标文件未经过冗余标记操作,则直接对所述目标文件执行所请求的操作;

若所述目标文件经过冗余标记操作,且有冗余内容,则获取所述目标文件的元文件数据,确定操作请求的目标数据块组及目标数据块的路径;

执行并完成对所述目标文件所请求的操作。

本发明的冗余数据标记及去除技术通过特定的算法对文件数据块的特征值进行提取,将获取到的特征值与元索引中文件数据块的特征值进行相似性拟合。将文件数据块归类到不同的相似组中。在每个相似组中,建立相似组文件数据块索引,以提高查询速度根据文件的相似度,可将冗余标记后的文件分成不同的相似组。每个相似性组中,各文件的抽样特征值构成了该组的特征值索引。同一相似组中的所有文件分块特征值保存在该分组的元数据中。

在系统需要进行文件写操作请求时,先对文件的特征值进行提取,若文件数据块的相似值超过系统设定的阈值,则将当前文件数据块的抽样数据对应的数据组为文件的相似组。进一步通过比较文件的布隆值和元索引中相似组的布隆值,定位到冗余数据块并进行冗余标记,并更新相应的元数据。

本实施例有效降低了识别冗余数据过程中的数据查询时间及查询频次,与传统的冗余删除,大大提升了冗余数据标记及去除的性能。

本实施例的冗余数据标记及去除功能,根据系统业务特点和规模,即可部署在管理节点上,使得效率更好,优化收敛时间更短,也可在每个分布式集群节点上单独部署,提高系统可靠性,防止单点故障,部署方式灵活。

通常用冗余数据标记比率(简称重标比)来衡量和比较冗余数据标记的效果。若用冗余标记前的有效数据总量的大小,用冗余标记后的有效数据总量大小。这两个数据大小的比值即是冗余数据重标比。

本实施例可根据系统数据量、系统规模、系统文件特性、系统IO特性等特性,动态调节冗余数据标记技术的运行参数,灵活运用冗余数据标记技术。

本实施例可应用于不同的场景,例如:在大文件通过页面服务上传到服务器时,可通过检查每个分片的特征值,进行冗余数据标记,冗余数据标记技术的优点就非常明显,因为已上传的文件无需冗余上传,直接返回给用户已上传的回传信息即可,将会非常高效便捷。

定期备份某数据,在将备份数据打包后,在请求写入系统时,冗余数据标记及去除的技术优势明显,只写入未备份过的数据,从而实现自动增量备份。而传统的数据备份业务的不同备份对象之间的数据差异通常很小,可能只有2%-3%左右,尽管高变化率也会存在,但发生的概率通常非常小。

在另一种应用场景下,例如:保存音视频或图片的素材库,冗余数据标记及去除技术所引入的动态分块技术的表现将退化成文件级颗粒度的冗余识别及标记。因为可以匹配到的冗余数据段概率极少,且数据快级连续性较低,将导致性能退化,结果表现为较低的重标比。

本实施例的冗余数据标记基于快速预处理策略和慢速后处理相结合的冗余数据标记技术,对用户和业务服务无感知,完全透明。

首先,用户可通过设置自定义的标记轮训周期,调节标记组的特征相似度阈值,动态对冗余数据标记性能进行调节,动态调整对系统资源的占用,将对正常服务的影响调整至最小,以达到最优。

其次,通过采用可变长分块技术,利用了内存映射滑动分块技术以及高效的DSMT算法及ATMT算法,在运算效率上优于传统冗余数据删除技术。

此外,冗余数据标记技术使用比较领先的文件特征值提取技术对冗余数据进行过滤,这种技术通过特定的算法对文件数据块的特征值进行提取,将获取到的特征值与元索引中文件数据块的特征值进行相似性拟合。将文件数据块归类到不同的相似组中。

最后,冗余数据标记技术在每个相似组中,建立相似组文件数据块索引,以提高查询速度。

本发明将冗余数据标记技术与分布式集群技术相结合,提供了集群级的冗余性和可靠性。在多节点的集群环境中,只要系统中任意节点存在,则冗余数据标记技术即可保持运行,可有效确保服务系统的鲁棒性和连续性。

本发明的冗余数据标记技术通过识别数据系统中的冗余数据,用户可从存储空间的性价比和效率上获益。这将直接体现为初期硬件采购成本的有效降低,同时,还可有效控制数据的爆发性增长,实现后续的系统弹性扩容。同时也会带来管理资源的降低、空间场地的降低、供电配电压力的减小以及制冷、消防及维护管理等成本的降低。

本发明中的冗余数据删除技术应用于备份应用场景时,去重效果极为明显。这种应用场景中,备份服务器将用户数据备份到NAS存储空间中,通过一定的备份策略,进行全备、增备,数据冗余度高。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:分布式对象存储方法、装置、系统和元数据服务器

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类